domovoy_bot/keyboards/admin_menu.py
Admin ba4676b0af v1.0 MVP - Инициализация проекта 🏠
 Регистрация и верификация жильцов
 Рейтинг активности (уровни)
 Детект шпионов (Score 0-100)
 Анти-мат система (3 предупреждения → бан)
 Админ-панель с рассылкой
 Учёт квартир (несколько жильцов)
 Телефоны экстренных служб и мастеров
 Еженедельный экспорт JSON
 Прокси (socks5) для обхода РКН

Бекап: backups/versions/v1.0_mvp_2026-02-26/

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-27 10:54:16 +00:00

117 lines
3.9 KiB
Python

"""
Клавиатуры для админа
"""
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_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='❓ Помощь'),
)
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()