Files
TI-Status-Bot/test_apprise.py

99 lines
2.9 KiB
Python

#!/usr/bin/env python3
"""
Einfacher Test für Apprise Mattermost-Verbindung
"""
import os
from dotenv import load_dotenv
import apprise
# Lade .env Datei
load_dotenv()
def test_mattermost_connection():
"""Testet die Mattermost-Verbindung über Apprise"""
# Hole Apprise URL aus .env
apprise_url = os.getenv('APPRISE_URL')
if not apprise_url:
print("❌ APPRISE_URL nicht in .env gefunden!")
print("Bitte erstelle eine .env Datei mit deiner Apprise URL")
return False
print(f"🔗 Teste Apprise URL: {apprise_url}")
try:
# Erstelle Apprise Objekt
apobj = apprise.Apprise()
# Füge die URL hinzu
apobj.add(apprise_url)
# Teste die Verbindung
print("📡 Sende Test-Nachricht...")
# Sende eine Test-Nachricht
result = apobj.notify(
title="🧪 TI-Status Test",
body="Dies ist eine Test-Nachricht von der TI-Status2Mattermost App.\n\n✅ Apprise-Verbindung funktioniert!",
body_format=apprise.NotifyFormat.MARKDOWN
)
if result:
print("✅ Test erfolgreich! Nachricht wurde gesendet.")
return True
else:
print("❌ Test fehlgeschlagen. Keine Nachricht gesendet.")
return False
except Exception as e:
print(f"❌ Fehler beim Test: {e}")
return False
def test_without_env():
"""Testet mit einer direkten Mattermost URL"""
print("\n🔧 Alternative: Teste mit direkter URL")
print("Beispiel für Mattermost Webhook:")
print("mattermost://username:password@mattermost.medisoftware.org/channel?webhook=your_webhook_id")
# Hier könntest du eine Test-URL direkt eingeben
test_url = input("Gib deine Apprise URL ein (oder Enter für Skip): ").strip()
if not test_url:
print("⏭️ Test übersprungen")
return
try:
apobj = apprise.Apprise()
apobj.add(test_url)
result = apobj.notify(
title="🧪 Direkter Test",
body="Direkter Apprise-Test erfolgreich!",
body_format=apprise.NotifyFormat.MARKDOWN
)
if result:
print("✅ Direkter Test erfolgreich!")
else:
print("❌ Direkter Test fehlgeschlagen")
except Exception as e:
print(f"❌ Fehler beim direkten Test: {e}")
if __name__ == "__main__":
print("🧪 Apprise Mattermost-Verbindungstest")
print("=" * 40)
# Test mit .env
success = test_mattermost_connection()
if not success:
test_without_env()
print("\n📋 Nächste Schritte:")
print("1. Überprüfe deine .env Datei")
print("2. Stelle sicher, dass die Mattermost URL korrekt ist")
print("3. Teste das Hauptskript: python ti_status_checker.py")