Discord.py - Проверяйте реакцию после первой реакции - PullRequest
1 голос
/ 04 августа 2020

vote_msg = await ctx.send(embed=embed)
    await vote_msg.add_reaction('✅')
    await vote_msg.add_reaction('❎')
    reaction, member = await ctx.bot.wait_for('reaction_add')
    vote_msg = await vote_msg.channel.fetch_message(vote_msg.id) # refetch message
    # default values
    positive = 0
    negative = 0
    for reaction in vote_msg.reactions:
        if reaction.emoji == '✅':
            positive = reaction.count - 1
        elif reaction.emoji == '❎':
            negative = reaction.count - 1
    print(positive)
    print(negative)

В настоящее время у меня есть это, чтобы получить реакцию на сообщение, как я могу сделать так, чтобы оно получало его заново после того, как кто-то отреагирует в первый раз, вместо того, чтобы заставлять его ждать 5 секунд и проверять?

1 Ответ

0 голосов
/ 04 августа 2020

Я думаю, вы ищете слушателя on_reaction

Вы можете получить доступ ко всем реакциям на сообщения из response.message.reactions следующим образом:

@bot.event
async def on_reaction_add(reaction, user):
    reactions = reaction.message.reactions
    # DO WHAT YOU WANT HERE
    
...