#!/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")