Задать вопрос
@yachpokin

Почему не присваивается реакция в переменную?

Имеется сообщение, на которое бот выставляет реакцию. Если пользователь нажимает на реакцию операция прекращается. Однако по какой-то причине в переменную reactionOfCancel присваевается конкретная реакция только в 1 из ~5 случаев. Пробовал разные решение, но все обычно сводится к данной проблеме.
startMes = await ctx.send(f'testMes')
  await startMes.add_reaction('❌')
  reactionOfCancel = ctx.channel.last_message.reactions
  print(reactionOfCancel) #в неудачной попытке здесь выводится []
  print(reactionOfCancel[0])
  print(reactionOfCancel[0].count)
  • Вопрос задан
  • 59 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Ну во-первых, ты добавляешь реакцию к одному сообщению, а смотришь у другого.
ctx.channel.last_message может и не совпадать с сообщением startMes, если за время простановки реакции в канал было отправлено ещё одно сообщение.
Во-вторых, discord.py много чего кэширует. Список reactions может обновиться не сразу.
В-третьих, а зачем тебе смотреть список реакций сразу после вывода сообщения? Вряд ли кто-то успеет проставить свою.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы