Третья часть: сделаны обработчики команд

This commit is contained in:
Verum
2025-02-22 23:14:48 +07:00
parent 705a23b84f
commit 410b8eff59
10 changed files with 113 additions and 9 deletions

View File

@@ -2,12 +2,14 @@
# # Работа с командой /start, для запуска бота
from .user_cmd_class import CommandHandler
from BotCode.keyboards import get_start_kb
# Создание команды /start с нужными параметрами
start_cmd = CommandHandler(
name="start",
description="Запустить бота",
description="Добро пожаловать!",
keywords=["start", "старт", "запуск", "пуск", "on", "вкл", "с", "s", "ы",
"ыефке", "cnfhn", "pfgecr", "gecr", "щт", "drk", "restart", "куыефке"],
text_msg="Старт!",
keyboard=get_start_kb,
)

View File

@@ -7,10 +7,11 @@ from BotLibrary import *
# Класс-шаблон для команд
class CommandHandler:
def __init__(self, name: str, description: str,
keywords: list, text_msg: str,
keyboard=None, prefix = BotVar.prefix,
ignore_case = True,
def __init__(self, name: str, keywords : list,
description: str = "Описание команды", text_msg : str = "Сообщение",
keyboard = None, prefix = BotVar.prefix,
ignore_case : bool = True, activate_keywoards : bool = True,
activate_commands : bool = True,
):
"""
Универсальный обработчик команд для бота.
@@ -30,10 +31,10 @@ class CommandHandler:
self.keyboard = keyboard
# Привязываем хэндлер к роутеру
self.router.message(
Command(*keywords, prefix=prefix, ignore_case=ignore_case)
)(self.handler)
self.router.message(F.text.lower().in_(keywords))(self.handler)
if activate_commands:
self.router.message(Command(*keywords, prefix=prefix, ignore_case=ignore_case))(self.handler)
if activate_keywoards:
self.router.message(F.text.lower().in_(keywords))(self.handler)
async def handler(self, message: types.Message):