diff --git a/app/bot.py b/app/bot.py index 28d54ab..b86ef3a 100644 --- a/app/bot.py +++ b/app/bot.py @@ -1,5 +1,4 @@ import shelve -from flask import request, abort from . import stan from . import rules @@ -384,13 +383,11 @@ def handle_msg(message: types.Message): """ [ WEBHOOK ] """ -@app.route(f"/bot{TOKEN}/", methods=["POST"]) -def webhook(): +@app.post(f"/bot{TOKEN}/") +def webhook(update: dict): """Parse POST requests from Telegram.""" - if request.headers.get("content-type") == "application/json": - json_string = request.get_data().decode("utf-8") - update = types.Update.de_json(json_string) + if update: + update = telebot.types.Update.de_json(update) bot.process_new_updates([update]) - return "" else: - abort(403) + return diff --git a/app/config.py b/app/config.py index a7a4771..d510e34 100644 --- a/app/config.py +++ b/app/config.py @@ -3,7 +3,7 @@ import re import logging import telebot.types -from flask import Flask +from fastapi import FastAPI from telebot import TeleBot, logger, types from dotenv import load_dotenv @@ -29,7 +29,7 @@ bot = TeleBot( ) LOG_TEXT = "[%s] %s: %s" LOG_COMM = "[%s] [%s] %s: %s" -app = Flask(__name__) +app = FastAPI(docs=None, redoc_url=None) DATA = "data/chat" diff --git a/requirements.txt b/requirements.txt index 6f39cf3..951a96f 100644 Binary files a/requirements.txt and b/requirements.txt differ diff --git a/wsgi.py b/wsgi.py index 3c95a08..b334fe5 100644 --- a/wsgi.py +++ b/wsgi.py @@ -1,4 +1 @@ -from app.bot import app - -if __name__ == "__main__": - app.run(debug=False) +from app.bot import app \ No newline at end of file