我如何使我的不和谐机器人删除我的消息并对以上消息做出反应?

时间:2020-08-17 04:37:52

标签: javascript node.js discord discord.js

bot.on('message', message => {
    if (message.content === 'react') {
            message.delete({ timeout: 1 })
                .then(() => message.react('?'))
                .then(() => message.react('?'))
                .then(() => message.react('?'));   
        }
});

这是我用来尝试删除我的消息,然后对我上面的消息做出反应的代码。我尝试使用msg.channel.send('+:apple:'),但它只是发布+?,而不是对上面的消息作出反应。因此,我猜测问题是meesage.react试图对我的消息作出反应,但是它被删除了,所以它什么也没做。还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

那么,该代码意味着对已删除的消息做出反应。不可能。

但是有一种获取最新消息的方法。

message.channel.messages.fetch({limit: 1}).then(msg => {
//...
});

然后msg是消息的集合,因此msg.first()是最新消息。因此,您可以使用msg.first().react()。 完整代码:

bot.on('message', (message) => {
  if (message.content === 'react') {
    message.delete({ timeout: 1 }).then(() => {
      message.channel.messages.fetch({ limit: 1 }).then(async (msg) => {
        await msg.first().react('?');
        await msg.first().react('?');
        await msg.first().react('?');
      });
    });
  }
});