繁体   English   中英

如果工作人员对他的消息做出反应,如何让 Discord.JS 客户端赋予消息作者角色?

[英]How do make Discord.JS client give role to message author if a staff member reacts his message?

   client.on('message', async message => {
      var staffmember = message.guild.members.cache.filter(member => {
        member.roles.cache.get('785610325457764383')
      })

      let user = message.author.id
      if(message.channel.id !== '752887367052034108') return
        message.react('752897613669335140')
        message.react('752896964718362644')
        .then(() => {
          message.awaitReactions(reaction => reaction.id === '752897613669335140' && staffmember,  {
          })
          .then((collected) => {
            if(collected.reaction.id === '752897613669335140') {
              user.roles.add('786958045350854698')
              user.send('role given.')
            }
          })
          
        })
  })

这是我的代码。 在可以被过滤器接受的成员通过正确的 ID 对消息做出反应后,机器人什么也不做。

要在用户上使用 .roles 属性,他们必须是 Discord.GuildMember,而不是 Discord.User。 这意味着你必须改变

let user = message.author.id

let user = message.member

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM