diff --git a/app/api/exception_handler.py b/app/api/exception_handler.py index d43da15..da5864d 100644 --- a/app/api/exception_handler.py +++ b/app/api/exception_handler.py @@ -53,7 +53,8 @@ async def exception_handler(request: Request, exc: Exception, bot: Bot) -> JSONR ) await bot.send_message( - chat_id=settings.CHAT_ID, + chat_id=settings.ERRORS_CHAT_ID, + message_thread_id=settings.ERRORS_THREAD_ID, text=error_text, parse_mode="HTML", link_preview_options=LinkPreviewOptions(is_disabled=True), diff --git a/app/api/routes/broadcast.py b/app/api/routes/broadcast.py index 18edd49..e2af6da 100644 --- a/app/api/routes/broadcast.py +++ b/app/api/routes/broadcast.py @@ -27,7 +27,8 @@ async def send_message_handler( @broadcast_router.post("/error") async def send_error_handler( message: Message, - chat_id: int = Query(default=settings.CHAT_ID, alias="id"), + chat_id: int = Query(default=settings.ERRORS_CHAT_ID, alias="id"), + thread_id: Optional[int] = Query(default=settings.ERRORS_THREAD_ID, alias="thread"), bot: Bot = Depends(BotStub), ) -> JSONResponse: logging.error(message.text) @@ -78,6 +79,7 @@ async def send_error_handler( error_text = "🚨 Backend Error 🚨\n\n" + error_message + traceback_message await bot.send_message( chat_id=chat_id, + message_thread_id=thread_id, text=error_text, parse_mode="HTML", ) diff --git a/app/settings.py b/app/settings.py index 84aef5e..4fd93b9 100644 --- a/app/settings.py +++ b/app/settings.py @@ -11,6 +11,8 @@ class Settings(BaseSettings): TOKEN: SecretStr CHAT_ID: int + ERRORS_CHAT_ID: int + ERRORS_THREAD_ID: Optional[int] = None TELEGRAM_SECRET: SecretStr BASE_URL: AnyUrl = AnyUrl("http://localhost:8000") FRONT_BASE_URL: AnyUrl