javascript - 如何查看用户是否具有存储在变量中的角色?

标签 javascript node.js bots discord discord.js

我正在为我的机器人创建 Angular 色分配命令,因此用户可以输入 h.addrole @user @role 我正在尝试执行此命令,如果用户拥有该 Angular 色,它会输出说 此用户已经拥有此 Angular 色! 每当我尝试使用该命令时,它总是输出
(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 + "!");

最佳答案

就像它说的...hasRole 不是一个函数。

相反,尝试这样: if (userToModify.has(roleToAdd.id)) return message.channel.send("该用户已经拥有此 Angular 色!")

关于javascript - 如何查看用户是否具有存储在变量中的角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55700288/

相关文章:

javascript - 从 iframe 到 ajax 的 session

javascript - 递归推送只添加最后一个元素

javascript - 当用户移动并按住鼠标时 Canvas 发出警报

javascript - 在另一个范围内运行函数

node.js - 在 res.send 期间更改了 JS 对象

javascript - 重定向特定 channel 中的 Discord DM

mysql - 将 EC2 实例连接到另一个 AWS 账户上的 RDS 卷

javascript - 如何在没有客户端 javascript 的情况下使用 JSON 数据呈现静态 HTML?

lua - 在 IRC Bot 中添加 SASL Auth

javascript - 从 71 种可能性中生成一个随机短语