from pydurian.db.utils import Depends, User, get_user, inject from pydurian.sms import SmsService from pydurian.sms.errors import ApiError from pyrogram import Client, filters from pyrogram.types import CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup @Client.on_callback_query(filters.regex("get_info")) @inject async def current_countries( client: Client, update: CallbackQuery, user: User = Depends(get_user) ) -> None: sms = SmsService(user.config.sms.user, "0257", user.config.sms.api_key) try: data = await sms.get_user_info() await update.edit_message_text( f"👤المستخدم: {data['username']}\n🌟الرصيد: {data['score']}", reply_markup=InlineKeyboardMarkup( [[InlineKeyboardButton(text="🔙 عودة", callback_data="main_menu")]] ), ) except ApiError as e: await update.answer(f"حدث هذا الخطأ، راجع المطوّر: {e.msg}", show_alert=True)