Skip to main content

Introdução

Para desenvolver e hospedar um bot de Discord na Square Cloud, siga a sequência de configurações e pré-requisitos abaixo. Este guia cobre todo o processo, da configuração inicial ao deploy em produção.

Pré-requisitos

  • Conta Square Cloud: Cadastre-se através da página de cadastro usando seu e-mail.
  • Plano ativo: Garante recursos dedicados e desempenho otimizado para seu aplicativo. Confira nossos planos disponíveis e escolha o mais adequado às suas necessidades.
Este guia usa o runtime Node.js ou o runtime Python.

Crie o projeto

Você precisa de uma conta no Discord para criar e gerenciar bots. Se ainda não tiver uma, crie-a no site oficial do Discord.

Aplicação de bot no Discord

Crie a aplicação

Acesse o Developer Portal e clique em “New Application”. Defina um nome para o seu bot e clique em “Create” para criar a aplicação.
Criando uma aplicação no Discord Developer Portal

Gere o token

Após criar a aplicação, navegue até a aba “Bot” e clique em “Reset Token” para gerar o token de autenticação. Copie-o: você vai defini-lo como variável de ambiente na Square Cloud, nunca no seu código.
Gerando o token de autenticação do bot Discord

Ative as intents privilegiadas

O bot de exemplo lê o texto das mensagens, então precisa da Message Content Intent. Permaneça na aba “Bot”, role até “Privileged Gateway Intents” e ative a Message Content Intent. Este exemplo não precisa das outras duas intents privilegiadas (Presence e Server Members).
Ativando intents privilegiadas no Discord
Mantenha o token em segredo: este token concede controle total sobre o bot. Nunca o escreva no seu código nem o coloque no seu ZIP: os exemplos abaixo o leem da variável de ambiente DISCORD_TOKEN.

Desenvolva o bot

Escreva o bot com discord.js (Node.js) ou discord.py (Python):
  1. Verifique se o Node.js está instalado em seu sistema. Caso contrário, baixe-o no site oficial do Node.js.
  2. Inicialize um novo projeto Node.js:
Terminal
  1. Instale a biblioteca discord.js:
Terminal
  1. Crie um arquivo JavaScript (ex.: index.js) e adicione o seguinte código para criar um bot Discord básico:
index.js
O código usa o discord.js v14, em que o evento de pronto é o Events.ClientReady ("clientReady"). O antigo nome "ready" está obsoleto.

Configure a Square Cloud

Crie um arquivo squarecloud.app na raiz do projeto, ao lado do seu arquivo principal. Ele diz à Square Cloud como rodar o seu bot:
  • MAIN é o arquivo que a Square Cloud executa, e MEMORY é a RAM do bot em MB. Bots precisam de pelo menos 256 MB; 512 MB deixa espaço para crescer.
  • AUTORESTART=true inicia o bot de novo se ele travar. Veja como funciona o auto restart.
  • Não há SUBDOMAIN: um bot não serve páginas web.
Quando você faz o upload pelo dashboard, o formulário de upload pode preencher essas configurações para você. Veja a referência do arquivo de configuração para todos os campos.

Defina o token do bot

O seu código lê o token da variável de ambiente DISCORD_TOKEN, então o token nunca entra nos seus arquivos. Defina-o de uma destas formas:
  • Dashboard: na página de upload, abra Configuração avançada e adicione uma variável chamada DISCORD_TOKEN com o seu token como valor. Para um bot que já está no ar, adicione-a na página Variáveis de ambiente da aplicação e reinicie o bot.
  • CLI: logo depois de enviar o bot (veja Faça o deploy e verifique), defina-a com squarecloud app env set e reinicie o bot:
O bot lê as variáveis de ambiente quando inicia, então reinicie-o após cada alteração. Veja Variáveis de ambiente para as outras formas de gerenciá-las.
Para rodar o bot no seu computador primeiro, defina a variável no terminal: export DISCORD_TOKEN=your_token_here no macOS e no Linux, ou $env:DISCORD_TOKEN="your_token_here" no PowerShell.

O que vai no ZIP

  • O seu arquivo principal (index.js ou main.py) e os seus outros arquivos de código.
  • package.json ou requirements.txt.
  • squarecloud.app.
Deixe de fora a node_modules, a .venv e a __pycache__: a Square Cloud instala as suas dependências quando o bot inicia.

Faça o deploy e verifique

Crie o ZIP descrito acima e faça o upload:

Via dashboard

1

Acesse a página de upload

Acesse a página de upload e envie seu arquivo zip.
2

Configure seu ambiente

Após fazer o upload do seu arquivo zip, você precisará configurar o nome, o arquivo principal ou o ambiente de execução e outras configurações do seu projeto.
Se você estiver enviando um projeto web, certifique-se de selecionar “Publicação na Web” e definir um subdomínio para o seu projeto.
3

Faça o deploy do projeto

Por fim, clique no botão “Deploy” para hospedar seu projeto na Square Cloud. Após o deploy, você poderá monitorar o status e os registros do seu projeto no dashboard.
Enviando aplicação para a Square Cloud
4

Confirme que seu app está no ar

Seu primeiro deploy geralmente leva menos de um minuto. No dashboard, aguarde o status da sua aplicação mudar para em execução e verifique os registros em busca de erros de inicialização.
Se você fez deploy de um site ou API, abra https://<seu-subdominio>.squareweb.app no navegador: você deve ver sua aplicação respondendo. Se você fez deploy de um bot, envie um comando para confirmar que ele está online.
Seu app não está iniciando? Veja o guia de solução de problemas para as causas e correções mais comuns.

Via CLI

Para usar esse método, seu projeto precisa de um arquivo de configuração chamado squarecloud.app na raiz. Ele informa à Square Cloud como executar a sua aplicação.

Guia do arquivo de configuração

Saiba como criar o arquivo de configuração squarecloud.app que define o ambiente da sua aplicação.
1

Instale a CLI

Instale a CLI da Square Cloud. Se você já a tem, execute o mesmo comando para atualizá-la:
2

Faça login

Execute o comando abaixo. Ele abre o seu navegador: aprove o login lá e a CLI está pronta. Não há nenhuma chave de API para copiar. Para scripts e CI, veja autenticação da CLI.
3

Envie o seu projeto

Na pasta do seu projeto, execute o comando abaixo. A CLI compacta a pasta atual, deixando de fora o que o squarecloud.ignore lista, e faz o upload:
Para enviar um zip que você mesmo criou, passe-o com --file:
4

Confirme que seu app está no ar

Seu primeiro deploy geralmente leva menos de um minuto. Verifique o status e os registros da sua aplicação diretamente pelo terminal:
Se você fez deploy de um site ou API, abra https://<seu-subdominio>.squareweb.app no navegador: você deve ver sua aplicação respondendo. Se você fez deploy de um bot, envie um comando para confirmar que ele está online.
Seu app não está iniciando? Veja o guia de solução de problemas para as causas e correções mais comuns.

Convide o bot para o seu servidor

Para enviar um comando ao bot, adicione-o a um servidor do Discord:
  1. Acesse o Developer Portal e selecione seu bot.
  2. Navegue até a aba “OAuth2” e vá para “OAuth2 URL Generator”.
  3. Em “Scopes”, marque a opção “bot”.
  4. Em “Bot Permissions”, marque apenas o que o exemplo precisa: View Channels, Send Messages e Read Message History. Evite Administrator: bots raramente precisam dela, e um token vazado passaria a controlar o seu servidor inteiro.
  5. Copie a URL gerada, abra-a no navegador e adicione o bot ao seu servidor. A URL se parece com esta:
68608 é a soma dessas três permissões. Substitua YOUR_CLIENT_ID pelo ID da sua aplicação, que aparece na aba “General Information”. Se você adicionar comandos que precisam de mais permissões, gere uma nova URL com elas marcadas. Depois, envie !hello em um canal que o bot consegue ver. Ele responde com Olá!.
Testando o bot Discord após o deploy

Erros comuns

An invalid token was provided

Os logs mostram Error [TokenInvalid]: An invalid token was provided. (discord.js) ou discord.errors.LoginFailure: Improper token has been passed. (discord.py). A variável DISCORD_TOKEN está faltando ou guarda um token antigo. Copie o token atual da aba “Bot”, defina-o de novo e reinicie o bot. No discord.py, um KeyError: 'DISCORD_TOKEN' significa que a variável nem foi definida.

Used disallowed intents

Os logs mostram Error [DisallowedIntents]: Privileged intent provided is not enabled or whitelisted. (discord.js) ou discord.errors.PrivilegedIntentsRequired (discord.py). O código pede a Message Content Intent, mas ela está desativada no Developer Portal. Ative-a na aba “Bot”, como em Aplicação de bot no Discord, e reinicie o bot.

O bot está online, mas não responde ao !hello

Confira se o bot consegue ver e enviar mensagens nesse canal e se a Message Content Intent está ativada: sem ela, o bot recebe as mensagens com o texto vazio. Para mais mensagens e correções, veja Erros de bot do Discord.

Próximos passos

Erros de bot do Discord

Corrija um token inválido, intents faltando e outros erros comuns.

Variáveis de ambiente

Gerencie o token do seu bot e outros segredos.

Servidor Lavalink

Hospede um servidor Lavalink para tocar música no seu bot.
Para saber mais sobre essas bibliotecas, consulte a documentação oficial do discord.py e o guia oficial do discord.js.

Contate-nos

Se você continuar enfrentando dificuldades técnicas, nossa equipe de suporte especializada está disponível para auxiliá-lo. Entre em contato conosco e teremos prazer em ajudá-lo a resolver qualquer questão: a qualidade do suporte é uma grande parte do motivo pelo qual desenvolvedores avaliam a Square Cloud com 4,9/5 em 402 avaliações no Google e Trustpilot.