admin menu hooks

This commit is contained in:
Capybara-z
2025-11-18 16:37:25 +03:00
parent 153be452b0
commit afd99691f6
2 changed files with 36 additions and 1 deletions
+13 -1
View File
@@ -38,7 +38,10 @@ from handlers.keys.operations import (
update_subscription,
)
from handlers.utils import generate_random_email, handle_error
from hooks.hook_buttons import insert_hook_buttons
from hooks.processors import process_admin_key_edit_menu
from logger import logger
from aiogram.utils.keyboard import InlineKeyboardBuilder
from ..panel.keyboard import AdminPanelCallback, build_admin_back_btn, build_admin_back_kb
from .keyboard import (
@@ -119,9 +122,18 @@ async def handle_key_edit(
)
if not update or not getattr(callback_data, "edit", False):
kb_markup = build_key_edit_kb(key_obj.__dict__, email)
kb_builder = InlineKeyboardBuilder.from_markup(kb_markup)
hook_buttons = await process_admin_key_edit_menu(
email=email,
session=session,
client_id=key_obj.client_id,
tg_id=key_obj.tg_id,
)
kb_builder = insert_hook_buttons(kb_builder, hook_buttons)
await callback_query.message.edit_text(
text=text,
reply_markup=build_key_edit_kb(key_obj.__dict__, email),
reply_markup=kb_builder.as_markup(),
)
else:
await callback_query.message.edit_text(
+23
View File
@@ -453,6 +453,29 @@ async def process_view_key_menu(
return []
async def process_admin_key_edit_menu(
email: str,
session: Any,
**kwargs,
) -> list:
"""
Обрабатывает хук admin_key_edit_menu.
Возвращает список кнопок для добавления в меню редактирования ключа в админке.
"""
try:
results = await run_hooks(
"admin_key_edit_menu",
email=email,
session=session,
**kwargs,
)
return results if results else []
except Exception as e:
logger.warning(f"[ADMIN_KEY_EDIT_MENU] Ошибка при обработке хука: {e}")
return []
async def process_after_hwid_reset(
chat_id: int,
session: Any,