Advertisement
PrinceOfCookies

Untitled

Oct 26th, 2023
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. const {
  2. SlashCommandBuilder,
  3. version,
  4. EmbedBuilder,
  5. PermissionFlagsBits,
  6. GuildBan,
  7. } = require("discord.js");
  8.  
  9. module.exports = {
  10. data: new SlashCommandBuilder()
  11. .setName("ban")
  12. .setDescription("snowyy command")
  13. .setDefaultMemberPermissions(PermissionFlagsBits.BanMembers)
  14. .addUserOption((option) =>
  15. option.setName("user").setDescription("User to ban").setRequired(true)
  16. )
  17. .addStringOption((option) =>
  18. option
  19. .setName("reason")
  20. .setDescription("Reason for ban")
  21. .setRequired(true)
  22. ),
  23. async execute(interaction, client) {
  24. let { options } = interaction;
  25.  
  26. let user = options.getUser("user");
  27. let reason = options.getString("reason");
  28.  
  29. let userr = interaction.guild.members.cache.get(user.id);
  30. let uss = interaction.guild.members.cache.get(interaction.user.id);
  31.  
  32. // Get the member by the user
  33. let member = client.members.get(user.id)
  34.  
  35. if (!userr) {
  36. await member.ban({
  37. reason: `${reason} - Banned by ${interaction.user.tag} (${interaction.user.id})`,
  38. });
  39.  
  40. let embed = new EmbedBuilder()
  41. .setTitle("Banned (Out Of Server)")
  42. .setColor("RED")
  43. .setTimestamp()
  44. .setThumbnail(option.user.displayAvatarURL({ dynamic: true }))
  45. .addFields(
  46. { name: "User", value: `${user.tag} (${user.id})` },
  47. { name: "Reason", value: options.getString("reason") }
  48. )
  49. .setFooter({
  50. text: `Banned by: ${interaction.user.tag} (${interaction.user.id})}`,
  51. });
  52.  
  53. return interaction.reply({
  54. embeds: [embed],
  55. });
  56. }
  57.  
  58. //Check if the user has the same role or a higher role than the user they are trying to ban
  59. if (uss.roles.highest.position <= userr.roles.highest.position) {
  60. return interaction.reply({
  61. content: "You cannot ban this user",
  62. });
  63. } else {
  64. await member.ban({
  65. reason: `${reason} - Banned by ${interaction.user.tag} (${interaction.user.id})`,
  66. });
  67.  
  68. let embed = new EmbedBuilder()
  69. .setTitle("Banned")
  70. .setColor("RED")
  71. .setTimestamp()
  72. .setThumbnail(option.user.displayAvatarURL({ dynamic: true }))
  73. .addFields(
  74. { name: "User", value: `${user.tag} (${user.id})` },
  75. { name: "Reason", value: options.getString("reason") }
  76. )
  77. .setFooter({
  78. text: `Banned by: ${interaction.user.tag} (${interaction.user.id})}`,
  79. });
  80.  
  81. await interaction.reply({
  82. embeds: [embed],
  83. });
  84. }
  85. },
  86. };
  87.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement