#discord.js
#discord.js
Вопрос:
мне нужна помощь с этим кодом от моего друга, использующего Discord.js . Кажется, я не совсем могу это закодировать, чего я хотел, так это :
Когда роль пользователя / участника выше, чем у бота, бот отправит сообщение о том, что бот не может выгнать участника с более высокой ролью, но когда человек ниже роли бота будет выгнан
Ошибка: бот не может выгнать всех участников выше или ниже роли бота
Есть какое-либо решение для этого? Возможно, я что-то упускаю
const rolepositionerror = new Discord.MessageEmbed()
.setDescription('You can't kick members with equal or higher position!')
.setColor("FF0000")
const targetMember = message.mentions.members.first() || message.guild.members.cache.get(args[0])
const authorHighestRole = message.member.roles.highest
const targetHighestRole = targetMember.roles.highest
if(targetHighestRole = authorHighestRole) return message.channel.send(rolepositionerror)
if(targetMember) {
targetMember.kick()
message.channel.send(userkicked)
}
Ответ №1:
Discord.js у ‘s GuildMember
есть свойство с именем GuildMember#kickable
, которое вернет значение true, если пользователь может быть выгнан, что вы хотите сделать, это добавить его в свой код:
const targetMember = message.mentions.members.first()
|| message.guild.members.cache.get(args[0]);
if(targetMember) {
if (targetMember.kickable) {
// If you can kick the member, then...
targetMember.kick()
message.channel.send(userkicked)
} else {
// If you can't kick the member, then...
const roleError = new Discord.MessageEmbed()
.setDescription(
"This member can't be kicked!n"
"Check if they have a higher role than the bot and if the bot has permissions!"
)
.setColor("FF0000");
return message.channel.send(roleError)
}
}
Для получения дополнительной информации ознакомьтесь с этими ссылками: