Moved handlers to telegram/commands package

This commit is contained in:
Alexey Sokolov
2022-08-12 02:00:59 +03:00
parent d1425aaa8e
commit 043584c730
4 changed files with 31 additions and 13 deletions

View File

@@ -1,10 +1,9 @@
from aiogram import Bot, Dispatcher
from aiogram.dispatcher.webhook import SendMessage
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from config import Config
from .handlers import register_handlers
from .commands import register_handlers
config = Config()

View File

@@ -0,0 +1,24 @@
from dataclasses import dataclass
import typing
from aiogram import Dispatcher
from .test import telegram_test
@dataclass
class Handler:
"""
Dataclass of handlers with help string.
"""
function: typing.Callable
help_string: str
handlers: dict[str, Handler] = {
'test': Handler(telegram_test, 'Отвечает "passed"')
}
def register_handlers(dispatcher: Dispatcher):
for command, handler in handlers.items():
dispatcher.register_message_handler(handler, commands=[command])

View File

@@ -0,0 +1,6 @@
from aiogram.types import Message
from aiogram.dispatcher.webhook import SendMessage
async def telegram_test(message: Message) -> SendMessage:
return SendMessage(message.chat.id, 'passed!')

View File

@@ -1,11 +0,0 @@
from aiogram import Dispatcher
from aiogram.dispatcher.webhook import SendMessage
from aiogram.types import Message
async def telegram_test(message: Message) -> SendMessage:
return SendMessage(message.chat.id, 'passed')
def register_handlers(dispatcher: Dispatcher):
dispatcher.register_message_handler(telegram_test, commands=['test'])