【发布时间】:2021-07-08 07:31:31
【问题描述】:
所以我目前正在创建kick command,但遇到了问题:
所有成员都可以踢其他成员,即使他们具有更高的角色,例如"normal" 用户可以踢admin 或mod。但我希望机器人返回 message 之类的
“你不能踢同等或更高角色的成员!”
这是我当前的代码:
const { MessageEmbed, User } = require('discord.js');
const config = require('../../configs/config.json');
module.exports = {
config: {
name: "kick",
},
run: async (client, message, args) => {
if (!message.member.hasPermission('KICK_MEMBERS', 'ADMINISTRATOR')) {
return message.channel.send({
embed: {
title: 'You are unable to kick members',
color: config.embedcolor
}
})
}
if (!args[0]) {
return message.channel.send({
embed: {
title: 'PLease mention a user',
color: config.embedcolor
}
})
}
if (message.member.permissions.has("MANAGE-MESSAGES", "ADMINISTRATOR"))
return message.channel.send({
embed: {
title: "I can't kick staff members!",
color: config.embedcolor
}
})
const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
try {
await member.kick();
await message.channel.send({
embed: {
title: `${member} has been kicked!`,
color: config.embedcolor
}
})
} catch (e) {
return message.channel.send({
embed: {
title: `User isn't in this server!`,
color: config.embedcolor
}
})
}
}
}
【问题讨论】:
标签: javascript discord.js