import os import logging import httpx logger = logging.getLogger(__name__) async def send_telegram_notification(message: str) -> bool: """ Envoie un message formaté en Markdown à l'administrateur via Telegram. Utilise les variables d'environnement TELEGRAM_BOT_TOKEN et TELEGRAM_CHAT_ID. """ bot_token = os.getenv("TELEGRAM_BOT_TOKEN") chat_id = os.getenv("TELEGRAM_CHAT_ID") if not bot_token or not chat_id: logger.warning("Notification Telegram ignorée : TELEGRAM_BOT_TOKEN ou TELEGRAM_CHAT_ID non configuré.") return False url = f"https://api.telegram.org/bot{bot_token}/sendMessage" payload = { "chat_id": chat_id, "text": message, "parse_mode": "Markdown" } try: async with httpx.AsyncClient(timeout=10.0) as client: resp = await client.post(url, json=payload) if resp.status_code == 200: logger.info("Notification Telegram envoyée avec succès.") return True else: logger.error(f"Échec de l'envoi Telegram (HTTP {resp.status_code}): {resp.text}") return False except Exception as e: logger.error(f"Erreur lors de l'envoi de la notification Telegram : {e}") return False