踢命令 |不和谐.js

时间:2021-04-03 17:20:11

标签: javascript discord discord.js command bots

我已经为我的机器人创建了一个 kick 命令,一切正常,但是每个人都可以使用它。我希望只有拥有权限的人才能使用此命令。有没有办法解决这个问题? 这是我的代码

const Discord = require('discord.js');
const prefix = require('../config.json');

module.exports = {
  name: 'kick',
  description: 'kick',
  aliases: ['kick'],
  execute: async (client, message, args) => {


    if (message.content.startsWith('m!kick')) {
  message.channel.send(embed);
    const user = message.mentions.users.first();
    if (user) {
      const member = message.guild.members.resolve(user);
      if (member) {
        member
          .kick({
            reason: 'They were bad!',
          })
          .then(() => {
            const embed = new Discord.MessageEmbed()
            .setColor('GREEN')
            .setTitle(`**Successfully kicked ${user.tag}.**`,)
            .setFooter(`This feature is still in beta, so there can be issues.`)

            message.channel.send(embed);
          })
          .catch(err => {
            const embed = new Discord.MessageEmbed()
            .setColor('RED')
            .setTitle(`**I can\'t kick this member!**`,)
            .setFooter(`This feature is still in beta, so there can be issues.`)

            message.channel.send(embed);
            console.error(err);
          });
      } else {
        const embed = new Discord.MessageEmbed()
        .setColor('RED')
        .setTitle(`**There is no user with this username in this server!**`,)
        .setFooter(`This feature is still in beta, so there can be issues.`)

        message.channel.send(embed);
      }
    } else {
        const embed = new Discord.MessageEmbed()
        .setColor('RED')
        .setTitle(`**Please mention someone.**`,)
        .setFooter(`This feature is still in beta, so there can be issues.`)
    
      message.channel.send(embed);
    }
  }
  }
}

请帮帮我!谢谢!

1 个答案:

答案 0 :(得分:1)

使用:

if (!message.member.hasPermission('KICK_MEMBERS')) { 
    const embed = new MessageEmbed
    embed.setTitle("You don't have the `kick_members` permission!")
    embed.setColor("RED")
    return message.channel.send(embed)
    }