|
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}[<code>{user_id}</code>]\n" |
|
text += f" {_['auth_8']} {admin_name}[<code>{admin_id}</code>]\n\n" |
|
await mystic.edit_text(text, reply_markup=close_markup(_)) |
|
|