【问题标题】:How do I remove all roles from a user?如何删除用户的所有角色?
【发布时间】:2019-04-07 18:19:50
【问题描述】:

我正在尝试执行暂停命令,让角色工作的唯一方法是从用户中删除所有其他角色。当我在不和谐中执行命令时,它会将其吐出到控制台中,说当机器人和用户都拥有它们时它没有权限:

> C:\Users\dubwi\Desktop\LDU_Bot>node .
Ready
(node:16868) DeprecationWarning: Collection#find: pass a function instead
{ DiscordAPIError: Missing Permissions
    at item.request.gen.end (C:\Users\dubwi\Desktop\LDU_Bot\node_modules\discord.js\src\client\rest\RequestHandlers\Sequential.js:79:15)
    at then (C:\Users\dubwi\Desktop\LDU_Bot\node_modules\snekfetch\src\index.js:215:21)
    at process._tickCallback (internal/process/next_tick.js:68:7)
  name: 'DiscordAPIError',
  message: 'Missing Permissions',
  path:
   '/api/v7/guilds/418505146876559371/members/311651448519786496',
  code: 50013,
  method: 'PATCH' }
case "suspend":
  if (message.member.hasPermission('MANAGE_ROLES')) {
    let rMember = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0])); //Gets the user
    if (!rMember) return message.reply("That user does not exist.");
    let gRole = message.guild.roles.find('name', 'SUSPENDED'); //Gets the SUSPENDED role

    rMember.removeRoles(rMember.roles).then(console.log).catch(console.error); //Removes all roles
    rMember.addRole(gRole.id); //Adds suspended Role


    message.channel.send("User was suspended."); //Messages the channel that the user was suspended

    try {
      await rMember.send("You have been suspended."); //Tries to DM User
    } catch (e) {
      message.channel.send("We tried to DM the user to let them know, but their DM's are locked."); //Announces that their DMs are locked
    }


  } else {
    message.channel.send("You do not have permission to use this command.");
  }
  break;

【问题讨论】:

  • 就像错误所说,缺少权限。确保机器人具有“管理角色”权限,并且其角色高于角色列表中用户的角色
  • 就是这样。机器人的角色在我正在测试的用户之下。
  • 你能把解决方案放在答案中然后接受吗?这样,问题就被标记为已正确解决

标签: permissions discord.js


【解决方案1】:

正如您的错误代码所说,您缺少权限;

DiscordAPIError:缺少权限

这意味着机器人缺少执行removeRoles() 函数所需的权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-24
    • 2020-09-24
    • 2020-12-27
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 2018-11-29
    相关资源
    最近更新 更多