File size: 1,118 Bytes
056f521
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from pyrogram import filters
from pyrogram.types import Message

from Mikobot import app


def has_reactions(_, __, m: Message):
    return bool(m.reply_to_message.reactions)


@app.on_message(filters.command("getreaction") & filters.reply)
def get_reaction_list(client, message):
    reaction_list = {}
    reply_to_message = message.reply_to_message
    for reaction in reply_to_message.reactions:
        users = []
        for user_id in reaction.user_ids:
            user = client.get_users(user_id)
            users.append(user.username or user.first_name)
        reaction_list[reaction.name] = users

    if reaction_list:
        result_text = "\n".join(
            f"{reaction}: {', '.join(users)}"
            for reaction, users in reaction_list.items()
        )
        message.reply_text(result_text)
    else:
        message.reply_text("No reactions found in the replied message.")


@app.on_message(filters.text & filters.reply & filters.create(has_reactions))
def reply_get_reaction_list(client, message):
    if message.text.lower() == "/getreaction":
        get_reaction_list(client, message)