from os import sep from app import app from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton, ChatPermissions from pyrogram import filters from modules.utils import configGet, configSet, jsonLoad, jsonSave, locale, logWrite # Callbacks sus users ========================================================================================================== @app.on_callback_query(filters.regex("sus_allow_[\s\S]*")) async def callback_query_sus_allow(app, clb): fullclb = clb.data.split("_") await app.send_message(configGet("admin_group"), locale("sus_allowed_by", "message").format(clb.from_user.first_name, fullclb[2]), disable_notification=True) logWrite(f"User {fullclb[2]} was allowed to join with another link by {clb.from_user.id}") edited_markup = [[InlineKeyboardButton(text=str(locale("sus_allowed", "button")), callback_data="nothing")]] await clb.message.edit(text=clb.message.text, reply_markup=InlineKeyboardMarkup(edited_markup)) await clb.answer(text=locale("sus_allowed", "callback").format(fullclb[2]), show_alert=True) await app.restrict_chat_member(configGet("destination_group"), int(fullclb[2]), permissions=ChatPermissions( can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_send_polls=True ) ) @app.on_callback_query(filters.regex("sus_reject_[\s\S]*")) async def callback_query_sus_reject(app, clb): fullclb = clb.data.split("_") await app.send_message(configGet("admin_group"), locale("sus_rejected_by", "message").format(clb.from_user.first_name, fullclb[2]), disable_notification=True) logWrite(f"User {fullclb[2]} was rejected to join with another link by {clb.from_user.id}") edited_markup = [[InlineKeyboardButton(text=str(locale("sus_rejected", "button")), callback_data="nothing")]] await clb.message.edit(text=clb.message.text, reply_markup=InlineKeyboardMarkup(edited_markup)) await clb.answer(text=locale("sus_rejected", "callback").format(fullclb[2]), show_alert=True) await app.ban_chat_member(configGet("destination_group"), int(fullclb[2])) jsonSave(jsonLoad(f"{configGet('data', 'locations')}{sep}user_default.json"), f"{configGet('data', 'locations')}{sep}users{sep}{fullclb[2]}.json") configSet(["stage"], 10, file=fullclb[2]) configSet(["rejected"], True, file=fullclb[2]) configSet(["rejected_by"], clb.from_user.id, file=fullclb[2]) # ==============================================================================================================================