繁体   English   中英

如何让我的 discord 机器人删除我的消息并对上面的消息作出反应?

[英]How do I make my discord bot delete my message and react to the message above?

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试图对我的消息做出反应,但它被删除了,所以它什么也没做。 还有其他方法可以做到这一点吗?

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

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

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('🍇');
      });
    });
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM