Introdução
Para desenvolver e hospedar um bot do Slack 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.
Crie o projeto
Para criar um bot do Slack, você precisará de uma conta e de permissões para criar apps no Slack. Crie ou acesse sua conta no Slack antes de seguir os próximos passos.Aplicação de bot no Slack
- Acesse o Slack API - Your Apps e clique em “Create New App”.
- Escolha “From scratch” (Do zero), dê um nome ao app e selecione o workspace onde você irá instalá-lo.
- Na seção “Socket Mode”, ative o Socket Mode e gere um app-level token com o escopo
connections:write. Copie-o (ele começa comxapp-): este é o seuSLACK_APP_TOKEN. - Na seção “OAuth & Permissions”, adicione os escopos de que o seu bot precisa (ex.:
chat:write,app_mentions:read,commands), instale o app no seu workspace e copie o Bot User OAuth Token (ele começa comxoxb-): este é o seuSLACK_BOT_TOKEN. - Em “Event Subscriptions”, ative os eventos e assine o evento de bot
app_mention. Em “Slash Commands”, crie o comando/hello. Com o Socket Mode ativo, nenhum dos dois pede uma Request URL.
Desenvolva o bot
Use a aba da linguagem que você escolher. Os dois exemplos respondem a menções e ao comando de barra/hello.
- Node.js - @slack/bolt
- Python - slack_bolt
- Certifique-se de que o Node.js está instalado.
- Inicialize um projeto e instale as dependências:
Terminal
- Crie um arquivo
index.jscom o seguinte conteúdo:
index.js
Configure a Square Cloud
Crie um arquivosquarecloud.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, eMEMORYé a RAM do bot em MB. Bots precisam de pelo menos 256 MB; 512 MB deixa espaço para crescer.AUTORESTART=trueinicia o bot de novo se ele travar. Veja como funciona o auto restart.- Não há
SUBDOMAIN: no Socket Mode, o bot não precisa de URL pública.
Defina os tokens
O seu código lê os dois tokens das variáveis de ambienteSLACK_BOT_TOKEN e SLACK_APP_TOKEN, então eles nunca entram nos seus arquivos. Defina-os de uma destas formas:
- Dashboard: na página de upload, abra Configuração avançada e adicione as duas variáveis. Para um bot que já está no ar, adicione-as 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-as com
squarecloud app env sete reinicie o bot:
O que vai no ZIP
- O seu arquivo principal (
index.jsouapp.py) e os seus outros arquivos de código. package.jsonourequirements.txt.squarecloud.app.
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.
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.

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
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.
Via CLI
Para usar esse método, seu projeto precisa de um arquivo de configuração chamadosquarecloud.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 Para enviar um zip que você mesmo criou, passe-o com
squarecloud.ignore lista, e faz o upload:--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.
Teste o bot
- Nas configurações do app no Slack, em “OAuth & Permissions”, instale o app no workspace (se ainda não tiver instalado).
- Verifique os logs da aplicação no dashboard da Square Cloud em busca de erros de inicialização. Com o Socket Mode não há Request URL para configurar: o bot se conecta ao Slack assim que inicia.
- Convide o bot para um canal e, em seguida, mencione-o ou rode o comando
/hellopara validar as respostas.
Erros comuns
You must provide an appToken when socketMode is set to true
O Bolt para JavaScript para na inicialização com esta mensagem quando aSLACK_APP_TOKEN não está definida. Defina o app-level token (o que começa com xapp-) e reinicie o bot.
Either an env variable SLACK_BOT_TOKEN or token argument in the constructor is required
O Bolt para Python para na inicialização com esta mensagem quando a SLACK_BOT_TOKEN não está definida. Defina o Bot User OAuth Token (o que começa com xoxb-) e reinicie o bot.
O bot não responde a menções
Confira se o bot é membro do canal, se o “Event Subscriptions” assina o evento de botapp_mention e se você reinstalou o app depois de adicionar escopos.
Use o modo HTTP em vez do Socket Mode
Apps que usam Socket Mode não podem ser listados no Slack Marketplace público. Se você precisa que o Slack envie os eventos por HTTP, rode o bot como uma aplicação web:- Nas configurações do app no Slack, desative o Socket Mode e copie o Signing Secret (em “Basic Information”) para uma variável de ambiente
SLACK_SIGNING_SECRET, definida da mesma forma que os tokens. - Crie o app com o signing secret em vez do app-level token e escute na porta da variável de ambiente
PORT:
0.0.0.0), como a Square Cloud exige.
- Adicione um
SUBDOMAINao seu arquivo de configuração (ou selecione “Publicação na Web” e defina um subdomínio ao enviar pelo dashboard) para que o bot tenha uma URL pública. Aplicações web precisam de pelo menosMEMORY=512:
squarecloud.app
Uma aplicação enviada sem subdomínio não pode ganhar um depois. Se o seu bot já roda em Socket Mode, envie a versão HTTP como uma nova aplicação.
- Em “Event Subscriptions” e no comando de barra
/hello, defina a Request URL comohttps://<subdomain>.squareweb.app/slack/events.
Próximos passos
A aplicação não inicia
Corrija módulos faltando, erros de memória e outras falhas na inicialização.
Variáveis de ambiente
Gerencie os tokens do seu bot e outros segredos.
Bot do Discord
Hospede um bot do Discord ao lado do seu bot do Slack.

