首页 > 解决方案 > 是否有可能让 awaitReactions 给每个做出反应的人一个角色?

问题描述

错误:(节点:2552)UnhandledPromiseRejectionWarning:TypeError:message.member.roles.add 不是函数

代码:

   msg.react('')
    let collected = await msg.awaitReactions(() => true, {
        time: time
    }).then(collected => {

       var reaction = collected.first();

        message.member.roles.add('743917402714275971')
    })

标签: discorddiscord.js

解决方案


对的,这是可能的。我将逐步指导您完成下面的代码。

msg.react('')
await msg.awaitReactions(() => true, {
    time: time
}).then(collected => {

    collected.users.cache.forEach((user) => {
        msg.guild.members.cache.get(user.id).roles.add('743917402714275971');
    })

})

所以collected返回一个用户集合。您必须遍历它们并获取user每个对象的对象。之后,您必须通过使用IDGuildMember从公会获取用户来获取用户的对象。user从那里,您可以与GuildMember对消息做出反应的每个用户的返回对象进行交互并添加角色。


推荐阅读