> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vertracloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Plantilla de bot de Discord (JavaScript) en Vertra Cloud: starter con el comando /ping

> Crea un bot de Discord en JavaScript en Vertra Cloud: obtén el token, invita al bot, ejecuta /ping y edita el código. Plantilla de código sin dirección web.

Es un bot mínimo de Discord en JavaScript con discord.js 14.27.0 y un comando `/ping`. Es una **plantilla de código**: el código es tuyo, abierto y editable, y Vertra Cloud ejecuta lo que hay en `src/`.

## Qué crea

Una aplicación (código) en el runtime de JavaScript, **sin dirección web**: el bot solo hace conexiones salientes. Necesita al menos **100 MB** de memoria (256 MB recomendados) y **ningún cupo de imagen**, así que cualquier plan puede ejecutarlo. Consulta [Qué son las plantillas](https://docs.vertracloud.app/es-es/templates/overview.md).

* Inicia sesión con el token del bot, registra el comando slash `/ping` en cada arranque y responde con la latencia del gateway.
* Usa solo el intent `Guilds`, así que no hay ningún intent privilegiado que activar.
* Sin token o con un token incorrecto el proceso termina con el código 1 y un mensaje claro en el log de la aplicación.
* Código fuente en `src/index.js`; dependencias en `src/package.json`.

## Qué pregunta el asistente

| Pregunta | Qué hace |
| - | - |
| Bot token | Se convierte en la variable cifrada `DISCORD_TOKEN`. |

## Primeros pasos

**1. Crea el bot y obtén el token**

En el [Discord Developer Portal](https://discord.com/developers/applications) crea una **New Application**, abre **Bot** y haz clic en **Reset Token**. Copia el valor: se muestra una sola vez.

**2. Pégalo en el asistente**

Pega el token cuando el asistente lo pida. Se guarda cifrado y nunca va en el código.

**3. Invita al bot**

En **OAuth2 > URL Generator** marca los scopes `bot` y `applications.commands`, abre la URL generada y elige tu servidor.

**4. Comprueba**

Tras el despliegue el log de la aplicación muestra `Logged in as <bot name>`. En Discord, escribe `/ping`: el bot responde `Pong!` con la latencia. El comando global puede tardar unos minutos en aparecer la primera vez.

## Hazla tuya

Abre `src/index.js`, añade tus comandos y despliega de nuevo, o reinicia si editaste en el editor de la aplicación. Para añadir librerías, ejecuta `npm install <package>` en local y sube el `package.json` y el `package-lock.json` actualizados: la plataforma instala las dependencias en cada despliegue.

Editar el código desvincula la aplicación de la plantilla, así que deja de recibir nuevas versiones de ella. Consulta [Actualizar y revertir](https://docs.vertracloud.app/es-es/templates/use/updates-and-rollback.md#aplicaciones-desvinculadas-y-plantillas-retiradas).

## Referencia

| Elemento | Valor |
| - | - |
| Variable | `DISCORD_TOKEN` (cifrada, desde el asistente) |
| Comando de inicio | `node index.js` |
| Archivo principal | `index.js` |
| Memoria | 100 MB (mínimo), 256 MB (recomendado) |
| Web | Ninguna |
| Despliegue sin caída | Desactivado (un token es una copia) |

## Límites y problemas comunes

* Dos copias con el mismo token responderían dos veces, por eso el despliegue sin caída está desactivado.
* El mínimo es 100 MB, y 256 MB (lo recomendado) bastan para un bot sencillo. Un bot en muchos servidores o con una caché grande necesita más; puedes subir la memoria.
* Los comandos globales de Discord tardan en propagarse. Para pruebas, registra comandos de servidor (guild) en tu código.
* **`Login failed` en el log.** `DISCORD_TOKEN` no es el token del bot. Restablécelo en el Portal, actualiza la variable y reinicia.
* **`/ping` no aparece.** Espera unos minutos y comprueba que la invitación tenía el scope `applications.commands`.
* **La aplicación no se mantiene en pie.** Sin un token válido el proceso termina con el código 1. Corrige el token y reinicia.

## Licencia

El código de la plantilla es de Vertra Cloud, bajo la licencia MIT. discord.js se distribuye bajo la [licencia Apache-2.0](https://github.com/discordjs/discord.js/blob/main/LICENSE).

Consulta también las [demás plantillas oficiales](https://docs.vertracloud.app/es-es/templates/catalog.md) y el tutorial [Crea una plantilla de bot de Discord](https://docs.vertracloud.app/es-es/templates/tutorials/discord-bot-code.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.