Почему messageReactionAdd ничего не делает discord.js - PullRequest
0 голосов
/ 01 ноября 2018

Я хочу сказать, что я француз, и я прошу прощения за ошибки.

Я пытаюсь закодировать бот-диск с помощью node.js, но у меня есть проблема с messageReactionAdd. Теперь я не понимаю, почему он ничего не делает, когда я реагирую на смайлики.

Мой код:

bot.on('messageReactionRemove', (reaction, user) => {
console.log("that work 1");
if(reaction.emoji.name === "white_check_mark") {
    console.log("that work 2");
}})

Однако я вижу на этом форуме, что это будет работать для других

спасибо, что прочитали!

Ответы [ 3 ]

0 голосов
/ 01 ноября 2018

События messageReactionAdd и messageReactionRemove работают только для кэшированных сообщений. Вам нужно добавить необработанное событие в ваш код для запуска любого сообщения. https://github.com/AnIdiotsGuide/discordjs-bot-guide/blob/master/coding-guides/raw-events.md

0 голосов
/ 01 ноября 2018

Вы должны прослушать событие messageReactionAdd.
Помните также, что ReactionEmoji.name - это Юникод для этого смайлика: вы можете получить символ Юникода, написав обратную косую черту перед смайликами, например \:joy:. Unicode для :white_check_mark: - это ✅.

Это должен быть ваш код:

bot.on('messageReactionAdd', (reaction, user) => {
  console.log("first check");
  if (reaction.emoji.name === "✅") {
    console.log("second check");
  }
});

Это будет работать с каждым кэшированным сообщением, если вы хотите, чтобы оно работало только с конкретным сообщением, попробуйте использовать Message.awaitReactions() или Message.createReactionCollector()

0 голосов
/ 01 ноября 2018

Вы выполняете реакцию удаления, и вам нужно использовать Unicode Emojis - вы можете найти их в Интернете и скопировать их

...