Discord.py кол-во реакций на сообщение - PullRequest
0 голосов
/ 06 ноября 2019

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

@client.event
async def on_raw_reaction_add(payload):
    if payload.channel_id == 614467771866021944:
        if payload.emoji.name == "?":
            # if number of reactions > 4:
            # delete the message

1 Ответ

0 голосов
/ 06 ноября 2019

Вам необходимо использовать идентификаторы в полезной нагрузке, чтобы получить объект сообщения Message, а затем проверить атрибут count соответствующего Reaction из Message.reactions:

from discord.utils import get

@client.event
async def on_raw_reaction_add(payload):
    if payload.channel_id == 614467771866021944:
        if payload.emoji.name == "?":
            channel = client.get_channel(614467771866021944)
            message = await channel.fetch_message(payload.message_id)
            reaction = get(message.reactions, emoji=payload.emoji.name)
            if reaction and reaction.count > 4:
                await message.delete()
...