from os import sep from pathlib import Path from pyrogram import filters from pyrogram.client import Client from pyrogram.types import CallbackQuery from modules.utils import jsonLoad, jsonSave, configGet, locale from modules.submissions import subBlock, subUnblock from modules.app import app @app.on_callback_query(filters.regex("sub_yes_[\s\S]*_[\s\S]*")) async def callback_query_yes(app: Client, clb: CallbackQuery): fullclb = clb.data.split("_") user_locale = clb.from_user.language_code try: submission = await app.get_messages(int(fullclb[2]), int(fullclb[3])) except: await clb.answer(text=locale("sub_msg_unavail", "message", locale=user_locale), show_alert=True) return try: media = await app.download_media(submission, file_name=configGet("queue", "locations")+sep) if clb.data.endswith("_caption"): index = jsonLoad(configGet("index", "locations")) index["captions"][Path(media).name] = submission.caption jsonSave(index, configGet("index", "locations")) except: await clb.answer(text=locale("sub_media_unavail", "message", locale=user_locale), show_alert=True) return await submission.reply_text(locale("sub_yes", "message", locale=submission.from_user.language_code), quote=True) await clb.answer(text=locale("sub_yes", "callback", locale=user_locale).format(fullclb[2]), show_alert=True) @app.on_callback_query(filters.regex("sub_no_[\s\S]*_[\s\S]*")) async def callback_query_no(app: Client, clb: CallbackQuery): fullclb = clb.data.split("_") user_locale = clb.from_user.language_code try: submission = await app.get_messages(int(fullclb[2]), int(fullclb[3])) except: await clb.answer(text=locale("sub_msg_unavail", "message", locale=user_locale), show_alert=True) return await submission.reply_text(locale("sub_no", "message", locale=submission.from_user.language_code), quote=True) await clb.answer(text=locale("sub_no", "callback", locale=user_locale).format(fullclb[2]), show_alert=True) @app.on_callback_query(filters.regex("sub_block_[\s\S]*")) async def callback_query_block(app: Client, clb: CallbackQuery): fullclb = clb.data.split("_") user_locale = clb.from_user.language_code await app.send_message(int(fullclb[2]), locale("sub_msg_unavail", "message", locale=configGet("locale"))) subBlock(int(fullclb[2])) await clb.answer(text=locale("sub_block", "callback", locale=user_locale).format(fullclb[2]), show_alert=True) @app.on_callback_query(filters.regex("sub_unblock_[\s\S]*")) async def callback_query_unblock(app: Client, clb: CallbackQuery): fullclb = clb.data.split("_") user_locale = clb.from_user.language_code await app.send_message(int(fullclb[2]), locale("sub_msg_unavail", "message", locale=configGet("locale"))) subUnblock(int(fullclb[2])) await clb.answer(text=locale("sub_unblock", "callback", locale=user_locale).format(fullclb[2]), show_alert=True)