Um bot do Telegram pode responder a perguntas, executar comandos e conectar um chat a outros serviços. Para criá-lo, você começa pelo BotFather. Mas, para que ele responda, precisa configurar um fluxo no-code ou criar um programa que processe as mensagens.
Este guia explica como criar um bot no Telegram em 2026: registrar uma conta, obter um token, configurar respostas sem código ou com Python e resolver os erros mais comuns. Vamos começar pelo BotFather e, depois, mostrar as duas formas de criar um bot funcional.
Resumo
Registre o bot pela conta oficial @BotFather e mantenha o token de acesso em segurança.
Um fluxo no-code dá conta de respostas simples; com Python, você controla a lógica personalizada.
O BotFather cria a conta, mas, para responder, o bot precisa de um fluxo ou programa em execução.
Teste /start, /help e uma mensagem de texto em um chat privado antes de publicar o bot.
O que é um bot do Telegram?
Um bot do Telegram é um aplicativo criado para automatizar tarefas, com o qual as pessoas interagem pelo Telegram. Ele pode responder a perguntas, executar comandos ou conectar uma conversa a outro serviço, como explica a visão geral dos bots do Telegram.
Comece com uma única tarefa. Um bot de ajuda pode mostrar instruções para /start e /help. Já um bot de eco repete a mensagem recebida: envie Hello e receba Hello. Isso já basta para testar a conexão antes de adicionar outras funções.
Um bot não é automaticamente um chatbot com IA. Para enviar uma resposta fixa, basta criar uma regra; uma resposta de IA exige integração com um modelo à parte. Já uma Mini App é uma interface web aberta dentro do Telegram — um projeto diferente do bot de texto que vamos criar aqui.
Os bots também fazem parte do ecossistema de anúncios do Telegram: uma plataforma de publicidade no Telegram como a AdsGram veicula campanhas em canais, bots e Mini Apps.
Como criar um bot no Telegram
Crie a conta com o BotFather e, em seguida, escolha entre um fluxo no-code e Python para definir o que o bot vai fazer. O BotFather é a etapa de cadastro, comum às duas opções — não uma terceira forma de criar a lógica da conversa.
Opção | O que você configura | Ideal para começar | O que fica sob sua responsabilidade |
|---|---|---|---|
BotFather | Conta, perfil e token de acesso | Cadastro obrigatório | Propriedade e configurações da conta |
No-code | Gatilhos, condições e respostas | Uma conversa curta e previsível | Fluxo, credenciais e disponibilidade do serviço |
Python | Handlers e lógica da aplicação | Regras personalizadas ou integrações | Código, dependências e ambiente de execução |
Antes de escolher uma ferramenta para criar bots no Telegram, desenhe uma conversa: mensagem recebida → condição → resposta. Confira se a ferramenta aceita os tipos de mensagem necessários, permite criar ramificações e armazenar dados. Se a conversa tiver muitas exceções, compare o trabalho necessário para alterar as regras num editor visual e no código.

Registre o bot no BotFather
Acesse o perfil oficial do @BotFather, envie /newbot e siga as instruções para definir um nome de exibição e um nome de usuário. O Telegram explica esse processo de cadastro no tutorial do primeiro bot.
- Abra o BotFather pelo link direto acima e toque em Iniciar.
- Envie
/newbot. - Digite um nome de exibição, como
Workshop Help. - Escolha um nome de usuário disponível que termine em bot, como
workshop_help_demo_bot. - Guarde o token de acesso em um gerenciador de senhas ou cofre de segredos.
- Abra o link do bot para confirmar que consegue aceder ao chat.
O nome de utilizador de exemplo é apenas ilustrativo; a disponibilidade não é garantida. Use letras latinas, números e sublinhados e siga os requisitos de nome de utilizador apresentados pelo BotFather.
Um token de acesso autentica o bot na Bot API. Quem o obtiver poderá controlar o bot, por isso não o publique em capturas de ecrã, repositórios ou documentos partilhados. Se já tiver um bot, abra as opções de gestão do BotFather para obter ou substituir o token. Se for exposto, revogue-o e atualize a aplicação ligada com o novo token.

Comandos úteis do BotFather
Estes são comandos comuns de configuração, não uma lista completa. Consulte o guia do Telegram para o BotFather e o menu atual do BotFather para ver as definições disponíveis.
Comando | Finalidade |
|---|---|
| Registar um bot |
| Gerir os seus bots |
| Editar o nome de apresentação |
| Descrever o que o bot faz |
| Editar a breve biografia do perfil |
| Definir a imagem do perfil |
| Configurar o menu de comandos |
| Gerar um token de autenticação |
Adicione apenas comandos que a sua aplicação realmente processa. Uma opção no menu não cria uma resposta: /help continua a precisar de uma regra de fluxo de trabalho ou de um handler no código.
Crie um bot sem programar
Para criar um bot do Telegram sem programar, ligue o respetivo token a um fluxo de trabalho visual e defina como as mensagens recebidas geram respostas. Veja este exemplo básico com o n8n — uma ferramenta de automatização de terceiros, não um serviço do Telegram.
Comece com uma instância do n8n que possa receber eventos do Telegram. A instalação em servidor próprio também exige configuração, por isso «sem código» não significa «sem configuração». Não parta do princípio de que um plano alojado ou o funcionamento contínuo são gratuitos.
- Crie um novo fluxo de trabalho e adicione o Trigger do Telegram.
- Crie credenciais do Telegram e introduza o token do BotFather no campo Access Token, seguindo a documentação de credenciais.
- Selecione o evento Message no Telegram Trigger.
- Adicione uma ação do Telegram com o recurso Message e a operação Send Message.
- Defina Chat ID como o ID do chat da mensagem recebida. Se a ação vier diretamente a seguir ao trigger, use a expressão
{{ $json.message.chat.id }}. - Defina Text como
Olá! O seu bot está ligado.A documentação da ação do Telegram descreve as operações disponíveis. - Inicie um listener de teste e, em seguida, envie uma nova mensagem privada ao bot.
- Confirme que recebeu a resposta e publique ou ative o fluxo de trabalho para o utilizar continuamente.
Este exemplo responde deliberadamente com a mesma frase a todas as mensagens. A seguir, adicione uma condição para encaminhar /start para uma mensagem de boas-vindas e /help para as instruções. Defina também o que enviar quando a mensagem não for reconhecida, para não deixar o utilizador à espera.
Se alojar o n8n no seu próprio servidor, o Telegram precisa de um endereço público de webhook HTTPS. Os testes e o ambiente de produção podem substituir o registo de webhook um do outro. Por isso, use um bot de teste separado sempre que alterar um fluxo de trabalho ativo. Consulte o guia de resolução de problemas do n8n para o Telegram.
Crie um bot do Telegram com Python
Use Python se precisar de controlar diretamente as respostas, a validação e as integrações. O exemplo abaixo implementa /start, /help e a repetição de texto, seguindo o padrão de handlers assíncronos do exemplo de python-telegram-bot.
Prepare o projeto
Instale uma versão compatível do Python; Python 3.12 é uma boa opção para este exemplo. A documentação da biblioteca traz informações sobre compatibilidade. Crie uma pasta e um ambiente virtual para manter os pacotes deste projeto separados.
No macOS ou Linux:
mkdir telegram-bot-demo cd telegram-bot-demopython3 -m venv .venv source .venv/bin/activate python -m pip install "python-telegram-bot==22.8"
No PowerShell do Windows, use py -m venv .venv,
em seguida, execute .\.venv\Scripts\Activate.ps1 e depois use o mesmo comando de instalação.
Se uma política local impedir a ativação, execute .\.venv\Scripts\python.exe diretamente, em vez de alterar as políticas do sistema só para seguir este tutorial.
Adicione o código do bot
Salve este código como bot.py. O token vem de uma variável de ambiente, não de uma string incluída no controle de versão.
import os
from telegram import Update
from telegram.ext (
Application, CommandHandler, ContextTypes,
MessageHandler, filters,
)
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
if update.message:
await update.message.reply_text("Hello! Send text or use /help.")
async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE):
if update.message:
await update.message.reply_text("I repeat text messages. Try sending Hello.")
async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE):
if update.message and update.message.text:
await update.message.reply_text(update.message.text)
def main():
token = os.environ.get("TELEGRAM_BOT_TOKEN")
if not token:
raise SystemExit("Set TELEGRAM_BOT_TOKEN before starting the bot.")
app = Application.builder().token(token).build()
app.add_handler(CommandHandler("start", start))
app.add_handler(CommandHandler("help", help_command))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))
app.run_polling(allowed_updates=["message"])
if __name__ == "__main__":
main()
Execute o bot
Configure o token na mesma sessão do terminal e execute python bot.py. No macOS ou Linux, usando bash ou zsh, isso evita digitar o token diretamente em um comando que ficará salvo no histórico do shell:
read -s "TELEGRAM_BOT_TOKEN?Paste bot token: "zsh export TELEGRAM_BOT_TOKEN python bot.py
No bash, substitua a primeira linha por read -s -p "Paste bot token: " TELEGRAM_BOT_TOKEN.
No PowerShell 7, use $env:TELEGRAM_BOT_TOKEN = Read-Host -MaskInput 'Paste bot token' e depois python bot.py.
Abra o chat privado e teste /start, /help e uma mensagem curta. Interrompa o processo com Ctrl+C. Este código é um ponto de partida para aprendizado: não inclui banco de dados, estado persistente da conversa nem monitoramento de produção.
Mantenha o bot em execução
Execute o aplicativo em um servidor sempre ligado ou mantenha o fluxo sem código ativo no ambiente de hospedagem. Se você fechar o processo local do Python, o bot para de responder.
Long polling significa que seu programa consulta o Telegram para buscar novos eventos. Com um webhook, é o Telegram que envia os eventos para o seu servidor. A referência da Bot API descreve esses dois mecanismos mutuamente exclusivos para receber atualizações. O exemplo em Python usa polling, enquanto o gatilho do n8n usa um webhook.
Antes de transformar um experimento em um serviço compartilhado:
- Mantenha o token nas configurações de secrets da hospedagem e exclua .venv e os arquivos de secrets do Git.
- Execute apenas uma instância de polling por token de bot; evite que outro aplicativo consuma os eventos do mesmo bot.
- Configure a reinicialização automática e investigue as falhas sem registrar secrets nem conteúdo desnecessário das mensagens.
- Armazene fora da memória do processo os dados de conversa que precisam ser mantidos.
- Teste uma reinicialização e confirme que o bot volta a funcionar.
Se o projeto precisar de uma interface web mais adiante, planeje-a separadamente. O guia da AdsGram sobre erros comuns no desenvolvimento de Mini Apps do Telegramé uma leitura complementar para essa etapa.
Corrija erros comuns de configuração
Se o bot não responder, confira se o aplicativo está em execução e se as atualizações estão sendo entregues antes de alterar o perfil. Siga esta ordem para descobrir se o problema está na conta, no fluxo de trabalho ou no código.
- Sem resposta após o cadastro: conecte e inicie o fluxo de trabalho ou o programa; o BotFather, por si só, não o executa.
- Variável de ambiente ausente: defina
TELEGRAM_BOT_TOKENno mesmo terminal ou serviço de hospedagem que inicia o Python. - Erro de autenticação: confira se há espaços em branco, se o token está desatualizado ou se as credenciais são de outro bot.
- Conflito de polling: encerre os processos duplicados. Se estiver migrando de um serviço com webhook, remova-o intencionalmente com
deleteWebhookantes de iniciar o polling. Consulte as perguntas frequentes sobre atualizações do Telegram. - Funciona no chat privado, mas não no grupo: confira o modo de privacidade e teste um comando direcionado ao bot, como
/help@your_bot_username. - O comando do menu não faz nada: implemente um handler para esse comando; adicioná-lo no BotFather apenas o torna visível.
Perguntas frequentes
Você pode começar localmente, sem contratar hospedagem. A seguir, respondemos às principais dúvidas sobre cadastro e funcionamento contínuo.
Posso criar um bot do Telegram de graça?
A plataforma básica de bots do Telegram é gratuita, e você pode desenvolver um bot simples em Python no seu próprio computador. Pode haver custos à parte com hospedagem, serviços no-code ou APIs externas. Para começar, teste um bot local que responde a mensagens de texto e confira os custos de qualquer hospedagem ou serviço antes de mantê-lo em funcionamento contínuo.
O BotFather é seguro?
Acesse a conta oficial pelos links da documentação do Telegram ou pelo link direto para @BotFather neste guia. O BotFather é a ferramenta do Telegram para gerenciar bots. Os principais riscos são contas falsas e tokens de acesso expostos. Mantenha o token em sigilo e compartilhe-o apenas com o aplicativo ou serviço em que você confia para operar o bot.
Como pegar um token de bot do Telegram no BotFather?
Envie /newbot para o BotFather oficial e siga as instruções para escolher um nome e um nome de usuário. Em seguida, o BotFather fornecerá o token do bot. Se você já tem uma conta, use as opções de gerenciamento para gerar um token. Guarde-o em segurança e atualize as credenciais do aplicativo sempre que revogar ou substituir o token anterior.
Preciso saber Python para criar um bot do Telegram?
Não. Você pode criar uma resposta básica usando um fluxo visual, sem Python, ou chamar a Bot API com outras linguagens de programação. Escolha a abordagem de acordo com o comportamento desejado e com o que você consegue manter. Uma ferramenta visual pode ser suficiente para uma árvore de decisão simples; validações e integrações mais complexas talvez justifiquem criar seu próprio aplicativo.
Por que meu bot para de funcionar quando fecho o terminal?
Neste exemplo, o terminal executa o processo que recebe mensagens e envia respostas. Quando o processo termina, essa lógica para, embora a conta do bot continue existindo. Para mantê-lo funcionando, implante o programa em um ambiente sempre ativo, com reinicialização automática, ou deixe um fluxo hospedado em execução e confira os registros de execução se as respostas pararem de chegar.





