【问题标题】:How can I check roles in Discord with a bot?如何使用机器人检查 Discord 中的角色?
【发布时间】:2018-01-17 12:04:21
【问题描述】:

我试图让机器人对服务器的每个角色做出不同的响应,但我似乎无法让它工作。它没有给我任何错误,但它给了我错误的答案。

client.on('message', message => 
{
  if(message.content === prefix + 'assist')
    if (message.member.roles.equals("344848334969765893"))
      {      
        message.reply("Ohhh a fellow rng player! May the rng be with you!");
      } 
    else 
      {
        message.reply("You do not have the Admin role.");
      }
})

【问题讨论】:

  • 欢迎来到 Stackoverflow。为了让人们更容易帮助您,请正确格式化您的代码。至少缩进 4 个空格(多行) 将其包装在反引号中(内联代码)。另外,在提问时尽量注意拼写。谢谢!
  • 此外,请指定运行代码时究竟出了什么问题。请务必参考How to ask

标签: javascript bots roles discord


【解决方案1】:

你正在寻找

member.roles.find('name', 'Admin')

相对于

member.member.roles.equals("344848334969765893")

或使用

member.roles.get('344848334969765893')

因为你已经知道 id。你可以在findhere找到discord.js集合文档。


为了更全面地回答,对于你正在做的逻辑,它会像

client.on('message', (message) => {
  if(message.content === prefix + 'assist') {
    if (message.member.roles.get('344848334969765893'))
      {      
        message.reply("Ohhh a fellow rng player! May the rng be with you!");
      } 
    else 
      {
        message.reply("You do not have the Admin role.");
      }
  }
});

【讨论】:

  • 由于某种原因 member.roles.get('344848334969765893') 无法正常工作,但 member.roles.find('name', 'Admin') 工作正常。谢谢。
  • 没问题。我会看看他们是否有不同的首选方法。可以尝试将其作为 int。我不经常为他们使用文字。如果您想查看他们的文档,他们使用的功能与maps 大致相同
猜你喜欢
  • 2019-08-10
  • 2018-06-26
  • 2018-10-02
  • 1970-01-01
  • 2020-12-30
  • 2017-11-08
  • 2022-01-16
  • 2021-03-14
  • 1970-01-01
相关资源
最近更新 更多