Update admin

This commit is contained in:
Zakhar Izmaylov
2024-11-20 17:18:28 +03:00
parent 3a4ab1a956
commit ef850506d6
4 changed files with 16 additions and 77 deletions
+1 -3
View File
@@ -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(
+8 -49
View File
@@ -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
+7 -23
View File
@@ -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)
-2
View File
@@ -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):