diff --git a/app/app.py b/app/app.py index 7db27f5..3349ce5 100644 --- a/app/app.py +++ b/app/app.py @@ -220,7 +220,7 @@ async def send_batch_notification(): file_list_str = "\n".join(f"{name}" for name in filenames) msg = f"New files uploaded:\n\n- Files: {num_files}\n- Total size: {human_size(total_size)}\n\n```\n{file_list_str}\n```".strip() - await send_telegram_message(TELEGRAM_OWNER_ID, msg) + await send_telegram_message(TELEGRAM_OWNER_ID, msg, markdown=True) def _schedule_batch_notification(): # Helper to run async func from sync context of call_later @@ -249,13 +249,16 @@ async def add_file_to_batch(filename: str, size: int): TELEGRAM_API_URL = f"https://api.telegram.org/bot{SETTINGS.telegram_bot_api_key}" TELEGRAM_OWNER_ID = SETTINGS.telegram_bot_owner_id -async def send_telegram_message(chat_id: str, text: str): +async def send_telegram_message(chat_id: str, text: str, markdown: bool = False): """Send a message via Telegram bot.""" if not SETTINGS.telegram_bot_api_key: return + payload = {"chat_id": chat_id, "text": text} + if markdown: + payload["parse_mode"] = "MarkdownV2" async with httpx.AsyncClient() as client: try: - await client.post(f"{TELEGRAM_API_URL}/sendMessage", json={"chat_id": chat_id, "text": text}) + await client.post(f"{TELEGRAM_API_URL}/sendMessage", json=payload) logger.info("Sent Telegram message to %s", chat_id) except Exception as e: logger.error("Failed to send Telegram message: %s", e)