0

我想添加一个禁止命令,该命令仅在发送它的用户具有管理员、所有者和版主权限时才有效。有没有办法我可以做到这一点?

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.');
    }
  }
});
4

1 回答 1

0

有一些方法可以做到这一点!

您可以通过检查消息作者在此 Discord 服务器上的权限来执行此操作。我会使用该hasPermission()方法来检查用户实际拥有哪些权限。所有权限标志都可以在这里找到。

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');
于 2019-04-11T19:34:18.163 回答