48 lines
2.5 KiB
Python
48 lines
2.5 KiB
Python
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])
|
|
# ============================================================================================================================== |