add ruff format, ruff check, time_picker, project structure and imports reorganized

This commit is contained in:
Alexander Kalinovsky
2025-01-21 23:50:19 +01:00
parent ced47ac993
commit 9dd0708a5b
58 changed files with 3690 additions and 2583 deletions

View File

@@ -1,8 +1,9 @@
from typing import Annotated
from fastapi import APIRouter, Depends, Request, Response
from sqlmodel.ext.asyncio.session import AsyncSession
from ..main import QBotApp
from ..db import get_db
from aiogram.types import Update
from logging import getLogger
@@ -14,24 +15,25 @@ router = APIRouter()
@router.post("/webhook")
async def telegram_webhook(db_session: Annotated[AsyncSession, Depends(get_db)],
request: Request):
async def telegram_webhook(
db_session: Annotated[AsyncSession, Depends(get_db)], request: Request
):
logger.debug("Webhook request %s", await request.json())
app = request.app #type: QBotApp
app: QBotApp = request.app
request_token = request.headers.get("X-Telegram-Bot-Api-Secret-Token")
if request_token != app.bot_auth_token:
logger.warning("Unauthorized request %s", request)
return Response(status_code = 403)
return Response(status_code=403)
try:
update = Update(**await request.json())
except:
logger.error("Invalid request", exc_info = True)
return Response(status_code = 400)
except Exception:
logger.error("Invalid request", exc_info=True)
return Response(status_code=400)
try:
await app.dp.feed_webhook_update(app.bot, update, db_session = db_session, app = app)
except:
logger.error("Error processing update", exc_info = True)
return Response(status_code = 200)
await app.dp.feed_webhook_update(
app.bot, update, db_session=db_session, app=app
)
except Exception:
logger.error("Error processing update", exc_info=True)
return Response(status_code=200)