Skip to main content

Introdução

Para desenvolver e hospedar um bot do Telegram 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

Uma conta no Telegram é essencial para testar e interagir com seu bot. Se você não tem uma, visite o site oficial do Telegram para criar sua conta.

Aplicação de bot no Telegram

Encontre o BotFather

Acesse o Telegram Web e procure pelo bot oficial BotFather, responsável pela criação e gerenciamento de bots na plataforma.
Encontrando o BotFather no Telegram

Obtenha o token

Inicie uma conversa com o BotFather e digite /start. Em seguida, selecione a opção /newbot para criar um novo bot. O sistema pedirá um nome para o seu bot e, após a confirmação, gerará automaticamente o token de autenticação necessário.
Gerando o token do bot Telegram com o BotFather
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 TELEGRAM_BOT_TOKEN.

Desenvolva o bot

Escreva o bot com grammY (Node.js) ou pyTelegramBotAPI (Python). Os dois exemplos ecoam toda mensagem de texto:
  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 grammY:
Terminal
  1. Crie o arquivo principal (index.js) com a seguinte estrutura:
index.js

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: com long polling, o bot não precisa de URL pública.
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 TELEGRAM_BOT_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 TELEGRAM_BOT_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 TELEGRAM_BOT_TOKEN=your_token_here no macOS e no Linux, ou $env:TELEGRAM_BOT_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.

Teste o bot

Depois do deploy, encontre o seu bot no Telegram e envie uma mensagem. O bot responde com o mesmo texto, o que confirma que ele está rodando.
Testando o bot Telegram após o deploy

Erros comuns

Error 409: Conflict: terminated by other getUpdates request

Outra cópia do bot está lendo as atualizações com o mesmo token, por exemplo a que você iniciou no seu computador. O Telegram entrega as atualizações a uma única conexão de long polling por bot. Pare a outra cópia, ou revogue o token no BotFather se você não sabe onde ela roda, depois defina o novo token e reinicie o bot.

Error 401: Unauthorized

O token está errado ou foi revogado. Copie o token atual do BotFather, defina-o de novo e reinicie o bot.

Token vazio ou KeyError: 'TELEGRAM_BOT_TOKEN'

A variável TELEGRAM_BOT_TOKEN não está definida: o grammY para com Empty token!, e o exemplo em Python para com um KeyError. Defina a variável, como em Defina o token do bot, e reinicie o bot.

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 o token do seu bot e outros segredos.

python-telegram-bot com aiohttp

Usa o python-telegram-bot? Corrija exceções NetworkError frequentes.
Para saber mais sobre essas bibliotecas, consulte a documentação oficial do grammY e a página do pyTelegramBotAPI no PyPI.

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.