> ## 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 alojar un bot de Discord 24/7

## 1. Requisitos previos
Antes de subir tu bot, verifica que tengas:
* **Cuenta en Square Cloud:** Crea tu cuenta vía [Página de Registro](https://squarecloud.app/pt-br/signup) (correo o GitHub).
* **Plan Activo:** Es necesario un plan de pago para alojar. Consulta los [precios aquí](https://squarecloud.app/pt-br/pricing).

---

## 2. Preparación del código fuente

Para que Square Cloud ejecute tu bot correctamente, debe estar organizado y contener el archivo de definición de dependencias.

### Ejemplo en Python (discord.py)
Asegúrate de tener un archivo `requirements.txt` en la raíz del proyecto:
```text
discord.py
```

### Ejemplo en JavaScript (discord.js)
Asegúrate de tener un archivo `package.json` en la raíz del proyecto:
```json
{
  "name": "meu-bot-discord",
  "version": "1.0.0",
  "main": "index.js",
  "dependencies": {
    "discord.js": "^14.0.0"
  }
}
```

---

## 3. Compresión y limpieza (Importante)

Un error común es intentar enviar todos los archivos del proyecto, incluyendo carpetas de caché o dependencias locales. Para un deploy limpio y rápido, debes crear un archivo **.zip** que contenga solo lo esencial:

* **Qué INCLUIR:** Tu código fuente, los archivos de configuración (`.json`, `.txt`) y el archivo de dependencias (`requirements.txt` o `package.json`).
* **Qué EXCLUIR:**
    * `node_modules/` (carpeta de módulos de Node)
    * `__pycache__/` (caché de Python)
    * `.env` (las variables de entorno se configurarán en el dashboard)
    * `.git/` o archivos de IDE (como `.vscode/`)

---

## 4. Realizando el Deploy

Existen dos formas principales de enviar tu bot a Square Cloud:

### Vía Dashboard
1.  Accede al [Dashboard de Square Cloud](https://squarecloud.app/dashboard).
2.  Haz clic en **"Nueva Aplicación"**.
3.  Selecciona el envío de **zip**.
4.  En el momento del envío, verás campos para configurar las **Variables de Entorno (ENVs)**.

### Vía CLI
1. Instala la CLI:
```
npm i -g @squarecloud/cli
```
2. Autentícate en la CLI: Obtén tu token de API en la página de **Mi Cuenta**, yendo a la sección [**Autenticación**](https://squarecloud.app/pt-br/account/security) y solicitando la clave API; luego, autentícate en la CLI con el siguiente comando.
```
squarecloud auth login
```
3. Crea tu archivo de configuración: el [archivo de configuración](https://docs.squarecloud.app/pt-br/getting-started/config-file), `squarecloud.config` o `squarecloud.app`, debe estar presente en tu proyecto.
4. Haz el upload:
```
squarecloud upload
```
* O si creaste el zip:
```
squarecloud upload --file <caminho/para/zip>
```

---

## 5. Configurando variables de entorno (ENV)

Nunca dejes el Token de tu bot expuesto directamente en el código. Utiliza el sistema de ENVs de Square Cloud para mantener tu bot seguro.

* **Configuración en el Dashboard:** En el campo de variables, define el nombre (ej.: `DISCORD_TOKEN`) y el valor (tu token).
* **Atención a los valores:** Si el valor de tu variable contiene espacios o caracteres especiales (como links o claves complejas), **utiliza comillas** para delimitar el valor.
    * *Ejemplo:* `NOMBRE_VARIABLE="Valor con espacio o caracteres especiales"`

En tu código, accede a la variable así:
* **Python:** `os.getenv('DISCORD_TOKEN')`
* **JavaScript:** `process.env.DISCORD_TOKEN`

---

## 6. Ciclo de vida y monitoreo

Tras el envío:
1.  Square Cloud detectará automáticamente, en base al archivo principal elegido, el runtime necesario e instalará las dependencias.
2.  Sigue los **Logs** en tiempo real para verificar si el bot inició sesión correctamente.