from datetime import datetime from app import app, isAnAdmin from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton, CallbackQuery from pyrogram import filters from pyrogram.client import Client from modules.utils import locale from modules.database import col_bans from modules.logging import logWrite @app.on_callback_query(filters.regex("ban_[\s\S]*")) async def callback_query_reject(app: Client, clb: CallbackQuery): fullclb = clb.data.split("_") if not await isAnAdmin(int(fullclb[1])): col_bans.insert_one( {"user": int(fullclb[1]), "admin": clb.from_user.id, "date": datetime.now()} ) edited_markup = [ [ InlineKeyboardButton( text=str(locale("banned", "button")), callback_data="nothing" ) ] ] await clb.message.edit( text=clb.message.text, reply_markup=InlineKeyboardMarkup(edited_markup) ) await clb.answer(text=locale("sub_banned", "callback", locale=clb.from_user)) logWrite(f"User {fullclb[1]} has been banned by {clb.from_user.id}") try: await app.send_message(int(fullclb[1]), locale("you_are_banned", "message")) except Exception as exp: logWrite(f"Could send ban message to {fullclb[1]} due to {exp}")