124-webapp/test_matrix_connection.py
2025-10-08 16:22:23 +02:00

61 lines
1.5 KiB
Python

#!/usr/bin/env python3
"""
Test Matrix connection from host machine perspective
"""
import asyncio
import os
from nio import AsyncClient
async def test_connection(homeserver_url: str):
"""Test connection to Matrix homeserver"""
print(f"\n🔍 Testing connection to: {homeserver_url}")
matrix_user = os.environ.get("MATRIX_USER", "@einszwovier:einszwovier.local")
matrix_pass = os.environ.get("MATRIX_PASS", "einszwo4")
client = AsyncClient(homeserver_url, matrix_user)
try:
print(f" User: {matrix_user}")
print(f" Attempting login...")
resp = await client.login(matrix_pass)
if hasattr(resp, 'access_token'):
print(f" ✅ SUCCESS! Logged in as {matrix_user}")
print(f" Device ID: {resp.device_id}")
await client.logout()
else:
print(f" ❌ FAILED: {resp}")
except Exception as e:
print(f" ❌ ERROR: {e}")
finally:
await client.close()
async def main():
print("=" * 60)
print("Matrix Connection Test")
print("=" * 60)
# Test different homeserver URLs
test_urls = [
"http://localhost:8008",
"http://127.0.0.1:8008",
"http://einszwovier.local:8008",
]
for url in test_urls:
await test_connection(url)
print("\n" + "=" * 60)
print("Recommendation:")
print("If localhost/127.0.0.1 works but einszwovier.local fails,")
print("configure Element to use: http://localhost:8008")
print("=" * 60)
if __name__ == "__main__":
asyncio.run(main())