Résultat attendu: l'utilisateur commente «fruit», le bot répond par «pomme» et laisse un emoji de pomme 🍎 sur son propre commentaire

Résultat réel: l'utilisateur commente «fruit», le bot répond par «pomme» et laisse un emoji de pomme 🍎 sur le commentaire de l'utilisateur à la place

bot.on('message', msg => {

  if(msg.content === 'fruit'){

    msg.reply('apple').then();
    msg.react('🍎');

  }

})

J'ai également essayé ce qui suit:

 bot.on('message', msg => {

  if(msg.content === 'fruit'){

     msg.reply('apple').then(react('🍎'));

  }

})

Mais il en résulte une erreur: 'react n'est pas défini'

Merci d'avance

0
meow-meow-meow 25 oct. 2020 à 00:37

2 réponses

Meilleure réponse

C'est super facile à résoudre. Tout ce que vous avez à faire est d'utiliser une fonction de flèche à l'intérieur du .then.

msg.reply('apple').then(m => m.react('🍎'));
2
Worthy Alpaca 24 oct. 2020 à 21:43

Vous devez utiliser le résultat de la réponse au message dans le alors de la promesse:

bot.on('message', msg => {
  if (msg.content === 'fruit') {
    msg.reply('apple').then((botMsg) => botMsg.react('🍎'));
  }
});

(Vous pouvez faire créer le message à l'intérieur du alors, cela signifie que la promesse a réussi)

2
Nulji 24 oct. 2020 à 21:47