【问题标题】:Reaction roles in Discord.jsDiscord.js 中的反应角色
【发布时间】:2021-09-11 23:33:15
【问题描述】:

我希望我的机器人发送一条消息,公会中的一个人对特定的表情符号做出反应,然后他们就获得了一个角色。否则假设为假,并没有得到角色。我无法理解反应角色在 Discord.js 中的工作原理,因此我想对它们进行简单的解释。

client.on('message', msg => {
  if (message.content === 'sky exclusive') {
    message.channel.send('react to this message with a smiley face for an exclusive role!');
    message.react('????');
    if(message.react === '????') {
    guild.roles.create({
  data: {
    name: 'rolered',
    color: 'RED',
  },
  reason: 'we needed a role for rolered',
})
  .then(console.log)
  .catch(console.error);
  }
}
});

【问题讨论】:

    标签: discord.js


    【解决方案1】:

    <Message>.react 是一个函数。您可能正在寻找反应收集器或反应事件。

    //Reaction collector
    let collector = <Message>.createReactionCollector(r => r.emoji.name === '?');
    collector.on('collect', async (reaction, user) => {
    let guild = reaction.message.guild;
    let member = guild.member(user);
    member.roles.add('someRole')
    })
    

    您可能需要对此进行调整,我没有测试它。

    【讨论】:

      猜你喜欢
      • 2021-02-07
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 2021-01-07
      • 2021-01-24
      • 2020-08-30
      相关资源
      最近更新 更多