我需要一些关于 discord bot 中 ban 命令的帮助
I need some help about ban command in discord bot
我想添加一个禁止命令,该命令仅在发送它的用户具有管理员、所有者和版主权限时才有效。有什么办法可以做到这一点?
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({
reason: 'They were bad!',
}).then(() => {
message.channel.sendMessage(`${user} BAN!`);
}).catch(err => {
message.channel.sendMessage('Bu çar çok güçlü, banlayamıyorum.');
console.error(err);
});
} else {
message.channel.sendMessage('Kullanıcı sunucuda değil.');
}
} else {
message.channel.sendMessage('Adını ver banlayayım, sahip.');
}
}
});
有一些方法可以做到这一点!
您可以通过检查消息作者在此 Discord 服务器上的权限来做到这一点。我会使用 hasPermission()
method to check which permissions the user actually has. All permission flags can be found here.
if (!message.member.hasPermission('ADMINISTRATOR')) return ('You aren\'t an Administrator');
您甚至可以通过检查邮件作者的用户 ID 来完成。只需比较消息作者的用户 ID 和您预定义的用户 ID:
if (message.author.id !== 'ID OF THE USER') return ('You aren\'t an Administrator');
我想添加一个禁止命令,该命令仅在发送它的用户具有管理员、所有者和版主权限时才有效。有什么办法可以做到这一点?
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({
reason: 'They were bad!',
}).then(() => {
message.channel.sendMessage(`${user} BAN!`);
}).catch(err => {
message.channel.sendMessage('Bu çar çok güçlü, banlayamıyorum.');
console.error(err);
});
} else {
message.channel.sendMessage('Kullanıcı sunucuda değil.');
}
} else {
message.channel.sendMessage('Adını ver banlayayım, sahip.');
}
}
});
有一些方法可以做到这一点!
您可以通过检查消息作者在此 Discord 服务器上的权限来做到这一点。我会使用 hasPermission()
method to check which permissions the user actually has. All permission flags can be found here.
if (!message.member.hasPermission('ADMINISTRATOR')) return ('You aren\'t an Administrator');
您甚至可以通过检查邮件作者的用户 ID 来完成。只需比较消息作者的用户 ID 和您预定义的用户 ID:
if (message.author.id !== 'ID OF THE USER') return ('You aren\'t an Administrator');