from app import app from pyrogram import filters from pyrogram.types import ForceReply, ReplyKeyboardMarkup, Message from pyrogram.client import Client from classes.holo_user import HoloUser from modules.utils import all_locales, locale, logWrite from modules import custom_filters welcome_1 = [] for pattern in all_locales("welcome", "keyboard"): welcome_1.append(pattern[0][0]) for pattern in all_locales("return", "keyboard"): welcome_1.append(pattern[0][0]) @app.on_message( custom_filters.enabled_applications & ~filters.scheduled & filters.private & filters.command(welcome_1, prefixes=[""]) & ~custom_filters.banned ) async def welcome_pass(app: Client, msg: Message, once_again: bool = False) -> None: """Set user's stage to 1 and start a fresh application ### Args: * app (app): Pyrogram Client to use * msg (Message): Message with .from_user.id attribute equal to the end-user ID whose application will be started * once_again (bool, optional): Set to False if it's the first time as user applies. Defaults to True. """ if not once_again: await msg.reply_text(locale("privacy_notice", "message")) holo_user = HoloUser(msg.from_user) if once_again is False: holo_user.application_restart() if once_again is True: logWrite(f"User {msg.from_user.id} confirmed starting the application") else: logWrite( f"User {msg.from_user.id} confirmed starting the application once again" ) await msg.reply_text( locale("question1", "message", locale=msg.from_user), reply_markup=ForceReply( placeholder=locale("question1", "force_reply", locale=msg.from_user) ), ) welcome_2 = [] for pattern in all_locales("welcome", "keyboard"): welcome_2.append(pattern[1][0]) @app.on_message( custom_filters.enabled_applications & ~filters.scheduled & filters.private & filters.command(welcome_2, prefixes=[""]) & ~custom_filters.banned ) async def welcome_reject(app: Client, msg: Message): logWrite(f"User {msg.from_user.id} rejected to start the application") await msg.reply_text( locale("goodbye", "message", locale=msg.from_user), reply_markup=ReplyKeyboardMarkup( locale("return", "keyboard", locale=msg.from_user), resize_keyboard=True ), )