我已经为我的机器人创建了一个 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);
}
}
}
}
请帮帮我!谢谢!
答案 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)
}