Spaces:
Runtime error
Runtime error
File size: 4,815 Bytes
78b07ad |
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
import re
from pyrogram import Client
from pyrogram.types import Message
from . import HelpMenu, Symbols, handler, hellbot, on_message
@on_message("newfed", allow_stan=True)
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
@on_message("renamefed", allow_stan=True)
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
@on_message("fedinfo", allow_stan=True)
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()
|