|
from pyrogram import filters |
|
from pyrogram.types import Message, InlineKeyboardMarkup, InlineKeyboardButton |
|
from DragMusic import app |
|
|
|
|
|
@app.on_message(filters.command("id") & filters.group) |
|
async def id_handler(client, message: Message): |
|
group_id = message.chat.id |
|
user = None |
|
show_group_id = False |
|
|
|
|
|
if message.reply_to_message and message.reply_to_message.from_user: |
|
user = message.reply_to_message.from_user |
|
|
|
|
|
elif len(message.command) > 1: |
|
username = message.command[1].replace("@", "") |
|
try: |
|
user = await client.get_users(username) |
|
except Exception: |
|
return await message.reply_text("Invalid username or user not found.") |
|
|
|
|
|
else: |
|
user = message.from_user |
|
show_group_id = True |
|
|
|
user_id = user.id |
|
name = user.first_name or "Unknown" |
|
|
|
if show_group_id: |
|
text = ( |
|
f"User: {name}\n" |
|
f"User ID: {user_id}\n" |
|
f"Group ID: {group_id}" |
|
) |
|
buttons = [ |
|
[ |
|
InlineKeyboardButton("User ID", copy_text=str(user_id)), |
|
InlineKeyboardButton("Group ID", copy_text=str(group_id)), |
|
] |
|
] |
|
else: |
|
text = f"User: {name}\nUser ID: {user_id}" |
|
buttons = [ |
|
[InlineKeyboardButton("User ID", copy_text=str(user_id))] |
|
] |
|
|
|
await message.reply( |
|
text, |
|
reply_markup=InlineKeyboardMarkup(buttons) |
|
) |
|
|