From 330dee175f0baffc762aa72320ac310b524cb8e2 Mon Sep 17 00:00:00 2001 From: "info@pi-farm.de" Date: Sat, 7 Mar 2026 20:17:20 +0000 Subject: [PATCH] =?UTF-8?q?Telegram=20Error-Handling=20bei=20fehlendem=20o?= =?UTF-8?q?der=20falschen=20Token=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/main.py b/main.py index 3a7e992..756a2fb 100644 --- a/main.py +++ b/main.py @@ -11,6 +11,7 @@ import struct import termios from telegram import Update from telegram.ext import ApplicationBuilder, ContextTypes, MessageHandler, filters +from telegram.error import InvalidToken from google import genai from google.genai import types import json @@ -228,20 +229,27 @@ async def handle_telegram_message(update: Update, context: ContextTypes.DEFAULT_ @app.on_event("startup") async def startup_event(): global telegram_app - if TELEGRAM_TOKEN and ALLOWED_ID: + # Prüfe auch, ob der Token nicht aus Versehen noch der Platzhalter ist + if TELEGRAM_TOKEN and ALLOWED_ID and "dein-telegram-bot-token" not in TELEGRAM_TOKEN: print("🤖 Starte Telegram Bot im Hintergrund...") - telegram_app = ApplicationBuilder().token(TELEGRAM_TOKEN).build() - - # Leitet alle Text-Nachrichten an unsere Funktion weiter - telegram_app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_telegram_message)) - - # Bot asynchron in die FastAPI Event-Loop einhängen - await telegram_app.initialize() - await telegram_app.start() - await telegram_app.updater.start_polling() - print("✅ Telegram Bot lauscht!") + try: + telegram_app = ApplicationBuilder().token(TELEGRAM_TOKEN).build() + + # Leitet alle Text-Nachrichten an unsere Funktion weiter + telegram_app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_telegram_message)) + + # Bot asynchron in die FastAPI Event-Loop einhängen + await telegram_app.initialize() + await telegram_app.start() + await telegram_app.updater.start_polling() + print("✅ Telegram Bot lauscht!") + + except InvalidToken: + print("❌ Telegram-Fehler: Der Token in der .env ist ungültig! Der Bot bleibt inaktiv, aber der Server läuft weiter.") + except Exception as e: + print(f"❌ Unerwarteter Fehler beim Telegram-Start: {e}") else: - print("ℹ️ Telegram Bot inaktiv (Token oder ID fehlen in der .env).") + print("ℹ️ Telegram Bot inaktiv (Token oder ID fehlen/sind Platzhalter in der .env).") @app.on_event("shutdown") async def shutdown_event():