Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const {
- SlashCommandBuilder,
- version,
- EmbedBuilder,
- PermissionFlagsBits,
- GuildBan,
- } = require("discord.js");
- module.exports = {
- data: new SlashCommandBuilder()
- .setName("ban")
- .setDescription("snowyy command")
- .setDefaultMemberPermissions(PermissionFlagsBits.BanMembers)
- .addUserOption((option) =>
- option.setName("user").setDescription("User to ban").setRequired(true)
- )
- .addStringOption((option) =>
- option
- .setName("reason")
- .setDescription("Reason for ban")
- .setRequired(true)
- ),
- async execute(interaction, client) {
- let { options } = interaction;
- let user = options.getUser("user");
- let reason = options.getString("reason");
- let userr = interaction.guild.members.cache.get(user.id);
- let uss = interaction.guild.members.cache.get(interaction.user.id);
- // Get the member by the user
- let member = client.members.get(user.id)
- if (!userr) {
- await member.ban({
- reason: `${reason} - Banned by ${interaction.user.tag} (${interaction.user.id})`,
- });
- let embed = new EmbedBuilder()
- .setTitle("Banned (Out Of Server)")
- .setColor("RED")
- .setTimestamp()
- .setThumbnail(option.user.displayAvatarURL({ dynamic: true }))
- .addFields(
- { name: "User", value: `${user.tag} (${user.id})` },
- { name: "Reason", value: options.getString("reason") }
- )
- .setFooter({
- text: `Banned by: ${interaction.user.tag} (${interaction.user.id})}`,
- });
- return interaction.reply({
- embeds: [embed],
- });
- }
- //Check if the user has the same role or a higher role than the user they are trying to ban
- if (uss.roles.highest.position <= userr.roles.highest.position) {
- return interaction.reply({
- content: "You cannot ban this user",
- });
- } else {
- await member.ban({
- reason: `${reason} - Banned by ${interaction.user.tag} (${interaction.user.id})`,
- });
- let embed = new EmbedBuilder()
- .setTitle("Banned")
- .setColor("RED")
- .setTimestamp()
- .setThumbnail(option.user.displayAvatarURL({ dynamic: true }))
- .addFields(
- { name: "User", value: `${user.tag} (${user.id})` },
- { name: "Reason", value: options.getString("reason") }
- )
- .setFooter({
- text: `Banned by: ${interaction.user.tag} (${interaction.user.id})}`,
- });
- await interaction.reply({
- embeds: [embed],
- });
- }
- },
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement