osnova-api-alert/routers/tg_send.py

26 lines
792 B
Python

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
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"):
await del_message_from_dashboard(message_id=message.problem_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