#!/usr/bin/env python3 """ Test Discord connectivity without the full application """ import asyncio import aiohttp import socket async def test_discord_connectivity(): """Test various Discord endpoints to diagnose connectivity issues.""" endpoints = [ "https://discord.com", "https://discordapp.com", "https://gateway.discord.gg", "https://cdn.discordapp.com" ] # Test basic socket connection first print("šŸ” Testing socket connection to discord.com:443...") try: sock = socket.create_connection(("discord.com", 443), timeout=10) sock.close() print("āœ… Socket connection successful") except Exception as e: print(f"āŒ Socket connection failed: {e}") return False # Test HTTP connections print("\nšŸ” Testing HTTPS endpoints...") async with aiohttp.ClientSession(timeout=aiohttp.ClientTimeout(total=10)) as session: for endpoint in endpoints: try: async with session.get(endpoint) as response: print(f"āœ… {endpoint}: {response.status}") except Exception as e: print(f"āŒ {endpoint}: {e}") print("\nšŸ” Testing Discord API directly...") try: async with aiohttp.ClientSession() as session: async with session.get("https://discord.com/api/v10/gateway") as response: if response.status == 200: data = await response.json() print(f"āœ… Discord API: {data.get('url', 'No gateway URL')}") return True else: print(f"āŒ Discord API: HTTP {response.status}") return False except Exception as e: print(f"āŒ Discord API: {e}") return False if __name__ == "__main__": result = asyncio.run(test_discord_connectivity()) if result: print("\nšŸŽ‰ Discord connectivity looks good!") else: print("\nšŸ’” Possible solutions:") print("1. Check firewall settings") print("2. Try different DNS (1.1.1.1 or 8.8.8.8)") print("3. Disable VPN if active") print("4. Check corporate proxy settings") print("5. Try from a different network")