From 480bcf28ab9548bca7406591fc1f3159722df286 Mon Sep 17 00:00:00 2001 From: Zakhar Izmaylov Date: Wed, 20 Nov 2024 17:18:28 +0300 Subject: [PATCH] Update admin --- handlers/admin/admin_coupons.py | 4 +- handlers/admin/admin_panel.py | 57 ++++------------------------- handlers/admin/admin_user_editor.py | 30 ++++----------- handlers/profile.py | 2 - 4 files changed, 16 insertions(+), 77 deletions(-) diff --git a/handlers/admin/admin_coupons.py b/handlers/admin/admin_coupons.py index a2d877ef..585f3cbc 100644 --- a/handlers/admin/admin_coupons.py +++ b/handlers/admin/admin_coupons.py @@ -32,9 +32,7 @@ async def show_coupon_management_menu( InlineKeyboardButton(text="➕ Создать купон", callback_data="create_coupon") ) builder.row(InlineKeyboardButton(text="Купоны", callback_data="coupons")) - builder.row( - InlineKeyboardButton(text="🔙 Назад", callback_data="back_to_admin_menu") - ) + builder.row(InlineKeyboardButton(text="🔙 Назад", callback_data="admin")) markup = builder.as_markup() await callback_query.message.answer( diff --git a/handlers/admin/admin_panel.py b/handlers/admin/admin_panel.py index e020a009..725cfb28 100644 --- a/handlers/admin/admin_panel.py +++ b/handlers/admin/admin_panel.py @@ -30,6 +30,12 @@ async def handle_admin_callback_query(callback_query: CallbackQuery): @router.message(Command("admin"), F.data == "admin", IsAdminFilter()) async def handle_admin_message(message: types.Message): + + try: + await message.delete() + except Exception: + pass + builder = InlineKeyboardBuilder() builder.row( InlineKeyboardButton( @@ -104,9 +110,7 @@ async def user_stats_menu(callback_query: CallbackQuery): builder = InlineKeyboardBuilder() builder.row( - InlineKeyboardButton( - text="🔙 Вернуться в меню", callback_data="back_to_admin_menu" - ) + InlineKeyboardButton(text="🔙 Вернуться в меню", callback_data="admin") ) await callback_query.message.edit_text( @@ -161,57 +165,12 @@ async def user_editor_menu(callback_query: CallbackQuery): text="🆔 Поиск по Telegram ID", callback_data="search_by_tg_id" ) ) - builder.row( - InlineKeyboardButton( - text="🔙 Вернуться назад", callback_data="back_to_admin_menu" - ) - ) + builder.row(InlineKeyboardButton(text="🔙 Вернуться назад", callback_data="admin")) await callback_query.message.edit_text( "👇 Выберите способ поиска пользователя:", reply_markup=builder.as_markup() ) -@router.callback_query(F.data == "back_to_admin_menu", IsAdminFilter()) -async def back_to_admin_menu(callback_query: CallbackQuery): - try: - await callback_query.message.delete() - except Exception: - pass - - tg_id = callback_query.from_user.id - builder = InlineKeyboardBuilder() - builder.row( - InlineKeyboardButton( - text="📊 Статистика пользователей", callback_data="user_stats" - ) - ) - builder.row( - InlineKeyboardButton( - text="👥 Управление пользователями", callback_data="user_editor" - ) - ) - builder.row( - InlineKeyboardButton(text="📢 Массовая рассылка", callback_data="send_to_alls") - ) - builder.row( - InlineKeyboardButton( - text="🎟️ Управление купонами", callback_data="coupons_editor" - ) - ) - builder.row( - InlineKeyboardButton(text="💾 Создать резервную копию", callback_data="backups") - ) - builder.row( - InlineKeyboardButton(text="🔄 Перезагрузить бота", callback_data="restart_bot") - ) - builder.row( - InlineKeyboardButton(text="⬅️ Вернуться в профиль", callback_data="view_profile") - ) - await bot.send_message( - tg_id, "🤖 Панель администратора", reply_markup=builder.as_markup() - ) - - async def handle_error(tg_id, callback_query, message): await bot.edit_message_text( message, chat_id=tg_id, message_id=callback_query.message.message_id diff --git a/handlers/admin/admin_user_editor.py b/handlers/admin/admin_user_editor.py index 6e157034..66a0d52f 100644 --- a/handlers/admin/admin_user_editor.py +++ b/handlers/admin/admin_user_editor.py @@ -12,7 +12,6 @@ from bot import bot from config import CLUSTERS, DATABASE_URL, TOTAL_GB from database import get_client_id_by_email, restore_trial, update_key_expiry from filters.admin import IsAdminFilter -from handlers.admin.admin_panel import back_to_admin_menu from handlers.keys.key_utils import delete_key_from_cluster, renew_key_in_cluster from handlers.utils import sanitize_key_name from logger import logger @@ -74,9 +73,7 @@ async def handle_tg_id_input(message: types.Message, state: FSMContext): ) ) - builder.row( - InlineKeyboardButton(text="🔙 Назад", callback_data="back_to_user_editor") - ) + builder.row(InlineKeyboardButton(text="🔙 Назад", callback_data="admin")) user_info = ( f"📊 Информация о пользователе:\n" @@ -102,7 +99,7 @@ async def handle_restore_trial(callback_query: types.CallbackQuery): builder = InlineKeyboardBuilder() builder.row( InlineKeyboardButton( - text="🔙 Назад в меню администратора", callback_data="back_to_user_editor" + text="🔙 Назад в меню администратора", callback_data="admin" ) ) @@ -145,7 +142,7 @@ async def handle_new_balance_input(message: types.Message, state: FSMContext): builder.row( InlineKeyboardButton( text="🔙 Назад в меню администратора", - callback_data="back_to_user_editor", + callback_data="admin", ) ) await message.reply( @@ -220,9 +217,7 @@ async def process_key_edit(callback_query: CallbackQuery): ), ) builder.row( - InlineKeyboardButton( - text="🔙 Назад", callback_data="back_to_user_editor" - ) + InlineKeyboardButton(text="🔙 Назад", callback_data="admin") ) await callback_query.message.edit_text( response_message, @@ -269,7 +264,7 @@ async def handle_key_name_input(message: types.Message, state: FSMContext): builder.row( InlineKeyboardButton( text="🔙 Назад в меню администратора", - callback_data="back_to_user_editor", + callback_data="admin", ) ) @@ -319,9 +314,7 @@ async def handle_key_name_input(message: types.Message, state: FSMContext): ) ) - key_buttons.row( - InlineKeyboardButton(text="🔙 Назад", callback_data="back_to_user_editor") - ) + key_buttons.row(InlineKeyboardButton(text="🔙 Назад", callback_data="admin")) await message.reply( "\n".join(response_messages), @@ -401,11 +394,7 @@ async def handle_expiry_time_input(message: types.Message, state: FSMContext): response_message = f"✅ Время истечения ключа для клиента {client_id} ({email}) успешно обновлено на всех серверах." builder = InlineKeyboardBuilder() - builder.row( - InlineKeyboardButton( - text="🔙 Назад", callback_data="back_to_user_editor" - ) - ) + builder.row(InlineKeyboardButton(text="🔙 Назад", callback_data="admin")) await message.reply( response_message, reply_markup=builder.as_markup(), parse_mode="HTML" ) @@ -536,8 +525,3 @@ async def delete_key_from_db(client_id): logger.error(f"Ошибка при удалении ключа {client_id} из базы данных: {e}") finally: await conn.close() - - -@router.callback_query(F.data == "back_to_user_editor") -async def back_to_user_editor(callback_query: CallbackQuery): - await back_to_admin_menu(callback_query) diff --git a/handlers/profile.py b/handlers/profile.py index a928f103..817b67c5 100644 --- a/handlers/profile.py +++ b/handlers/profile.py @@ -87,8 +87,6 @@ async def process_callback_view_profile( chat_id, f"❗️ Не удалось загрузить профиль. Техническая ошибка: {e}" ) - await callback_query.answer() - @router.callback_query(F.data == "invite") async def invite_handler(callback_query: types.CallbackQuery):