from fastapi import APIRouter, Depends import logging as log from schemas import TelegramMessageToDashboard from auth import verify_token_admin from telegram import send_message_to_dashboard, del_message_from_dashboard from redis_db import set_value, pop_value router = APIRouter() @router.post("/send") async def send_message( message: TelegramMessageToDashboard, token: str = Depends(verify_token_admin), ): if message.text.startswith("Problem has been resolved"): msg_id = await pop_value(message.problem_id) msg_id = int(msg_id.decode("utf-8")) await del_message_from_dashboard(message_id=msg_id) return result = await send_message_to_dashboard(text=message.text) if result["status"] == 200: log.info(f"Message sent to dashboard: {message.text}") await set_value(message.problem_id, result["msg_id"]) return