当前位置: 首页 > 知识库问答 >
问题:

不一致js Bot在重新启动之前没有看到消息

隗驰
2023-03-14

抱歉我英语不好。

我想让角色反应机器人我的问题是我的机器人在重新启动之前看不到消息发送

我已经接受了这个代码,但他没有看到旧消息的反应。

我能做些什么来使这个代码看到对旧消息的反应。

const Discord = require('discord.js');
const client = new Discord.Client({ partials: ['MESSAGE', 'CHANNEL', 'REACTION'] });

client.once('ready', () => {
    console.log('Ready!');
});

client.on('messageReactionAdd', async (reaction, user) => {
    if (reaction.message.partial) {
        try {
            await reaction.message.fetch();
        }
        catch (error) {
            console.error('Something went wrong when fetching the message: ', error);
        }
    }
    console.log(`${user.username} reacted with "${reaction.emoji.name}".`);
});

client.on('messageReactionRemove', async (reaction, user) => {
    if (reaction.message.partial) {
        try {
            await reaction.message.fetch();
        }
        catch (error) {
            console.error('Something went wrong when fetching the message: ', error);
        }
    }
    console.log(`${user.username} removed their "${reaction.emoji.name}" reaction.`);
});

client.login('my token');

共有1个答案

梁勇
2023-03-14

除了检查反应消息是否部分,还检查反应本身。

js prettyprint-override">if (reaction.partial) {
 try {
  await reaction.fetch();
 } catch (error) {
  console.error('Something went wrong when fetching the reaction: ', error);
 }
}
 类似资料:
  • 我目前正在开发一个Android应用程序,其中用户拍摄存储在设备上的外部内存中的照片,然后我试图也让画廊扫描文件以将新媒体添加到画廊,但这似乎不会更新,直到设备重新启动。 我使用的代码如下: 用我的应用程序拍照后,我可以使用设备上的文件管理器应用程序来验证它是否存在,并记录文件路径,看起来是正确的,然后将其传递给媒体扫描仪 谢谢艾伦

  • 我正在尝试运行一个简单的Spring Boot Kafka应用程序,但我无法使其工作。我遵循了各种教程,现在我正在实现这个教程,但当我启动应用程序时,会发生以下情况: 我可以在控制台中写入,但消费者没有收到任何消息。 这是我的SpringApplication类: application.yml: 消费者类、生产者类及其配置类与教程中所写的相同。< br >在我的server.properties

  • 我正在尝试创建一个不和谐的机器人。js。它显示没有错误,可以联机并完美运行。但是,当我尝试运行命令时,bot不会说任何话,甚至不会发出错误消息。我的代码在这里:

  • 我有一个Kafka集群正在运行,当重新启动应用程序(消费者)时,它会跳过一些在应用程序关闭时推送到主题的消息。 当应用程序启动时,我可以看到它读取带有偏移量的消息,然后将偏移量推送到。然后当应用程序关闭时,带有偏移量的消息被推送到主题。重启应用程序后,它读取并将其偏移量设置为,因此跳过。 这是我的配置:

  • 我想在play应用程序(使用slick)启动之前,从docker compose文件(postgres和kafka实例)启动testcontainers。我想要这个,这样我就可以写一个端到端的测试。我似乎不明白这是怎么可能的。 Scala版本2.12.10 Testcontainer版本0.35.0 Play slick版本5.0.0 当我在没有“TestFunSpec”的情况下执行测试时,doc

  • 我正在制作一个应用程序,其中有一个“MainActivity.class”,它有一个按钮“Edit profile”,可以引导另一个活动,称为“Editprofile.class”。它(MainActivity)还有一个文本视图,显示一个字符串(名称)。 Editprofile.class接受来自用户的字符串,按下添加按钮后,新的字符串会更新到数据库中,替换以前的字符串。现在,当更新后,用户通过后