【问题标题】:How can I see if a user has a role stored in a variable?如何查看用户是否具有存储在变量中的角色?
【发布时间】:2019-09-06 02:11:17
【问题描述】:

我正在为我的机器人创建角色分配命令,因此用户可以键入 h.addrole @user @role 如果用户具有角色,我正在尝试创建它,它会输出说 This user already has this role! 每当我尝试使用该命令时,它总是输出
(node:5224) UnhandledPromiseRejectionWarning: TypeError: userToModify.hasRole is not a function
我的代码如下:

} if (message.content.startsWith(config.prefix + "addrole")) {
  let userToModify = message.mentions.members.first();
  let roleToAdd = message.mentions.roles.first();
  if (userToModify.hasRole(roleToAdd)) return message.channel.send("This user already has this role!")
  if (!args) return message.channel.send("Please enter a mentioned user and a mentioned role to assign (e.g h.addrole @Brickman @Moderator")
  if (!message.member.hasPermission("MANAGE_ROLES")) return message.channel.send("You do not have permission for this!")
  userToModify.addRole(roleToAdd); 
  return message.channel.send("Succesfully added role " + roleToAdd + " to member " + userToModify + "!");

【问题讨论】:

  • 可能你要修改这行代码,let userToModify = message.mentions.members.first;

标签: javascript node.js bots discord discord.js


【解决方案1】:

就像它说的那样...hasRole 不是函数。

改为这样尝试: if (userToModify.has(roleToAdd.id)) return message.channel.send("This user already has this role!")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-02
    • 2018-11-06
    • 2021-10-25
    • 1970-01-01
    • 2010-12-22
    • 2019-06-16
    • 2021-11-15
    相关资源
    最近更新 更多