1.1 теперь команды могут выполнять асинхронные функции как дополнения
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
from BotLibrary import CommandHandler
|
||||
from BotCode.keyboards import get_help_kb
|
||||
|
||||
# Настройки экспорта в модули
|
||||
__all__ = ("help_cmd",)
|
||||
|
||||
# Создание команды /help с нужными параметрами
|
||||
help_cmd = CommandHandler(
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
from BotLibrary import CommandHandler
|
||||
from BotCode.keyboards import get_start_kb
|
||||
|
||||
# Настройки экспорта в модули
|
||||
__all__ = ("start_cmd",)
|
||||
|
||||
# Создание команды /start с несколькими медиа
|
||||
start_cmd = CommandHandler(
|
||||
name="start",
|
||||
|
||||
@@ -17,7 +17,7 @@ __all__ = ("CommandHandler",)
|
||||
|
||||
# Класс-шаблон для команд
|
||||
class CommandHandler:
|
||||
def __init__(self, text_msg, name: str, keywords: list, chat_action: bool = False,
|
||||
def __init__(self, text_msg, name: str, keywords: list, func = None, chat_action: bool = False,
|
||||
description: str = "Описание команды", tg_links: bool = False,
|
||||
keyboard=None, prefix=BotVar.prefix, callbackdata=None,
|
||||
ignore_case: bool = True, activate_keywoards: bool = True,
|
||||
@@ -38,6 +38,8 @@ class CommandHandler:
|
||||
self.disable_notification = disable_notification
|
||||
|
||||
self.media = media.lower()
|
||||
self.func = func
|
||||
|
||||
# Поддержка до 10 медиафайлов через список
|
||||
if path_to_media is None:
|
||||
self.path_to_media = []
|
||||
@@ -63,6 +65,8 @@ class CommandHandler:
|
||||
async def handler(self, message: types.Message):
|
||||
"""Основной хэндлер команды."""
|
||||
try:
|
||||
if self.func:
|
||||
await self.func(message) # Вызов переданной функции, если она есть
|
||||
if self.tg_links:
|
||||
self.text_msg = self.text_msg.replace("<users>", str(message.from_user.id))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user