Bot do Telegram 24/7: hospedagem e limites
Polling ou webhook, memória, reinício: o que prever para um bot do Telegram ficar acessível dia e noite, e os seus limites.
Um bot do Telegram responde aos usuários a qualquer hora. Para continuar disponível, ele precisa rodar de forma contínua em uma máquina sempre ligada. A escolha mais importante é a forma como ele recebe as mensagens: por consultas periódicas (polling) ou por webhook.
- O polling não exige porta pública; o webhook exige um endereço HTTPS acessível.
- Um webhook ativo bloqueia o polling: apague-o antes de voltar ao polling.
- O Telegram limita a velocidade de envio: espace as mensagens e trate as recusas.
Polling ou webhook
Com o polling, o bot pergunta regularmente ao Telegram se há mensagens novas. Ele não precisa de nenhuma porta aberta para o exterior. Com um webhook, o Telegram envia cada mensagem para um endereço HTTPS que você informa, então é preciso um endereço público que responda.
- Polling: o mais simples para um bot em servidor, sem porta pública.
- Webhook: útil para uma integração web ou muito tráfego, com um endereço HTTPS acessível pela Internet.
- Um webhook ativo bloqueia o polling (getUpdates): apague-o antes de voltar ao polling.
Manter o processo vivo
Um bot iniciado no seu PC para junto com ele. Em um servidor, o processo precisa reiniciar sozinho depois de um erro. Por isso o código deve tratar quedas de rede em vez de encerrar na primeira.
- Capture as exceções no laço de recepção e registre-as em log em vez de sair.
- Guarde o token em variáveis de ambiente: você poderá trocá-lo sem alterar o código.
- Depois de um reinício, leia os logs para confirmar que o bot voltou a receber mensagens.
Limites que vale conhecer
O Telegram limita a velocidade de envio. Um bot que publica rápido demais no mesmo grupo recebe recusas temporárias. Preveja uma fila de envio e uma pausa entre mensagens.
- Envios muito seguidos podem ser recusados por um tempo: espace-os e trate o erro.
- Um bot que mantém um histórico longo na memória consome RAM: guarde esses dados em um banco de dados.
- O plano gratuito oferece 315 MB de RAM: suficiente para um bot de comandos, menos para um que processa arquivos grandes.
Por que hospedar um bot do Telegram na ACLClouds
Um bot do Telegram é um processo leve, bem adequado ao plano gratuito. Escreva-o em Node.js ou em Python e envie-o por SFTP na porta 2222.
- Plano gratuito: 1 bot, 315 MB de RAM, 0,25 vCPU, 715 MB de armazenamento, 4 dias, renovável gratuitamente.
- Acesso SFTP por bot na porta 2222, para enviar o seu código.
- As imagens Node.js e Python incluem ffmpeg, yt-dlp e deno.
Perguntas frequentes
Um bot do Telegram consome muita RAM?
Com comandos simples, não. O que faz o consumo subir são os dados mantidos em memória e o processamento de arquivos. Meça durante uma semana antes de concluir.
O bot pode funcionar sem webhook?
Sim. O polling basta para a maioria dos bots e não exige endereço público.
Qual linguagem escolher?
Node.js e Python são as duas linguagens oferecidas para bots na ACLClouds. Escolha a que você domina: as duas bastam para um bot do Telegram.