【问题标题】:Making A Verify System For My Discord.JS Bot为我的 Discord.JS 机器人制作验证系统
【发布时间】:2021-05-04 10:13:50
【问题描述】:

伙计们,我并不是一个使用 discord.js 进行机器人编程的初学者,但是,我现在发现当我重新启动我的机器人时,它无法检测到旧消息。

这是我的代码:

client.on("messageReactionAdd", (reaction, user) => {

    if(reaction.emoji.name == "✅" && reaction.message.channel.id === '793528912751231015') {
    
        try {
            const role = reaction.message.channel.guild.roles.cache.find(role => role.name == "『????‍♂️』אזרח");
            reaction.message.guild.member(user).roles.add(role);
        } catch {
            console.log('Error : can\'t add the role');
        }
      
    }
});

语言无关紧要,但问题是 T 尝试了所有方法来缓存来自特定频道的旧消息。但我真的找不到办法。

【问题讨论】:

    标签: node.js discord discord.js


    【解决方案1】:

    您可以使用<Reaction>.partial 属性检查反应是否是部分的。如果是局部的,那么我们可以调用reaction.fetch();

    这是一个例子:

    client.on('messageReactionAdd', async (reaction, user) => {
        if (reaction.partial) {
            try {
                await reaction.fetch();
            } catch (error) {
                return console.error("Error fetching reaction", error);
            }
        }
        // Your code here
    });
    

    您可以查看文档 hereherefetch() 方法。此示例代码来自 DJS 指南,可以在 here 找到。

    【讨论】:

      猜你喜欢
      • 2021-04-28
      • 2021-05-16
      • 2021-06-15
      • 2021-09-10
      • 2019-04-27
      • 2021-08-20
      • 2020-09-02
      • 1970-01-01
      • 2021-05-28
      相关资源
      最近更新 更多