Как считать количество реакций в сообщении (discord.py)
Как посчитать количество реакций раздельноm так, чтобы было не количество всех реакций, а одной нужной эмоции. Например:
В сообщении две реакции(возьмём крестик и галочку) Как отдельно посчитать количество галочек и крестиков раздельно, так чтобы было:
Галочек - **x**
Крестиков - **y**
Ответы (1 шт):
Автор решения: JoshJohnson
→ Ссылка
Решение вашей проблемы:
from discord.utils import get
@client.event
async def on_raw_reaction_add(payload):
if payload.channel_id == 1234567890:
if payload.emoji.name == "Нужный вам эмодзи, например ?":
channel = client.get_channel(1234567890)
message = await channel.fetch_message(payload.message_id)
reaction = get(message.reactions, emoji=payload.emoji.name)
if reaction:
reaction_counter = await reaction.count
В качестве payload отправляйте в функцию все необходимые ID, чтобы затем производить с ними необходимые манипуляции. reaction_counter присваивается количество упомянутых реакций reaction в сообщении с нужным ID на нужном канале. Для того, чтобы получить большее количество реакций, просто добавьте еще одну переменную по типу reaction, проверьте ее наличие и найдите количество упоминаний.