> ## 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).

# Como hospedar um bot de Discord 24/7

## 1. Pré-requisitos
Antes de subir seu bot, verifique se você possui:
* **Conta na Square Cloud:** Crie sua conta via [Página de Registro](https://squarecloud.app/pt-br/signup) (E-mail ou GitHub).
* **Plano Ativo:** É necessário um plano pago para realizar a hospedagem. Confira os [preços aqui](https://squarecloud.app/pt-br/pricing).

---

## 2. Preparação do Código Fonte

Para que a Square Cloud execute seu bot corretamente, ele deve estar organizado e conter o arquivo de definição de dependências.

### Exemplo em Python (discord.py)
Certifique-se de ter um arquivo `requirements.txt` na raiz do projeto:
```text
discord.py
```

### Exemplo em JavaScript (discord.js)
Certifique-se de ter um arquivo `package.json` na raiz do projeto:
```json
{
  "name": "meu-bot-discord",
  "version": "1.0.0",
  "main": "index.js",
  "dependencies": {
    "discord.js": "^14.0.0"
  }
}
```

---

## 3. Compactação e Limpeza (Importante)

Um erro comum é tentar enviar todos os arquivos do projeto, incluindo pastas de cache ou dependências locais. Para um deploy limpo e rápido, você deve criar um arquivo **.zip** contendo apenas o essencial:

* **O que INCLUIR:** Arquivos `.py` ou `.js`, arquivos de configuração (`.json`, `.txt`) e o arquivo de dependências (`requirements.txt` ou `package.json`).
* **O que EXCLUIR:** * `node_modules/` (Pasta de módulos do Node)
    * `__pycache__/` (Cache do Python)
    * `.env` (As variáveis de ambiente serão configuradas no dashboard)
    * `.git/` ou arquivos de IDE (como `.vscode/`)

---

## 4. Realizando o Deploy

Existem duas formas principais de enviar seu bot para a Square Cloud:

### Via Dashboard
1.  Acesse o [Dashboard da Square Cloud](https://squarecloud.app/dashboard).
2.  Clique em **"Nova Aplicação"**.
3.  Selecione o envio de **zip**.
4.  No momento do envio, você verá campos para configurar as **Variáveis de Ambiente (ENVs)**.

### Via CLI
1. Instale a CLI:
```
npm i -g @squarecloud/cli
```
2. Autenticar na CLI: Pegue seu token de API na página de **Minha Conta**, indo na seção [**Autenticação**](https://squarecloud.app/pt-br/account/security) e solicitando a chave API; Em sequência, se autentique na CLI com o comando a seguir.
```
squarecloud auth login
```
3. Crie seu arquivo de configuração: o [arquivo de configuração](https://docs.squarecloud.app/pt-br/getting-started/config-file), `squarecloud.config` ou `squarecloud.app`, deve estar presente no seu projeto
4. Faça o upload:
```
squarecloud upload
```
* Ou se criou o zip:
```
squarecloud upload --file <caminho/para/zip>
```

---

## 5. Configurando Variáveis de Ambiente (ENV)

Nunca deixe o Token do seu bot exposto diretamente no código. Utilize o sistema de ENVs da Square Cloud para manter seu bot seguro.

* **Configuração no Dashboard:** No campo de variáveis, defina o nome (ex: `DISCORD_TOKEN`) e o valor (seu token).
* **Atenção aos valores:** Se o valor da sua variável contiver espaços ou caracteres especiais (como links ou chaves complexas), **utilize aspas** para delimitar o valor.
    * *Exemplo:* `NOME_VARIAVEL="Valor com espaço ou caracteres especiais"`

No seu código, acesse a variável assim:
* **Python:** `os.getenv('DISCORD_TOKEN')`
* **JavaScript:** `process.env.DISCORD_TOKEN`

---

## 6. Ciclo de Vida e Monitoramento

Após o envio:
1.  A Square Cloud detectará automaticamente, com base no arquivo principal escolhido, o runtime necessário e instalará as dependências.
2.  Acompanhe os **Logs** em tempo real para verificar se o bot logou corretamente.