from flask import Flask, g from telebot import TeleBot from mybot import create_bot from mybot.config import load_config from mybot.database import get_engine from mybot.i18n import I18N from .bot import bp as bot_bp def inject_bot(bot: TeleBot): def inner(): g.bot = bot return inner def create_app(): config = load_config() i18n = I18N(config.i18n) engine = get_engine(config.database) bot = create_bot(config, i18n, engine) app = Flask(__name__) app.register_blueprint(bot_bp, url_prefix=f"/{config.bot.token}") app.before_request(inject_bot(bot)) return app