from fastapi import FastAPI, HTTPException, Response from fastapi.responses import HTMLResponse from telegram_client import TelegramClient from config import get_settings import logging import json logger = logging.getLogger(__name__) app = FastAPI(title="PyroTg Bridge") client = TelegramClient() settings = get_settings() @app.on_event("startup") async def startup(): await client.start() @app.on_event("shutdown") async def shutdown(): await client.stop() @app.get("/html/{channel}/{post_id}", response_class=HTMLResponse) async def get_post_html(channel: str, post_id: int): try: post = await client.get_post(channel, post_id) if post.get("error"): raise HTTPException( status_code=404, detail=post["details"] ) return f"""