discord.js - Kick/Ban Command 的 Discord.js v12 有原因
问题描述
早上好,我想知道如何执行踢和禁止命令,但我可以添加一个原因,并且只有特定成员才能使用它。目前我有这段代码,但我不知道如何设置权限,我可以给出一个理由。
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");
}
}
})
});
如您所见,这是每个人都可以访问的命令,并且连同禁止的原因一起,我想更改它
解决方案
您可以通过GuildMember#hasPermission查看会员的权限
例如:
if (!message.member.hasPermission("BAN_MEMBERS") return;
以下是权限列表:Permissions#FLAGS
推荐阅读
- google-apps-script - GmailApp.SendEmail() 有时会发送两封电子邮件
- excel - Excel VBA循环不移动到下一行
- typescript - Typescript Generic 类和 Object.assign 看不到值
- c# - 如何访问和修改作为字典值给出的对象的属性?
- excel - 如何根据公式中的excel中的两个标准对列进行排序?
- python - 将范围更改为调用环境
- django - 如何让人们在我的网站上下载文件?
- html - mat-button-toggle-checked with dynamic style + Angular 6
- sql - 重复存储相同的行是否被认为是不好的做法?
- python - 重塑 LSTM 自动编码器的输入数据