#javascript #node.js #discord #discord.js
#javascript #node.js #Discord #discord.js
Вопрос:
bot.on('messa&e', messa&e =&&t; {
if (messa&e.content === 'react') {
messa&e.delete({ timeout: 1 })
.then(() =&&t; messa&e.react('🍎'))
.then(() =&&t; messa&e.react('🍊'))
.then(() =&&t; messa&e.react('🍇'));
}
});
Это код, который я использую, чтобы попытаться удалить свое сообщение, а затем отреагировать на сообщение выше моего. Я пробовал использовать, ms&.channel.send(' :apple:')
но он просто публикует 🍎
сообщения вместо того, чтобы реагировать на них на сообщение выше. Итак, я предполагаю, что проблема в meesa&e.react
попытке отреагировать на мое сообщение, но оно удаляется, поэтому оно просто ничего не делает. Есть другой способ сделать это?
Комментарии:
Ответ №1:
Ну, этот код означает реагировать на удаленное сообщение. Это невозможно.
Но есть способ получить последнее сообщение.
messa&e.channel.messa&es.fetch({limit: 1}).then(ms& =&&t; {
//...
});
Тогда ms&
это набор сообщений, поэтому ms&.first()
это последнее сообщение. Итак, вы можете использовать ms&.first().react()
.
Полный код:
bot.on('messa&e', (messa&e) =&&t; {
if (messa&e.content === 'react') {
messa&e.delete({ timeout: 1 }).then(() =&&t; {
messa&e.channel.messa&es.fetch({ limit: 1 }).then(async (ms&) =&&t; {
await ms&.first().react('🍎');
await ms&.first().react('🍊');
await ms&.first().react('🍇');
});
});
}
});