domovoy_bot/keyboards/admin_menu.py
Admin af4e7d2c5d fix: Добавлены кнопки для unverify и unverified_list
 Кнопки в inline меню админа
 Кнопки в reply меню админа
 Обработчики callback для кнопок
 Исправлено отображение команд

📦 Бекап: backups/versions/v2.1.1_buttons_fix_2026-02-28/

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-28 20:07:16 +00:00

125 lines
4.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
Клавиатуры для админа
"""
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.utils.keyboard import InlineKeyboardBuilder, ReplyKeyboardBuilder
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton
def get_admin_main_menu() -> InlineKeyboardMarkup:
"""Главное меню админа (inline)"""
builder = InlineKeyboardBuilder()
builder.row(
InlineKeyboardButton(text='📊 Статистика', callback_data='admin_stats'),
InlineKeyboardButton(text='🕵️ Шпионы', callback_data='admin_spies'),
)
builder.row(
InlineKeyboardButton(text='👥 Пользователи', callback_data='admin_users'),
InlineKeyboardButton(text='⏳ Непроверенные', callback_data='admin_unverified'),
)
builder.row(
InlineKeyboardButton(text='🏠 Квартиры', callback_data='admin_apartments'),
InlineKeyboardButton(text='⚠️ Предупреждения', callback_data='admin_warnings'),
)
builder.row(
InlineKeyboardButton(text='🏆 Рейтинг', callback_data='admin_rating'),
InlineKeyboardButton(text='📥 Экспорт', callback_data='admin_export'),
)
builder.row(
InlineKeyboardButton(text='📤 Рассылка', callback_data='admin_broadcast'),
)
builder.row(
InlineKeyboardButton(text='🚫 Отозвать вериф.', callback_data='admin_unverify'),
InlineKeyboardButton(text='📋 Список не вериф.', callback_data='admin_unverified_list'),
)
builder.row(
InlineKeyboardButton(text='❓ Помощь', callback_data='admin_help'),
)
return builder.as_markup()
def get_admin_reply_menu() -> ReplyKeyboardMarkup:
"""Главное меню админа (reply - кнопки под полем ввода)"""
builder = ReplyKeyboardBuilder()
builder.row(
KeyboardButton(text='📊 Статистика'),
KeyboardButton(text='🕵️ Шпионы'),
)
builder.row(
KeyboardButton(text='👥 Пользователи'),
KeyboardButton(text='⏳ Непроверенные'),
)
builder.row(
KeyboardButton(text='🏠 Квартиры'),
KeyboardButton(text='⚠️ Предупреждения'),
)
builder.row(
KeyboardButton(text='🏆 Рейтинг'),
KeyboardButton(text='📥 Экспорт'),
)
builder.row(
KeyboardButton(text='📤 Рассылка'),
)
builder.row(
KeyboardButton(text='🚫 Отозвать вериф.'),
KeyboardButton(text='📋 Не верифицированные'),
)
builder.row(
KeyboardButton(text='❓ Помощь'),
)
return builder.as_markup(resize_keyboard=True)
def get_admin_help_menu() -> InlineKeyboardMarkup:
"""Меню помощи админа"""
builder = InlineKeyboardBuilder()
builder.button(text='🔙 Назад', callback_data='admin_menu')
return builder.as_markup()
def get_admin_apartments_menu() -> InlineKeyboardMarkup:
"""Меню квартир"""
builder = InlineKeyboardBuilder()
builder.row(
InlineKeyboardButton(text='📊 Статистика квартир', callback_data='admin_apt_stats'),
)
builder.row(
InlineKeyboardButton(text='🔙 Назад', callback_data='admin_menu'),
)
return builder.as_markup()
def get_admin_warnings_menu() -> InlineKeyboardMarkup:
"""Меню предупреждений"""
builder = InlineKeyboardBuilder()
builder.row(
InlineKeyboardButton(text='📋 Список предупреждений', callback_data='admin_warn_list'),
)
builder.row(
InlineKeyboardButton(text='🔙 Назад', callback_data='admin_menu'),
)
return builder.as_markup()
def get_admin_rating_menu() -> InlineKeyboardMarkup:
"""Меню рейтинга"""
builder = InlineKeyboardBuilder()
builder.row(
InlineKeyboardButton(text='🏆 Топ-10', callback_data='admin_top'),
InlineKeyboardButton(text='📊 Уровни', callback_data='admin_rank'),
)
builder.row(
InlineKeyboardButton(text='🔙 Назад', callback_data='admin_menu'),
)
return builder.as_markup()