Template
Fix arguments middleware and add state storage
This commit is contained in:
@@ -6,4 +6,4 @@ from .arguments import ExtraArguments
|
||||
|
||||
|
||||
def setup_middlewares(bot: TeleBot, logger: logging.Logger, i18n):
|
||||
bot.setup_middleware(ExtraArguments(bot, logger, i18n))
|
||||
bot.setup_middleware(ExtraArguments(logger, i18n))
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
import logging
|
||||
from functools import singledispatch
|
||||
|
||||
from telebot import TeleBot
|
||||
from telebot.handler_backends import BaseMiddleware
|
||||
from telebot import types as tt
|
||||
from telebot.types import Message, CallbackQuery
|
||||
|
||||
|
||||
class ExtraArguments(BaseMiddleware):
|
||||
def __init__(self, bot: TeleBot, logger: logging.Logger, i18n):
|
||||
def __init__(self, logger: logging.Logger, i18n):
|
||||
super().__init__()
|
||||
self.bot = bot
|
||||
self.logger = logger
|
||||
self.i18n = i18n
|
||||
self.update_types = ["message", "callback_query"]
|
||||
|
||||
@singledispatch
|
||||
def pre_process(self, obj, data: dict):
|
||||
raise TypeError()
|
||||
|
||||
@pre_process.register
|
||||
def _(self, message: tt.Message, data: dict):
|
||||
data["bot"] = self.bot
|
||||
data["logger"] = self.logger
|
||||
data["t"] = self.i18n.custom_call(message=message)
|
||||
|
||||
@pre_process.register
|
||||
def _(self, callback: tt.CallbackQuery, data: dict):
|
||||
data["bot"] = self.bot
|
||||
data["logger"] = self.logger
|
||||
data["t"] = self.i18n.custom_call(callback=callback)
|
||||
if isinstance(obj, Message):
|
||||
data["t"] = self.i18n.customized_call(message=obj)
|
||||
elif isinstance(obj, CallbackQuery):
|
||||
data["t"] = self.i18n.customized_call(callback=obj)
|
||||
|
||||
def post_process(self, message, data: dict, exception: BaseException):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user