Spaces:
Sleeping
Sleeping
| # Copyright (C) @TheSmartBisnu | |
| # Channel: https://t.me/itsSmartDev | |
| from pyrogram.parser import Parser | |
| from pyrogram.utils import get_channel_id | |
| async def get_parsed_msg(text, entities): | |
| return Parser.unparse(text, entities or [], is_html=False) | |
| def getChatMsgID(link: str): | |
| linkps = link.split("/") | |
| chat_id = message_thread_id = message_id = None | |
| try: | |
| if len(linkps) == 7 and linkps[3] == "c": | |
| chat_id = get_channel_id(int(linkps[4])) | |
| message_thread_id = int(linkps[5]) | |
| message_id = int(linkps[6]) | |
| elif len(linkps) == 6: | |
| if linkps[3] == "c": | |
| chat_id = get_channel_id(int(linkps[4])) | |
| message_id = int(linkps[5]) | |
| else: | |
| chat_id = linkps[3] | |
| message_thread_id = int(linkps[4]) | |
| message_id = int(linkps[5]) | |
| elif len(linkps) == 5: | |
| chat_id = linkps[3] | |
| if chat_id == "m": | |
| raise ValueError("Invalid ClientType used to parse this message link") | |
| message_id = int(linkps[4]) | |
| except (ValueError, TypeError): | |
| raise ValueError("Invalid post URL. Must end with a numeric ID.") | |
| if not chat_id or not message_id: | |
| raise ValueError("Please send a valid Telegram post URL.") | |
| return chat_id, message_id | |
| def get_file_name(message_id: int, chat_message) -> str: | |
| if chat_message.document: | |
| return chat_message.document.file_name | |
| elif chat_message.video: | |
| return chat_message.video.file_name or f"{message_id}.mp4" | |
| elif chat_message.audio: | |
| return chat_message.audio.file_name or f"{message_id}.mp3" | |
| elif chat_message.voice: | |
| return f"{message_id}.ogg" | |
| elif chat_message.video_note: | |
| return f"{message_id}.mp4" | |
| elif chat_message.animation: | |
| return chat_message.animation.file_name or f"{message_id}.gif" | |
| elif chat_message.sticker: | |
| if chat_message.sticker.is_animated: | |
| return f"{message_id}.tgs" | |
| elif chat_message.sticker.is_video: | |
| return f"{message_id}.webm" | |
| else: | |
| return f"{message_id}.webp" | |
| elif chat_message.photo: | |
| return f"{message_id}.jpg" | |
| else: | |
| return f"{message_id}" | |