diff --git a/render_template/__init__.py b/render_template/__init__.py index f14c5b5..09a5c9f 100644 --- a/render_template/__init__.py +++ b/render_template/__init__.py @@ -1,2 +1,5 @@ -from render_template.render import (load_keyboards, load_valid_commands, - render_template_jinja) +from render_template.render import ( + load_keyboards, + load_valid_commands, + render_template_jinja, +) diff --git a/routers/client.py b/routers/client.py index a471f59..45bbd10 100644 --- a/routers/client.py +++ b/routers/client.py @@ -40,6 +40,15 @@ class FsmClient(StatesGroup): async def rcon_cmd(message: types.Message, state: FSMContext) -> None: + """ + Обрабатывает команду RCON от пользователя, проверяет права доступа и отвечает на сообщение. + + :param message: Сообщение от пользователя. + :type message: types.Message + :param state: Состояние конечного автомата. + :type state: FSMContext + :return: None + """ chat_id = message.chat.id user_id = message.from_user.id is_admin = await db.check_admin(chat_id) @@ -57,6 +66,15 @@ async def rcon_cmd(message: types.Message, state: FSMContext) -> None: async def cancel_state_rcon(message: types.Message, state: FSMContext) -> None: + """ + Обрабатывает отмену состояния RCON и возвращает в главное меню. + + :param message: Сообщение от пользователя. + :type message: types.Message + :param state: Состояние конечного автомата. + :type state: FSMContext + :return + """ chat_id = message.chat.id main_menu = await get_main_menu(chat_id) is_admin = await db.check_admin(chat_id) @@ -68,6 +86,15 @@ async def cancel_state_rcon(message: types.Message, state: FSMContext) -> None: async def get_command(message: types.Message, state: FSMContext) -> None: + """ + Обрабатывает команду RCON от пользователя и отправляет результат выполнения команды. + + :param message: Сообщение от пользователя. + :type message: types.Message + :param state: Состояние конечного автомата. + :type state: FSMContext + :return: None + """ chat_id = message.chat.id user_id = message.from_user.id low = message.text.lower() @@ -105,6 +132,11 @@ async def get_command(message: types.Message, state: FSMContext) -> None: async def register_routers() -> None: + """ + Регистрация routers для обработки сообщений client. + + :return: None + """ client_router.message.register(rcon_cmd, TextInFilter(valid_commands["rcon"])) client_router.message.register( cancel_state_rcon, diff --git a/routers/common.py b/routers/common.py index 6310bb6..0f74847 100644 --- a/routers/common.py +++ b/routers/common.py @@ -25,6 +25,13 @@ async def start(message: Message) -> None: + """ + Обрабатывает команду /start. Отправляет пользователю начальное сообщение с меню и информацией о доступе. + + :param message: Сообщение от пользователя. + :type message: types.Message + :return: None + """ chat_id = message.chat.id menu = await get_main_menu(chat_id) is_admin = await db.check_admin(chat_id) @@ -36,4 +43,9 @@ async def start(message: Message) -> None: async def register_routers() -> None: + """ + Регистрация routers для обработки сообщений common. + + :return: None + """ common_router.message.register(start) diff --git a/routers/other.py b/routers/other.py index 3390991..857c92d 100644 --- a/routers/other.py +++ b/routers/other.py @@ -15,7 +15,7 @@ import os -from aiogram import F, Router, types +from aiogram import Router, types from custom_filters import TextInFilter from render_template import load_valid_commands, render_template_jinja @@ -27,20 +27,46 @@ async def id_command(message: types.Message) -> None: + """ + Обрабатывает команду для получения идентификатора чата и отвечает сообщением с этим идентификатором. + + :param message: Сообщение от пользователя. + :type message: types.Message + :return: None + """ chat_id = message.chat.id context = {"chat_id": chat_id} await message.reply(render_template_jinja("other/id_command.jinja2", **context)) async def info_command(message: types.Message) -> None: + """ + Отправляет информацию о разработчике и его сайт. + + :param message: Сообщение от пользователя. + :type message: types.Message + :return: None + """ await message.answer("Разработчик: t.me/teanus\nСайт: https://teanus.ru") async def support_command(message: types.Message) -> None: + """ + Отправляет сообщение с информацией о поддержке. + + :param message: Сообщение от пользователя. + :type message: types.Message + :return: None + """ await message.reply(render_template_jinja("other/support_command.jinja2")) async def register_routers() -> None: + """ + Регистрация routers для обработки сообщений other. + + :return: None + """ other_router.message.register(id_command, TextInFilter(valid_commands["id"])) other_router.message.register(info_command, TextInFilter(valid_commands["info"])) other_router.message.register(