|
import asyncio |
|
import os |
|
import random |
|
import time |
|
|
|
from pyrogram import Client, filters |
|
from pyrogram.errors import * |
|
from pyrogram.types import Message |
|
|
|
from akn.utils.handler import * |
|
from akn.utils.prefixprem import command |
|
from config import * |
|
|
|
|
|
@Akeno( |
|
~filters.scheduled |
|
& command(["id"]) |
|
& filters.me |
|
& ~filters.forwarded |
|
) |
|
async def get_id(bot: Client, message: Message): |
|
file_id = None |
|
user_id = None |
|
if message.reply_to_message: |
|
rep = message.reply_to_message |
|
if rep.audio: |
|
file_id = f"**File ID**: `{rep.audio.file_id}`" |
|
file_id += "**File Type**: `audio`" |
|
elif rep.document: |
|
file_id = f"**File ID**: `{rep.document.file_id}`" |
|
file_id += f"**File Type**: `{rep.document.mime_type}`" |
|
elif rep.photo: |
|
file_id = f"**File ID**: `{rep.photo.file_id}`" |
|
file_id += "**File Type**: `photo`" |
|
elif rep.sticker: |
|
file_id = f"**Sicker ID**: `{rep.sticker.file_id}`\n" |
|
if rep.sticker.set_name and rep.sticker.emoji: |
|
file_id += f"**Sticker Set**: `{rep.sticker.set_name}`\n" |
|
file_id += f"**Sticker Emoji**: `{rep.sticker.emoji}`\n" |
|
file_id += f"**Animated Sticker**: `{rep.sticker.is_animated if rep.sticker else False}`\n" |
|
file_id += f"**Video Sticker**: `{rep.sticker.is_video if rep.sticker else False}`\n" |
|
file_id += f"**Premium Sticker**: `{rep.sticker.is_premium if rep.sticker else False}`\n" |
|
else: |
|
file_id += "**Sticker Set**: __None__\n" |
|
file_id += "**Sticker Emoji**: __None__" |
|
elif rep.video: |
|
file_id = f"**File ID**: `{rep.video.file_id}`\n" |
|
file_id += "**File Type**: `video`" |
|
elif rep.animation: |
|
file_id = f"**File ID**: `{rep.animation.file_id}`\n" |
|
file_id += "**File Type**: `GIF`" |
|
elif rep.voice: |
|
file_id = f"**File ID**: `{rep.voice.file_id}`\n" |
|
file_id += "**File Type**: `Voice Note`" |
|
elif rep.video_note: |
|
file_id = f"**File ID**: `{rep.animation.file_id}`\n" |
|
file_id += "**File Type**: `Video Note`" |
|
elif rep.location: |
|
file_id = "**Location**:\n" |
|
file_id += f"**longitude**: `{rep.location.longitude}`\n" |
|
file_id += f"**latitude**: `{rep.location.latitude}`" |
|
elif rep.venue: |
|
file_id = "**Location**:\n" |
|
file_id += f"**longitude**: `{rep.venue.location.longitude}`\n" |
|
file_id += f"**latitude**: `{rep.venue.location.latitude}`\n\n" |
|
file_id += "**Address**:\n" |
|
file_id += f"**title**: `{rep.venue.title}`\n" |
|
file_id += f"**detailed**: `{rep.venue.address}`\n\n" |
|
elif rep.from_user: |
|
user_id = rep.from_user.id |
|
if user_id: |
|
if rep.forward_from: |
|
user_detail = ( |
|
f"**Forwarded User ID**: `{message.reply_to_message.forward_from.id}`\n" |
|
) |
|
elif rep.forward_from_chat: |
|
user_detail = ( |
|
f"**Forwarded Channel ID**: `{message.reply_to_message.forward_from_chat.id}`\n" |
|
f"**Forwarded Channel Title**: `{message.reply_to_message.forward_from_chat.title}`\n" |
|
f"**Forwarded Channel Username**: `@{message.reply_to_message.forward_from_chat.username if message.reply_to_message.forward_from_chat else None}`\n" |
|
) |
|
else: |
|
user_detail = f"**User ID**: `{message.reply_to_message.from_user.id}`\n" |
|
user_detail += f"**Message ID**: `{message.reply_to_message.id}`" |
|
await message.reply_text(user_detail) |
|
elif file_id: |
|
if rep.forward_from: |
|
user_detail = ( |
|
f"**Forwarded User ID**: `{message.reply_to_message.forward_from.id}`\n" |
|
) |
|
elif rep.sender_chat: |
|
user_detail = ( |
|
f"**Sender Chat ID**: `{message.reply_to_message.sender_chat.id if message.reply_to_message.sender_chat else None}`\n" |
|
f"**Sender Chat Title**: `{message.reply_to_message.sender_chat.title if message.reply_to_message.sender_chat else None}`\n" |
|
f"**Sender Chat Username**: `@{message.reply_to_message.sender_chat.username if message.reply_to_message.sender_chat else None}`\n" |
|
) |
|
else: |
|
user_detail = ( |
|
f"**User ID**: `{message.reply_to_message.from_user.id if message.reply_to_message.from_user else None}`\n" |
|
) |
|
user_detail += f"**Message ID**: `{message.reply_to_message.id}`\n\n" |
|
user_detail += file_id |
|
try: |
|
await message.reply_text(user_detail) |
|
except ChannelInvalid: |
|
await message.reply_text("Channel Invalid") |
|
except Exception as e: |
|
await message.reply_text(f"Error: {e}") |
|
else: |
|
await message.reply_text(f"**Chat ID**: `{message.chat.id}`") |
|
|