Telegram Error-Handling bei fehlendem oder falschen Token hinzugefügt

This commit is contained in:
2026-03-07 20:17:20 +00:00
parent 54be8a6f6f
commit 330dee175f

28
main.py
View File

@@ -11,6 +11,7 @@ import struct
import termios import termios
from telegram import Update from telegram import Update
from telegram.ext import ApplicationBuilder, ContextTypes, MessageHandler, filters from telegram.ext import ApplicationBuilder, ContextTypes, MessageHandler, filters
from telegram.error import InvalidToken
from google import genai from google import genai
from google.genai import types from google.genai import types
import json import json
@@ -228,20 +229,27 @@ async def handle_telegram_message(update: Update, context: ContextTypes.DEFAULT_
@app.on_event("startup") @app.on_event("startup")
async def startup_event(): async def startup_event():
global telegram_app 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...") print("🤖 Starte Telegram Bot im Hintergrund...")
telegram_app = ApplicationBuilder().token(TELEGRAM_TOKEN).build() try:
telegram_app = ApplicationBuilder().token(TELEGRAM_TOKEN).build()
# Leitet alle Text-Nachrichten an unsere Funktion weiter # Leitet alle Text-Nachrichten an unsere Funktion weiter
telegram_app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_telegram_message)) telegram_app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_telegram_message))
# Bot asynchron in die FastAPI Event-Loop einhängen # Bot asynchron in die FastAPI Event-Loop einhängen
await telegram_app.initialize() await telegram_app.initialize()
await telegram_app.start() await telegram_app.start()
await telegram_app.updater.start_polling() await telegram_app.updater.start_polling()
print("✅ Telegram Bot lauscht!") 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: 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") @app.on_event("shutdown")
async def shutdown_event(): async def shutdown_event():