【问题标题】:Discord.js messageReactionAdd Not firingDiscord.js messageReactionAdd 未触发
【发布时间】:2021-01-14 12:31:00
【问题描述】:

我知道 messageReactionAdd 仅适用于缓存的消息,但即使在手动缓存它们之后它仍然不会触发。

目前我的代码是:

client.once('ready', () => { 
    console.log(config.readymesssage); 
    var channel = client.channels.resolve('761577724379791450');
    channel.messages.fetch({limit: 90}).then((message) => {
        console.log("done")
    })
});

client.on('messageReactionAdd', async(reaction) => {
    console.log("reacted");
});

我尝试过使用原始事件,我使用了来自 Here 的代码块,并且我也尝试过使用部分,但似乎都没有。我不确定还有什么我不能尝试。

【问题讨论】:

    标签: javascript discord discord.js


    【解决方案1】:

    启用意图已经解决了这个问题,他们首先需要在开发者门户中打开,然后我需要添加以下几行,

    let Intss = new Discord.Intents(Discord.Intents.ALL);
    
    const client = new Discord.Client({ws: { intents: Intss }});
    

    现在事件按预期触发。

    【讨论】:

      【解决方案2】:

      另一个可能更好的可行解决方案是

      const bot = new Discord.Client({ partials: ['USER', 'REACTION', 'MESSAGE'] });
      

      现在,您必须在对数据进行任何操作之前检查是否有部分数据(如果数据是部分数据,则获取数据)。但这样一来,您就不必处理意图,如果您的机器人扩展到 100 多台服务器,您也不必等待验证。

      【讨论】:

        猜你喜欢
        • 2023-04-07
        • 1970-01-01
        • 2021-04-08
        • 2021-12-03
        • 2020-09-26
        • 2019-04-05
        • 2019-12-20
        • 2021-01-21
        • 1970-01-01
        相关资源
        最近更新 更多