53 lines
1.5 KiB
Python
53 lines
1.5 KiB
Python
from aiogram import F, Router, types
|
|
from aiogram.filters import Command
|
|
from aiogram.fsm.context import FSMContext
|
|
from aiogram.types import CallbackQuery
|
|
|
|
from filters.admin import IsAdminFilter
|
|
from keyboards.admin.panel_kb import build_panel_kb, AdminPanelCallback, build_management_kb
|
|
|
|
router = Router()
|
|
|
|
|
|
@router.callback_query(
|
|
AdminPanelCallback.filter(F.action == "admin"),
|
|
IsAdminFilter()
|
|
)
|
|
async def handle_admin_callback_query(callback_query: CallbackQuery, state: FSMContext):
|
|
await state.clear()
|
|
await callback_query.message.edit_text(
|
|
text="🤖 Панель администратора",
|
|
reply_markup=build_panel_kb()
|
|
)
|
|
|
|
|
|
@router.callback_query(
|
|
F.data == "admin",
|
|
IsAdminFilter()
|
|
)
|
|
async def handle_admin_callback_query(callback_query: CallbackQuery, state: FSMContext):
|
|
await handle_admin_message(callback_query.message, state)
|
|
|
|
|
|
@router.message(
|
|
Command("admin"),
|
|
IsAdminFilter()
|
|
)
|
|
async def handle_admin_message(message: types.Message, state: FSMContext):
|
|
await state.clear()
|
|
await message.answer(
|
|
text="🤖 Панель администратора",
|
|
reply_markup=build_panel_kb()
|
|
)
|
|
|
|
|
|
@router.callback_query(
|
|
AdminPanelCallback.filter(F.action == "management"),
|
|
IsAdminFilter()
|
|
)
|
|
async def handle_management(callback_query: CallbackQuery):
|
|
await callback_query.message.edit_text(
|
|
text="🤖 Управление ботом",
|
|
reply_markup=build_management_kb(),
|
|
)
|