Как мне заставить моего бота discord удалить мое сообщение и отреагировать на сообщение выше?

#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&eMana&er#выборка

Ответ №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('🍇');
      });
    });
  }
});