> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.squarecloud.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Cómo crear un bot de Discord desde cero

## Qué es un bot y cómo funciona

Un bot de Discord es una aplicación que se conecta a la API de Discord y actúa como un usuario automatizado: responde a comandos, modera el servidor, reproduce música, envía avisos y mucho más. Para crear uno, necesitas dos cosas: registrar la aplicación en el **Discord Developer Portal** y escribir el código que le da vida.

## 1. Crea la aplicación en el Discord Developer Portal

1. Accede al Discord Developer Portal e inicia sesión.
2. Haz clic en **New Application**, dale un nombre y confirma.
3. En el menú lateral, ve a **Bot**.
4. Haz clic en **Reset Token** para generar el token de tu bot.

## 2. Obtén y protege tu token

El **token** es la contraseña de tu bot — quien tenga el token controla el bot. Por eso:

* Nunca lo compartas ni lo subas a GitHub.
* Guárdalo en una variable de entorno (ej.: `DISCORD_TOKEN`), nunca directamente en el código.
* Si se filtra, genera uno nuevo de inmediato en **Reset Token**.

## 3. Configura los Intents

En el Developer Portal, en **Bot**, activa los **Privileged Gateway Intents** que tu bot necesite — especialmente el **Message Content Intent**, si va a leer mensajes. Sin esto, el bot no recibe el contenido de los mensajes (mira [Por qué mi bot no lee mensajes: los Privileged Intents](https://help.squarecloud.app/es/article/por-que-mi-bot-no-lee-mensajes-los-privileged-intents-de-discord-utycj8/)).

## 4. Invita el bot a tu servidor

1. Ve a **OAuth2 > URL Generator**.
2. En **Scopes**, marca `bot` (y `applications.commands` si vas a usar slash commands).
3. En **Bot Permissions**, marca los permisos necesarios.
4. Copia la URL generada, ábrela en el navegador y elige el servidor.

## 5. Escribe tu primer "Hello World"

Elige una biblioteca (discord.js para JavaScript o discord.py para Python) y haz que el bot responda a un comando simple. ¿No sabes cuál usar? Mira [discord.js o discord.py: cuál elegir para empezar](https://help.squarecloud.app/es/article/discordjs-o-discordpy-cual-elegir-para-empezar-1d5g4oc/).

Ejemplo mínimo en discord.js:
```
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });

client.once('ready', () => console.log('Bot online!'));
client.login(process.env.DISCORD_TOKEN);
```

## Próximo paso: deja tu bot en línea 24/7

Ahora que tu bot funciona localmente, necesitas alojarlo. Mira la guía [Cómo alojar un bot de Discord](https://help.squarecloud.app/es/article/como-alojar-un-bot-de-discord-en-square-cloud-3orixn/) y pon tu bot en línea 24/7 en Square Cloud.