有没有办法对discord.js发送的每一条消息做出反应

有没有办法对discord.js发送的每一条消息做出反应,discord,discord.js,Discord,Discord.js,我想用一个机器人对discord.js f.e.频道中的每一条消息做出反应。我有一个表情符号竞赛频道,我想登一个广告✅ 和✖ 每个帖子都有反应 在ofc中,所有不必要的消息都会被清除,因此根据 你可以用 从特定通道获取所有消息,然后返回消息集合 然后,您可以使用该函数将您的反应应用于此消息集合,方法是对其进行迭代并调用 编辑: 获取已在具有的通道中发送的消息。 遍历。 加上反应。 当在通道中发送新消息时,还应添加反应。 const emojiChannelID='ChannelIDHere';

我想用一个机器人对discord.js f.e.频道中的每一条消息做出反应。我有一个表情符号竞赛频道,我想登一个广告✅ 和✖ 每个帖子都有反应 在ofc中,所有不必要的消息都会被清除,因此根据

你可以用 从特定通道获取所有消息,然后返回消息集合

然后,您可以使用该函数将您的反应应用于此消息集合,方法是对其进行迭代并调用

编辑:

获取已在具有的通道中发送的消息。 遍历。 加上反应。 当在通道中发送新消息时,还应添加反应。 const emojiChannelID='ChannelIDHere'; client.on'ready',async=>{ 试一试{ const channel=client.channels.getemojiChannelID; if!通道返回控制台。错误“无效ID或缺少通道”; const messages=wait channel.fetchMessages{limit:100}; 用于消息的常量[id,消息]{ 等待消息,反应'✅'; 等待消息,反应'✖'; } }捕手{ console.error; } }; 客户端。在“消息”上,异步消息=>{ 如果message.channel.id==emojiChannelID{ 试一试{ 等待消息,反应'✅'; 等待消息,反应'✖'; }捕手{ console.error; } } };
在这段代码中,您会注意到我使用的是循环,而不是。这背后的原因是后者将简单地调用方法并继续。这将导致任何被拒绝的承诺都不会被抓住。我还使用了样式,而不是容易弄乱的THN链。

让它像那样工作,thx,但我对js编码相当陌生,这是什么=>我想这并不意味着sammerl或equal than=>实际上是语法的一部分。=>是s.=>和>=很容易混淆,但它们非常不同。你能在被拒绝的承诺这一部分发展吗?我在之前的一个答案中使用了Map.forEach,但我并不认为/知道它。你说的是信息,我保证,不是吗?因为如果一个承诺被拒绝,forEach将停止,因此它将被停止,并按照您的要求进行捕获,不是吗?forEach的工作方式,不是。它只是调用该承诺并继续迭代。到完成时,承诺仍将处于待定状态。即使您使用wait关键字,也不会对这个问题有效。有关工作原理和问题的更详细说明,请参阅。
channelToFetch.fetchMessages()
    .then(messages => {
        messages.tap(message => {
            message.react(`CHARACTER CODE OR EMOJI CODE`).then(() => {
              // Do what ever or use async/await syntax if you don't care 
                 about Promise handling
            })
        })
    })