Como hospedar um bot do Telegram
Nesta página
Um bot do Telegram só responde enquanto o código dele está rodando. Se você o cria no notebook, ele fica mudo assim que o notebook entra em suspensão — então, mais cedo ou mais tarde, todo bot precisa de um lugar que fique ligado.
Este guia cobre o caminho inteiro: criar o bot com o BotFather, escolher entre polling e webhooks, um exemplo funcional em Python e em JavaScript, os limites e regras definidos pelo Telegram e como manter o bot online 24/7.
Passo 1: crie o bot com o BotFather
- No Telegram, abra o @BotFather e envie
/newbot. - Dê ao bot um nome de exibição e depois um nome de usuário: de 5 a 32 caracteres, letras latinas, números e underscores, terminando em
bot— por exemplo,my_shop_helper_bot. - O BotFather responde com o token, que se parece com
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Quem tiver o token controla o seu bot, então deixe-o fora do código e nunca o compartilhe. Se ele vazar, envie/tokenao BotFather para gerar um novo.
Mais dois comandos do BotFather que vale a pena conhecer: /setcommands adiciona a lista de comandos que os usuários veem ao digitar /, e /setprivacy controla o que o bot vê nos grupos. O modo de privacidade vem ativado por padrão, então em um grupo o bot só recebe os comandos destinados a ele e as respostas às próprias mensagens — a menos que você o torne administrador.
Polling ou webhooks?
Um bot recebe as mensagens do Telegram de uma de duas formas — nunca das duas ao mesmo tempo:
| Long polling | Webhook | |
|---|---|---|
| Como funciona | O bot fica pedindo ao Telegram novas mensagens por uma conexão aberta | O Telegram envia cada atualização para o seu endereço HTTPS |
| Requisitos | Apenas acesso de saída à internet | Um domínio, um certificado válido e a porta 443, 80, 88 ou 8443 |
| Ideal para | Quase todo bot, e é o mais fácil de hospedar | Bots com muito tráfego ou plataformas serverless |
Comece com polling. Ele não precisa de domínio, certificado nem porta aberta, e todas as bibliotecas oferecem suporte. Se algum webhook já foi configurado no token, chame deleteWebhook primeiro — o polling não funciona enquanto houver um webhook ativo.
Bots com polling rodam na hospedagem de bots da HytHost sem domínio nem porta aberta para configurar — Python ou Node.js a partir de €0.89/mês.
Ver planos de hospedagem de botsPasso 2a: um bot em Python (python-telegram-bot)
O python-telegram-bot 22 exige Python 3.10 ou mais recente. Instale com pip install python-telegram-bot e crie bot.py:
import os
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes, MessageHandler, filters
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text("Hi! Send me a message and I will echo it.")
async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text(update.message.text)
def main() -> None:
application = Application.builder().token(os.environ["TELEGRAM_TOKEN"]).build()
application.add_handler(CommandHandler("start", start))
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))
application.run_polling(allowed_updates=Update.ALL_TYPES)
if __name__ == "__main__":
main()
O aiogram 3 é a outra opção popular em Python, também com Python 3.10 ou mais recente.
Passo 2b: um bot em JavaScript (grammY)
O grammY é o framework de Telegram para Node.js com manutenção ativa. Rode npm install grammy e crie bot.js:
const { Bot } = require("grammy");
const bot = new Bot(process.env.TELEGRAM_TOKEN);
bot.command("start", (ctx) => ctx.reply("Welcome! Up and running."));
bot.on("message:text", (ctx) => ctx.reply(ctx.message.text));
process.once("SIGINT", () => bot.stop());
process.once("SIGTERM", () => bot.stop());
bot.start();
Tutoriais mais antigos usam o Telegraf, que não tem nenhuma versão nova desde fevereiro de 2024; para um bot novo, o grammY é a escolha mais segura.
Limites e regras do Telegram para bots
Limites segundo o FAQ de bots do Telegram:
- Cerca de uma mensagem por segundo em um único chat, 20 mensagens por minuto em um grupo e cerca de 30 mensagens por segundo no total.
- Arquivos: o bot pode enviar até 50 MB e baixar até 20 MB.
- Só uma cópia do bot pode fazer polling por vez. Uma segunda recebe Conflict: terminated by other getUpdates request — use um token separado para testes.
Regras: os termos do Telegram para desenvolvedores de bots proíbem spam, mensagens não solicitadas e burlar os limites de envio. Um bot precisa de uma política de privacidade (a padrão do Telegram vale se você não escrever a sua) e deve apagar os dados de um usuário quando ele pedir. Automatizar uma conta pessoal em vez de um bot — o chamado userbot — é algo totalmente diferente, e o Telegram bane contas usadas para flood ou spam.
Hospedagem de bots do Telegram na HytHost
Nossos planos de hospedagem de bots rodam bots do Telegram além de bots do Discord:
- Escolha um plano e o runtime — Python para python-telegram-bot ou aiogram, Node.js para grammY. Selecione Python 3.10 ou mais recente, ou um Node.js atual, na aba Startup.
- Envie seu código pelo gerenciador de arquivos ou por SFTP, junto com
requirements.txtoupackage.json. - Coloque o token em um arquivo
.envou em uma variável de ambiente, não no código. - Inicie o bot. Com polling, o bot não precisa de domínio nem porta aberta; o painel o reinicia se ele travar.
O que nossas regras permitem: bots criados com a Bot API oficial e um token do BotFather. Não é permitido: userbots que automatizam uma conta pessoal, mensagens em massa não solicitadas, scraping de usuários ou grupos e bots que baixam e repassam mídia sem ter os direitos sobre ela. Um bot que viole essas regras é suspenso.
Os planos incluem um banco de dados MySQL e backups. Também está criando um bot do Discord? Veja como criar um bot do Discord.
Mantenha seu bot do Telegram online 24/7 sem o seu PC: hospedagem de bots em Python ou Node.js a partir de €0.89/mês, com reinícios incluídos.
Ver planos de hospedagem de botsPerguntas frequentes
Você pode rodá-lo de graça no seu próprio computador, mas ele fica offline sempre que o computador entra em suspensão ou reinicia. Planos gratuitos de nuvem costumam pausar apps ociosos ou limitar o uso. Para um bot que fique online, uma hospedagem paga pequena é a opção confiável.
Polling para quase todo bot: não precisa de domínio, certificado nem porta aberta. Webhooks são para bots com muito tráfego ou plataformas serverless e exigem HTTPS na porta 443, 80, 88 ou 8443. Um token não pode usar os dois ao mesmo tempo.
Envie /token ao @BotFather e escolha o bot para gerar um token novo; depois atualize-o em todos os lugares onde o bot roda. Guarde o token em uma variável de ambiente ou em um arquivo .env, nunca em código que você compartilha.
Duas cópias do bot estão fazendo polling com o mesmo token, por exemplo uma no seu PC e outra no servidor. Pare uma delas e use um bot e um token separados para testes.
Muito pouca. Um bot típico em Python ou Node.js que responde a comandos geralmente roda bem com 512 MB; bots que processam imagens ou guardam muitos dados na memória precisam de mais.
Seu bot do Telegram, online 24/7
A hospedagem de bots da HytHost roda seu bot do Telegram em Python ou Node.js com reinícios automáticos, um banco de dados MySQL e backups — a partir de €0.89/mês.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursEste guia foi útil?