Initial, nothing works

This commit is contained in:
2024-07-19 04:32:27 +03:00
commit 41e459521f
13 changed files with 214 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
import logging
from telebot import TeleBot
from .arguments import ExtraArguments
def setup_middlewares(bot: TeleBot, logger: logging.Logger, i18n):
bot.setup_middleware(ExtraArguments(bot, logger, i18n))
+34
View File
@@ -0,0 +1,34 @@
import logging
from functools import singledispatch
from telebot import TeleBot
from telebot.handler_backends import BaseMiddleware
from telebot import types as tt
class ExtraArguments(BaseMiddleware):
def __init__(self, bot: TeleBot, 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)
def post_process(self, message, data: dict, exception: BaseException):
pass