我需要我的discord机器人的kick命令,但它只能用于主持人和管理员。有没有人有更多的编码可以使之成为mod或管理员才能使用?
我对kick命令的编码:
client.on('message', (message) => {
if (!message.guild) return;
if (message.content.startsWith('!kick')) {
const user = message.mentions.users.first();
if (user) {
const member = message.guild.member(user);
if (member) {
member
.kick('Optional reason that will display in the audit logs')
.then(() => {
message.reply(`Successfully kicked ${user.tag}`);
})
.catch((err) => {
message.reply('I was unable to kick the member');
console.error(err);
});
} else {
message.reply("That user isn't in this guild!");
}
} else {
message.reply("You didn't mention the user to kick!");
}
}
});
答案 0 :(得分:1)
您可以使用GuildMember.hasPermission
来检查用户是否具有一定的权限。您可以看到有效的权限标志here,尽管我认为在这种情况下您将要使用KICK_MEMBERS
。
if (!message.member.hasPermission('KICK_MEMBERS'))
return message.channel.send('Insufficient Permissions');
您还可以通过某人的角色来限制访问权限,我敦促您阅读this existing answer