from __future__ import annotations import asyncio import sys import aiohttp from config import settings, ENV_PATH async def main() -> int: token = settings.token print("=" * 60) print("NOVASHIELD - COMPROBAR BOT TOKEN") print("=" * 60) print("Archivo .env:", ENV_PATH) print("Token encontrado:", "SI" if token else "NO") print("Longitud:", len(token)) if not token: print("ERROR: DISCORD_TOKEN está vacío.") return 2 headers = {"Authorization": f"Bot {token}"} async with aiohttp.ClientSession() as session: async with session.get("https://discord.com/api/v10/users/@me", headers=headers) as response: if response.status == 200: data = await response.json() print() print("OK: Discord aceptó el token.") print("Bot:", data.get("username", "Desconocido")) print("Bot ID:", data.get("id", "Desconocido")) return 0 print() print(f"ERROR: Discord respondió HTTP {response.status}.") if response.status == 401: print("El token NO es válido. Debes generar uno nuevo en Developer Portal > Bot > Reset Token.") else: print("Discord no aceptó la solicitud.") return 1 if __name__ == "__main__": sys.exit(asyncio.run(main()))