Skip to content

Commit

Permalink
Docstring, typehints
Browse files Browse the repository at this point in the history
  • Loading branch information
teanus committed Aug 2, 2024
1 parent fe2555a commit 3705b3e
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 3 deletions.
7 changes: 5 additions & 2 deletions render_template/__init__.py
Original file line number Diff line number Diff line change
@@ -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,
)
32 changes: 32 additions & 0 deletions routers/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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()
Expand Down Expand Up @@ -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,
Expand Down
12 changes: 12 additions & 0 deletions routers/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -36,4 +43,9 @@ async def start(message: Message) -> None:


async def register_routers() -> None:
"""
Регистрация routers для обработки сообщений common.
:return: None
"""
common_router.message.register(start)
28 changes: 27 additions & 1 deletion routers/other.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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(
Expand Down

0 comments on commit 3705b3e

Please sign in to comment.