#discord.js
#discord.js
Вопрос:
Доброе утро, я хотел бы знать, как я мог бы выполнить команду удаления и запрета, но при этом я могу добавить причину и что только определенные участники могут ее использовать. В настоящее время у меня есть этот код, но я не знаю, как это сделать, чтобы установить разрешения, и что я могу указать причину.
client.on('message', message => {
if (!message.guild) return;
if (message.content.startsWith('kick')) {
const user = message.mentions.users.first();
// If we have a user mentioned
if (user) {
const member = message.guild.member(user);
if (member) {
member
.kick('Optional reason that will display in the audit logs')
.then(() => {
message.reply(`Has kickeado a: ${user.tag}`);
})
.catch(err => {
message.reply('No he podido kickear a el miembro.');
console.error(err);
});
} else {
message.reply("El jugador no está en el Guild!");
}
} else {
message.reply("Pero hombre, mencioname al pobrecito que vas a kickear...");
}
}
});
client.on('message', message => {
if (!message.guild) return;
if (message.content.startsWith('ban')) {
const user = message.mentions.users.first();
if (user) {
const member = message.guild.member(user);
if (member) {
member
.ban('Optional reason that will display in the audit logs')
.then(() => {
message.reply(`Has baneado a: ${user.tag}`);
message.author.send('Has sido baneado por mal comportamiento!')
})
.catch(err => {
message.reply('No he podido banear al usuario.');
console.error(err);
});
} else {
message.reply("El jugador no está en el Guild!");
}
} else {
message.reply("Pero hombre, mencioname al pobrecito que vas a banear");
}
}
})
});
Как вы можете видеть, это команда, к которой может получить доступ каждый, и которую, наряду с причиной запрета, я хотел бы изменить
Ответ №1:
Вы можете проверить разрешение участника с помощью GuildMember#hasPermission
Например:
if (!message.member.hasPermission("BAN_MEMBERS") return;
Вот список разрешений: Разрешения#ФЛАГИ
Комментарии:
1. И как я могу указать причину?
2. Вы можете добавить причину, выполнив это: .kick(«причина здесь»)