This repository has been archived on 2026-07-28. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ASF-Control-Bot/bot/handlers/console.py
T

33 lines
1.4 KiB
Python

from aiogram import Router
from aiogram.types import CallbackQuery
from bot.filters import AdminCallbackFilter
from bot.logging_utils import describe_user, get_logger
from bot.state import console_users
from bot.ui.formatters import get_asf_status_text
from bot.ui.keyboards import console_keyboard, main_keyboard
router = Router()
logger = get_logger(__name__)
@router.callback_query(lambda c: c.data == "console", AdminCallbackFilter())
async def console_enter(callback: CallbackQuery) -> None:
user = describe_user(callback.from_user.id)
logger.info("Пользователь вошел в режим консоли ASF: %s", user)
await callback.answer()
console_users.add(callback.from_user.id)
await callback.message.edit_text( # type: ignore[union-attr]
"💻 Консоль ASF\n\nОтправь команду (без !)",
reply_markup=console_keyboard(),
)
@router.callback_query(lambda c: c.data == "console_exit", AdminCallbackFilter())
async def console_exit(callback: CallbackQuery) -> None:
user = describe_user(callback.from_user.id)
logger.info("Пользователь вышел из режима консоли ASF: %s", user)
await callback.answer()
console_users.discard(callback.from_user.id)
await callback.message.edit_text(get_asf_status_text(), reply_markup=main_keyboard()) # type: ignore[union-attr]