from __future__ import annotations from pyrogram import Client, filters from pyrogram.types import CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup from utils import filters as myfilters from utils.client import MyClient from utils.db import Depends, User, get_user_query, inject from utils.i18n import tr as _ from utils.messages import message_handler from utils.queue import okru_queue, tg_download_queue @Client.on_callback_query(filters.regex("cp_number-of-tasks") & myfilters.is_admin) @inject async def number_of_tasks( client: MyClient, query: CallbackQuery, user: User = Depends(get_user_query) ) -> None: keyboard = InlineKeyboardMarkup( [ [InlineKeyboardButton(_("common.back", locale=user.language), "cp_main-menu")], ] ) telegram_tasks = tg_download_queue.qsize() processing_tasks = okru_queue.qsize() await message_handler( query.edit_message_text, _( "cp.tasks_number_message", telegram_tasks=telegram_tasks, processing_tasks=processing_tasks, locale=user.language, ), reply_markup=keyboard, )