from pyrogram import Client, filters from pyrogram.types import CallbackQuery, Message from utils import filters as myfilters from utils.client import MyClient from utils.db import Depends, User, get_user, inject from utils.i18n import tr as _ from utils.messages import message_handler @Client.on_message(filters.private & ~myfilters.is_open & ~myfilters.is_admin, group=-10) @inject async def under_maintenance(client: MyClient, msg: Message, user: User = Depends(get_user)) -> None: await message_handler( msg.reply, _( "common.under_maintenance", ), ) msg.stop_propagation() @Client.on_callback_query(~myfilters.is_open & ~myfilters.is_admin, group=-10) async def under_maintenance_query(client: MyClient, query: CallbackQuery) -> None: await message_handler( query.answer, _( "common.under_maintenance", ), show_alert=True, cache_time=180, ) query.stop_propagation() @Client.on_message(filters.private & filters.command(["start"]) & ~myfilters.is_banned) @inject async def start(client: MyClient, msg: Message, user: User = Depends(get_user)) -> None: await message_handler( msg.reply, _( "start.hello", first_name=msg.from_user.first_name, locale=user.language, ), )