【问题标题】:My kick command lets anyone in the server kick someone我的 kick 命令让服务器中的任何人都可以踢某人
【发布时间】:2021-01-19 07:37:33
【问题描述】:

我的 discord 机器人需要我的 kick 命令才能为版主和管理员工作。有没有人有更多的编码可以让它只有模组或管理员可以踢?

我对 kick 命令的编码:

client.on('message', (message) => {
 if (!message.guild) return;

 if (message.content.startsWith('!kick')) {
  const user = message.mentions.users.first();

  if (user) {
   const member = message.guild.member(user);

   if (member) {
    member
     .kick('Optional reason that will display in the audit logs')
     .then(() => {
      message.reply(`Successfully kicked ${user.tag}`);
     })
     .catch((err) => {
      message.reply('I was unable to kick the member');

      console.error(err);
     });
   } else {
    message.reply("That user isn't in this guild!");
   }
  } else {
   message.reply("You didn't mention the user to kick!");
  }
 }
});

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    您可以使用GuildMember.hasPermission 来检查用户是否具有特定权限。你可以看到有效的权限标志here,尽管我认为在这种情况下你会想要使用KICK_MEMBERS

    if (!message.member.hasPermission('KICK_MEMBERS'))
      return message.channel.send('Insufficient Permissions');
    

    您还可以通过某人拥有的角色来限制访问,我强烈建议您阅读this existing answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-19
      • 2021-06-08
      • 2020-06-30
      • 2020-12-23
      • 2021-07-31
      • 2019-06-29
      • 2019-10-17
      • 2021-09-25
      相关资源
      最近更新 更多