sonali / SONALI /plugins /sudo /assistant.py
kailashhh's picture
SONALI
3353ecc
import os
from inspect import getfullargspec
from pyrogram.types import Message
from pyrogram import filters
from SONALI import app
from SONALI.misc import SUDOERS
from SONALI.utils.database import get_client
ASSISTANT_PREFIX = "."
@app.on_message(filters.command("setpfp", prefixes=ASSISTANT_PREFIX) & SUDOERS)
async def set_pfp(client, message):
from SONALI.core.userbot import assistants
if not message.reply_to_message or not message.reply_to_message.photo:
return await eor(message, text="Rᴇᴘʟʏ ᴛᴏ ᴀɴ ɪᴍᴀɢᴇ.")
for num in assistants:
client = await get_client(num)
photo = await message.reply_to_message.download()
try:
await client.set_profile_photo(photo=photo)
await eor(message, text="Sᴜᴄᴄᴇssғᴜʟʟʏ Cʜᴀɴɢᴇᴅ Pғᴘ.")
os.remove(photo)
except Exception as e:
await eor(message, text=e)
@app.on_message(filters.command("setbio", prefixes=ASSISTANT_PREFIX) & SUDOERS)
async def set_bio(client, message):
from SONALI.core.userbot import assistants
if len(message.command) == 1:
return await eor(message, text="Gɪᴠᴇ sᴏᴍᴇ ᴛᴇxᴛ!")
elif len(message.command) > 1:
for num in assistants:
client = await get_client(num)
bio = message.text.split(None, 1)[1]
try:
await client.update_profile(bio=bio)
await eor(message, text="Bɪᴏ Cʜᴀɴɢᴇᴅ.")
except Exception as e:
await eor(message, text=e)
else:
return await eor(message, text="Gɪᴠᴇ sᴏᴍᴇ ᴛᴇsᴛ ᴛᴏ sᴇᴛ ᴀs ʙɪᴏ.")
@app.on_message(filters.command("setname", prefixes=ASSISTANT_PREFIX) & SUDOERS)
async def set_name(client, message):
from SONALI.core.userbot import assistants
if len(message.command) == 1:
return await eor(message, text="Tᴇxᴛ Tᴏʜ Dᴏ")
elif len(message.command) > 1:
for num in assistants:
client = await get_client(num)
name = message.text.split(None, 1)[1]
try:
await client.update_profile(first_name=name)
await eor(message, text=f"Nᴀᴍᴇ Cʜᴀɴɢᴇᴅ Tᴏ {name} .")
except Exception as e:
await eor(message, text=e)
else:
return await eor(message, text="Nᴀᴀᴍ ᴛᴏʜ ʙᴛᴀᴏ.")
@app.on_message(filters.command("delpfp", prefixes=ASSISTANT_PREFIX) & SUDOERS)
async def del_pfp(client, message):
from SONALI.core.userbot import assistants
for num in assistants:
client = await get_client(num)
photos = [p async for p in client.get_chat_photos("me")]
try:
if photos:
await client.delete_profile_photos(photos[0].file_id)
await eor(message, text="SᴜᴄᴄᴇssFᴜʟʟʏ Dᴇʟᴇᴛᴇᴅ.")
else:
await eor(message, text="Nᴏ Pғᴘ Fᴏᴜɴᴅ Fᴏʀ Dᴇʟᴇᴛᴇ.")
except Exception as e:
await eor(message, text=e)
@app.on_message(filters.command("delallpfp", prefixes=ASSISTANT_PREFIX) & SUDOERS)
async def delall_pfp(client, message):
from SONALI.core.userbot import assistants
for num in assistants:
client = await get_client(num)
photos = [p async for p in client.get_chat_photos("me")]
try:
if photos:
await client.delete_profile_photos([p.file_id for p in photos[1:]])
await eor(message, text="SᴜᴄᴄᴇssFᴜʟʟʏ Dᴇʟᴇᴛᴇᴅ Pɪᴄs")
else:
await eor(message, text="Kᴜᴄʜ Mɪʟᴀ Hᴇᴇ Nᴀʜɪ Dᴇʟᴇᴛᴇ Kᴀʀɴᴇ ᴋ Lɪʏᴇ.")
except Exception as e:
await eor(message, text=e)
async def eor(msg: Message, **kwargs):
func = (
(msg.edit_text if msg.from_user.is_self else msg.reply)
if msg.from_user
else msg.reply
)
spec = getfullargspec(func.__wrapped__).args
return await func(**{k: v for k, v in kwargs.items() if k in spec})