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 import Bot, Dispatcher
from aiogram.dispatcher.webhook import SendMessage
from aiogram.contrib.middlewares.logging import LoggingMiddleware from aiogram.contrib.middlewares.logging import LoggingMiddleware
from config import Config from config import Config
from .handlers import register_handlers from .commands import register_handlers
config = Config() 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'])