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
试图对我的消息作出反应,但是它被删除了,所以它什么也没做。还有其他方法吗?
答案 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('?');
});
});
}
});