Spaces:
Runtime error
Runtime error
| import re | |
| from pyrogram import Client | |
| from pyrogram.types import Message | |
| from . import HelpMenu, Symbols, handler, hellbot, on_message | |
| async def newfed(client: Client, message: Message): | |
| if len(message.command) < 2: | |
| return await hellbot.delete(message, f"Usage: {handler}newfed <fedname>") | |
| bot_un = "@MissRose_bot" | |
| await client.unblock_user(bot_un) | |
| fedname = await hellbot.input(message) | |
| hell = await hellbot.edit(message, f"__Creating new federation__ **{fedname}**") | |
| extract_fedid = ( | |
| lambda text: re.search(r"FedID: (\S+)", text).group(1) | |
| if re.search(r"FedID: (\S+)", text) | |
| else None | |
| ) | |
| try: | |
| msg1 = await client.ask(bot_un, f"/newfed {fedname}", timeout=60) | |
| except Exception as e: | |
| return await hellbot.error(hell, f"`{e}`") | |
| if "created new federation" in msg1.text.lower(): | |
| await hell.edit( | |
| f"**ππΎπ π₯πΎπ½πΎππΊππππ πΌππΎπΊππΎπ½ ππ {bot_un}:** `{fedname}` \n**π₯πΎπ½π¨π½:** `{extract_fedid(msg1.text)[:-1]}`" | |
| ) | |
| else: | |
| await hellbot.delete(hell, f"**Failed to create federation!**\n\n`{msg1.text}`") | |
| try: | |
| await msg1.request.delete() | |
| await msg1.delete() | |
| except: | |
| pass | |
| async def renamefed(client: Client, message: Message): | |
| if len(message.command) < 2: | |
| return await hellbot.delete(message, f"Usage: {handler}renamefed <new fedname>") | |
| bot_un = "@MissRose_bot" | |
| await client.unblock_user(bot_un) | |
| fedname = await hellbot.input(message) | |
| hell = await hellbot.edit(message, f"__Renaming federation to__ **{fedname}**") | |
| try: | |
| msg1 = await client.ask(bot_un, f"/renamefed {fedname}", timeout=60) | |
| except Exception as e: | |
| return await hellbot.error(hell, f"`{e}`") | |
| if "renamed your federation from" in msg1.text.lower(): | |
| await hell.edit(f"**π₯πΎπ½πΎππΊππππ ππΎππΊππΎπ½ ππ** `{fedname}`") | |
| else: | |
| await hellbot.delete(hell, f"**Failed to rename federation!**\n\n`{msg1.text}`") | |
| try: | |
| await msg1.request.delete() | |
| await msg1.delete() | |
| except: | |
| pass | |
| async def fedinfo(client: Client, message: Message): | |
| if len(message.command) < 2: | |
| fedid = "" | |
| else: | |
| fedid = message.command[1] | |
| bot_un = "@MissRose_bot" | |
| await client.unblock_user(bot_un) | |
| get_value = lambda pattern: pattern.group(1) if pattern else None | |
| hell = await hellbot.edit(message, "__Fetching federation info__") | |
| try: | |
| msg1 = await client.ask(bot_un, f"/fedinfo {fedid}", timeout=60) | |
| except Exception as e: | |
| return await hellbot.error(hell, f"`{e}`") | |
| if "fed info" in msg1.text.lower(): | |
| fedid, name, creator, admins, bans, connected_chats, subscribed_feds = map( | |
| get_value, | |
| ( | |
| re.search(r"FedID: (\S+)", msg1.text), | |
| re.search(r"Name: (.+)", msg1.text), | |
| re.search(r"Creator: (.+)", msg1.text), | |
| re.search(r"admins: (\d+)", msg1.text), | |
| re.search(r"bans: (\d+)", msg1.text), | |
| re.search(r"connected chats: (\d+)", msg1.text), | |
| re.search(r"subscribed feds: (\d+)", msg1.text), | |
| ), | |
| ) | |
| await hell.edit( | |
| f"**{Symbols.anchor} π₯πΎπ½π¨π½:** `{fedid}`\n" | |
| f"**{Symbols.anchor} ππΊππΎ:** `{name}`\n" | |
| f"**{Symbols.anchor} π’ππΎπΊπππ:** {creator}\n" | |
| f"**{Symbols.anchor} π³πππΊπ πΊπ½ππππ:** `{admins}`\n" | |
| f"**{Symbols.anchor} π³πππΊπ π»πΊππ::** `{bans}`\n" | |
| f"**{Symbols.anchor} π’ππππΎπΌππΎπ½ π’ππΊππ:** `{connected_chats}`\n" | |
| f"**{Symbols.anchor} π²ππ»ππΌπππ»πΎπ½ π₯πΎπ½π²:** `{subscribed_feds}`\n" | |
| ) | |
| else: | |
| await hellbot.delete(hell, f"**Failed to fetch federation info!**\n\n`{msg1.text}`") | |
| try: | |
| await msg1.request.delete() | |
| await msg1.delete() | |
| except: | |
| pass | |
| HelpMenu("federation").add( | |
| "newfed", "<name>", "Create a new federation on Rose Bot.", "newfed Example Name", | |
| ).add( | |
| "renamefed", "<name>", "Rename your federation on Rose Bot.", "renamefed Example Name", | |
| ).add( | |
| "fedinfo", "<fedid>", "Get info about a federation on Rose Bot.", "fedinfo fed-id", | |
| ).info( | |
| "MissRose Federation" | |
| ).done() | |