TibiaPortal

Configurar Discord desde cero

TibiaPortal usa Discord para login y para meter automáticamente a cada usuario en el servidor oficial de la comunidad.

OAuth: pendiente Guild + Bot: pendiente
  1. 1. Crea el servidor Discord (comunidad)

    Si usas el template discord.new/MjmGHU3TjVWS: sirve como base visual, pero viene de Osiann Server (roles broma, canales de un solo realm). No lo dejes tal cual.

    Mejor: crea un servidor vacío Community llamado TibiaPortal, invita el Bot, y aplica el blueprint:

    export DISCORD_BOT_TOKEN=...
    export DISCORD_GUILD_ID=...
    python3 tools/discord/setup_guild.py --wipe-junk

    Detalle del blueprint: storage/app/discord/blueprint-tibiaportal.md

    Activa Modo desarrollador → clic derecho en el servidor → Copy Server IDDISCORD_GUILD_ID.

  2. 2. Crea la Application (login OAuth)

    Ve a discord.com/developers/applicationsNew Application → nombre TibiaPortal.

    En OAuth2:

    • Copia Client IDDISCORD_CLIENT_ID
    • Reset/Copy Client SecretDISCORD_CLIENT_SECRET
    • Redirects → Add: https://tibiaportal.com/auth/discord/callback
    • Save Changes
  3. 3. Crea el Bot y mételo al servidor

    En la misma Application → menú BotAdd Bot / Reset Token → copia el token → DISCORD_BOT_TOKEN.

    • Desactiva “Public Bot” si solo lo usas para TibiaPortal (opcional)
    • Privileged intents: por ahora no hacen falta Message Content / Presence

    Invita el Bot al servidor TibiaPortal:

    1. OAuth2 → URL Generator
    2. Scopes: marca solo bot
    3. Bot Permissions: Create Instant Invite (obligatorio para guilds.join). Opcional: Manage Roles si vas a asignar roles al entrar
    4. Copia la URL generada, ábrela, elige el servidor TibiaPortal → Authorize

    El Bot debe quedar online/en la lista de miembros del servidor. Si usas roles al join, pon el rol del Bot por encima de los roles que asignará.

  4. 4. Pega las claves en el servidor

    En /www/wwwroot/tibiaportal.com/.env:

    DISCORD_CLIENT_ID=...
    DISCORD_CLIENT_SECRET=...
    DISCORD_REDIRECT_URI=https://tibiaportal.com/auth/discord/callback
    DISCORD_GUILD_ID=...
    DISCORD_BOT_TOKEN=...
    # Opcional:
    DISCORD_JOIN_ROLE_IDS=

    Luego: php artisan config:clear

    Cuando tengas los valores, pásaselos al agente (o pégalos tú) y los dejamos aplicados.

  5. 5. Prueba

    1. Abre /login → Continuar con Discord
    2. Autoriza identify + email + unirse al servidor
    3. Debes entrar al panel y aparecer en el servidor Discord TibiaPortal

Qué es cada cosa

  • Servidor / Guild — la comunidad donde quedan registrados los jugadores
  • Application — login OAuth de la web
  • Bot — la pieza que mete al usuario en el guild tras autorizar