# Основные админ хэндлеры import logging from aiogram import Router from aiogram.filters import Command from aiogram.types import Message, CallbackQuery from aiogram.utils.keyboard import InlineKeyboardBuilder from database import DatabaseManager from config.settings import ADMIN_USER_ID router = Router() @router.callback_query(lambda c: c.data == "admin_stats") async def admin_stats_callback(callback: CallbackQuery, db: DatabaseManager = None): """Главная админ панель""" if callback.from_user.id != ADMIN_USER_ID: await callback.answer("❌ Access denied", show_alert=True) return builder = InlineKeyboardBuilder() builder.button(text="👥 Users Analytics", callback_data="admin_users") builder.button(text="💰 Finance Analytics", callback_data="admin_finance") builder.button(text="⚙️ Operations Analytics", callback_data="admin_operations") builder.button(text="📈 Business Analytics", callback_data="admin_business") builder.button(text="🏠 Main Menu", callback_data="main_menu") builder.adjust(2, 2, 1) admin_text = ( "🔧 **Admin Panel**\n\n" "Welcome to the administration dashboard!\n\n" "**Available sections:**\n" "• 👥 **Users Analytics** - User statistics and growth\n" "• 💰 **Finance Analytics** - Revenue and payment data\n" "• ⚙️ **Operations Analytics** - System performance\n" "• 📈 **Business Analytics** - Business insights\n\n" "Select a section to view detailed analytics:" ) await callback.message.edit_text(admin_text, reply_markup=builder.as_markup(), parse_mode="Markdown") await callback.answer() @router.message(Command("admin_stats")) async def admin_stats_handler(message: Message, db: DatabaseManager = None): """Команда доступа к админ панели""" if message.from_user.id != ADMIN_USER_ID: await message.answer("❌ Access denied") return builder = InlineKeyboardBuilder() builder.button(text="👥 Users Analytics", callback_data="admin_users") builder.button(text="💰 Finance Analytics", callback_data="admin_finance") builder.button(text="⚙️ Operations Analytics", callback_data="admin_operations") builder.button(text="📈 Business Analytics", callback_data="admin_business") builder.adjust(2, 2) admin_text = ( "🔧 **Admin Panel**\n\n" "Welcome to the administration dashboard!\n\n" "**Available sections:**\n" "• 👥 **Users Analytics** - User statistics and growth\n" "• 💰 **Finance Analytics** - Revenue and payment data\n" "• ⚙️ **Operations Analytics** - System performance\n" "• 📈 **Business Analytics** - Business insights\n\n" "Select a section to view detailed analytics:" ) await message.answer(admin_text, reply_markup=builder.as_markup(), parse_mode="Markdown")