Как отслеживать добавление эмодзи к сообщению в ЛС с ботом? discord.py

Как отслеживать добавление эмодзи к сообщению в ЛС с ботом?

Бот отправляет сообщение участнику в событии on_raw_reaction_add, после чего нужно что бы бот реагировал на нажатие на эмодзи к этому отправленному сообщению.

Я записывал id отправленного сообщения в список, после чего проверял в цикле внутри on_raw_reaction_add соответствие обработанного событием сообщения с эмодзи и id из списка. Но вскоре я понял, что событие on_raw_reaction_add() не может обрабатывать нажатия в лс, по крайней мере как это делаю я. В результате выполнения цикла ничего не происходит, условия не выполняются.

ballance_messages = []
@bot.event
async def on_raw_reaction_add(messages):
    user_id = messages.user_id
    message_id = messages.message_id

    guild = bot.get_guild(messages.guild_id)
    member = guild.get_member(user_id)

    if messages.user_id == bot.user.id:
        return


    # Balance
    elif message_id == 881778669482299402:
        if messages.emoji.name == "☑️":

            bal_message = await member.send("Message")    
            await bal_message.add_reaction('?')

            ballance_messages.append(bal_message.id)
            print(ballance_messages)# для откладки

    # Balance check emoji
    for i in range(len(ballance_messages)):
        if int(message_id) == int(ballance_messages[i]):
            if messages.emoji.name == "?":
                print("-----------JGHUHRG-------------------")

            else:
                print("NO Message")

Как отследить нажатие на эмодзи к определенному сообщению в лс с ботом? Возможно, для этого у события on_raw_reaction_add есть другие аргументы, или для этого существуют другие методы? В документации к событию я не нашел отдельных способов такой проверки в том числе используя аргумент payload, по этому буду благодарен за помощь.


Ответы (0 шт):