Telegram · Guia

Como alojar um bot do Telegram

Atualizado October 11, 2026 6 min de leitura

Nesta página
  1. Passo 1: crie o bot com o BotFather
  2. Polling ou webhooks?
  3. Passo 2a: um bot em Python (python-telegram-bot)
  4. Passo 2b: um bot em JavaScript (grammY)
  5. Limites e regras do Telegram para bots
  6. Alojamento de bots do Telegram na HytHost
  7. FAQ

Um bot do Telegram só responde enquanto o seu código está em execução. Se o criar no portátil, fica calado assim que o portátil entra em suspensão — por isso, mais cedo ou mais tarde, todos os bots precisam de uma casa que se mantenha ligada.

Este guia cobre todo o percurso: 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

  1. No Telegram, abra o @BotFather e envie /newbot.
  2. Dê ao bot um nome de apresentação e depois um nome de utilizador: 5 a 32 caracteres, letras latinas, algarismos e underscores, a terminar em bot — por exemplo, my_shop_helper_bot.
  3. O BotFather responde com o token, que tem este aspeto: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Quem o tiver controla o seu bot, por isso mantenha-o fora do código e nunca o partilhe. Se for divulgado, envie /token ao BotFather para obter um novo.

Mais dois comandos do BotFather que vale a pena conhecer: /setcommands adiciona a lista de comandos que os utilizadores veem ao escrever /, e /setprivacy controla o que o bot vê nos grupos. O modo de privacidade está ativo por predefinição, por isso num grupo o bot só recebe os comandos dirigidos a ele e as respostas às suas próprias mensagens — a não ser que 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 pollingWebhook
Como funcionaO bot pede continuamente ao Telegram novas mensagens através de uma ligação abertaO Telegram envia cada atualização para o seu endereço HTTPS
RequisitosApenas acesso de saída à internetUm domínio, um certificado válido e a porta 443, 80, 88 ou 8443
Ideal paraQuase todos os bots, e o mais fácil de alojarBots com muito tráfego ou plataformas serverless

Comece com polling. Não precisa de domínio, de certificado nem de porta aberta, e todas as bibliotecas o suportam. Se alguma vez foi definido um webhook no token, chame primeiro deleteWebhook — o polling não funciona enquanto houver um webhook ativo.

Os bots com polling funcionam no alojamento de bots da HytHost sem domínio nem porta aberta para configurar — Python ou Node.js desde €0.89/mês.

Ver planos de alojamento de bots

Passo 2a: um bot em Python (python-telegram-bot)

O python-telegram-bot 22 precisa do Python 3.10 ou mais recente. Instale-o 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 escolha 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. Execute 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();

Os 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 as FAQ do Telegram sobre bots:

  • Cerca de uma mensagem por segundo numa única conversa, 20 mensagens por minuto num grupo e cerca de 30 mensagens por segundo no total.
  • Ficheiros: o bot pode enviar até 50 MB e transferir até 20 MB.
  • Só uma cópia do bot pode fazer polling de cada vez. Uma segunda recebe Conflict: terminated by other getUpdates request — use um token separado para testes.

Regras: os termos do Telegram para programadores de bots proíbem spam, mensagens não solicitadas e contornar os limites de envio. Um bot precisa de uma política de privacidade (aplica-se a política padrão do Telegram se não escrever a sua) e tem de apagar os dados de um utilizador quando este o pedir. Automatizar uma conta pessoal em vez de um bot — o chamado userbot — é algo totalmente diferente, e o Telegram bane as contas usadas para flood ou spam.

Alojamento de bots do Telegram na HytHost

Os nossos planos de alojamento de bots executam bots do Telegram tal como bots do Discord:

  1. 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, no separador Startup.
  2. Carregue o seu código com o gestor de ficheiros ou por SFTP, juntamente com requirements.txt ou package.json.
  3. Coloque o token num ficheiro .env ou numa variável de ambiente, não no código.
  4. Inicie-o. Com polling, o bot não precisa de domínio nem de porta aberta; o painel reinicia-o se falhar.

O que as 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, recolha de dados (scraping) de utilizadores ou grupos, e bots que transferem e redistribuem conteúdos multimédia sem terem os direitos sobre eles. Um bot que viole estas regras é suspenso.

Os planos incluem uma base de dados MySQL e cópias de segurança. Também está a criar um bot do Discord? Veja como criar um bot do Discord.

Mantenha o seu bot do Telegram online 24/7 sem o seu PC: alojamento de bots em Python ou Node.js desde €0.89/mês, com reinícios incluídos.

Ver planos de alojamento de bots
FAQ

Perguntas frequentes

Pode executá-lo gratuitamente no seu próprio computador, mas fica offline sempre que o computador entra em suspensão ou reinicia. Os planos gratuitos na cloud costumam pausar apps inativas ou limitar a sua utilização. Para um bot que se mantenha online, um alojamento pago pequeno é a opção fiável.

Polling para quase todos os bots: não precisa de domínio, certificado nem porta aberta. Os webhooks servem 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 obter um token novo; depois atualize-o em todos os sítios onde o bot é executado. Guarde o token numa variável de ambiente ou num ficheiro .env, nunca em código que partilhe.

Há duas cópias do bot a fazer 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 costuma funcionar bem com 512 MB; os bots que processam imagens ou mantêm muitos dados em memória precisam de mais.

O seu bot do Telegram, online 24/7

O alojamento de bots da HytHost executa o seu bot do Telegram em Python ou Node.js com reinícios automáticos, uma base de dados MySQL e cópias de segurança — desde €0.89/mês.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

Este guia foi útil?