Как получить или отслеживать кто нажал на реакцию в сообщении? Discord bot

Есть дискорд бот. Нужно создать реакции под сообщениями, которые бот отправляет, и получать информацию, о том, кто нажал на какую реакцию.


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

Автор решения: denisnumb

POST_ID - ID сообщения, реакцию под которым нужно отследить.

import discord
from discord.ext import commands
from discord.utils import get

async def on_raw_reaction_add(payload):
    if payload.message_id == config.POST_ID:
        channel = client.get_channel(payload.channel_id) #канал
        message = await channel.fetch_message(payload.message_id) #сообщение
        user = get(message.guild.members, id=payload.user_id) #пользователь, который поставил реакцию
        emoji = str(payload.emoji)

Дополнено:

Вместо on_raw_reaction_add(payload) можно использовать on_reaction_add(reaction, user). Подробнее опять таки, в документации.

→ Ссылка