from pyrogram import filters from pyrogram.types import Message from DragMusic import app from DragMusic.utils import extract_user, int_to_alpha from DragMusic.utils.database import ( delete_authuser, get_authuser, get_authuser_names, save_authuser, ) from DragMusic.utils.decorators import AdminActual, language from DragMusic.utils.inline import close_markup from config import BANNED_USERS, adminlist @app.on_message(filters.command("auth") & filters.group & ~BANNED_USERS) @AdminActual async def auth(client, message: Message, _): if not message.reply_to_message: if len(message.command) != 2: return await message.reply_text(_["general_1"]) user = await extract_user(message) token = await int_to_alpha(user.id) _check = await get_authuser_names(message.chat.id) count = len(_check) if int(count) == 25: return await message.reply_text(_["auth_1"]) if token not in _check: assis = { "auth_user_id": user.id, "auth_name": user.first_name, "admin_id": message.from_user.id, "admin_name": message.from_user.first_name, } get = adminlist.get(message.chat.id) if get: if user.id not in get: get.append(user.id) await save_authuser(message.chat.id, token, assis) return await message.reply_text(_["auth_2"].format(user.mention)) else: return await message.reply_text(_["auth_3"].format(user.mention)) @app.on_message(filters.command("unauth") & filters.group & ~BANNED_USERS) @AdminActual async def unauthusers(client, message: Message, _): if not message.reply_to_message: if len(message.command) != 2: return await message.reply_text(_["general_1"]) user = await extract_user(message) token = await int_to_alpha(user.id) deleted = await delete_authuser(message.chat.id, token) get = adminlist.get(message.chat.id) if get: if user.id in get: get.remove(user.id) if deleted: return await message.reply_text(_["auth_4"].format(user.mention)) else: return await message.reply_text(_["auth_5"].format(user.mention)) @app.on_message( filters.command(["authlist", "authusers"]) & filters.group & ~BANNED_USERS ) @language async def authusers(client, message: Message, _): _wtf = await get_authuser_names(message.chat.id) if not _wtf: return await message.reply_text(_["setting_4"]) else: j = 0 mystic = await message.reply_text(_["auth_6"]) text = _["auth_7"].format(message.chat.title) for umm in _wtf: _umm = await get_authuser(message.chat.id, umm) user_id = _umm["auth_user_id"] admin_id = _umm["admin_id"] admin_name = _umm["admin_name"] try: user = (await app.get_users(user_id)).first_name j += 1 except: continue text += f"{j}➤ {user}[{user_id}]\n" text += f" {_['auth_8']} {admin_name}[{admin_id}]\n\n" await mystic.edit_text(text, reply_markup=close_markup(_))