Guia

Como criar um bot no Telegram: tutorial com ou sem código

Registre um bot no @BotFather em um minuto e faça-o responder: um serviço pronto, seu código em Python com exemplo ou IA. Perfil, hospedagem, grupos, erros.

AdminHub

Vai lançar um canal? Comece pelo bot

Conectar um bot

Resumo. Um bot do Telegram é uma conta mais um programa que responde por ela. A conta leva um minuto: abra o @BotFather, envie /newbot, escolha um nome e um nome de usuário terminado em bot, e você recebe um token. O programa é um passo à parte: conecte o bot a um serviço pronto, rode o seu próprio código (há um exemplo curto em Python abaixo) ou peça a um assistente de IA que o escreva. Enquanto o programa não estiver rodando, o bot fica calado.

Quase todo guia de «como criar um bot no Telegram» termina no token do BotFather. Nesse ponto, o bot ainda não sabe fazer nada. O Telegram descreve os bots exatamente assim: contas especiais conectadas ao servidor do dono, que é quem processa as mensagens. Abaixo está o caminho inteiro, do registro até um bot que responde, com o perfil, a hospedagem e os erros em que mais gente empaca.

Passo 1. Registre o bot no @BotFather

  1. Abra o @BotFather — o bot oficial do Telegram para criar bots — e toque em Iniciar (Start). Funciona do mesmo jeito no celular e no computador.
  2. Envie /newbot.
  3. Envie um nome. Ele aparece nos chats e nos contatos e pode ser mudado a qualquer momento.
  4. Envie um nome de usuário: de 5 a 32 caracteres entre letras latinas, dígitos e sublinhados, terminado em bot (tetris_bot, TetrisBot). Maiúsculas e minúsculas não fazem diferença, e o nome de usuário não pode ser mudado depois. Se ele já estiver em uso, o BotFather pede outro; dá para conferir antes se ele já está em uso no verificador de nome de usuário.
  5. O BotFather responde com o token, uma sequência como 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw.

O token é uma chave: quem o conhece controla o bot. Não o publique nem o escreva em código que você coloca na internet. Como achar o token depois, conferir se ele funciona e revogar um token vazado está no guia do token do bot.

O Mini App do BotFather também faz tudo isso, com botões no lugar de comandos.

Passo 2. Configure o perfil do bot

Quem abre o bot pela primeira vez vê o nome, a foto e a descrição dele antes da primeira mensagem. Tudo isso é configurado no @BotFather — com os comandos abaixo ou por /mybots → seu bot —, e parte dá para editar direto na página de perfil do bot.

ComandoO que defineOnde as pessoas veem
/setuserpica foto de perfilna lista de chats e no perfil
/setdescriptionuma descrição de até 512 caracteresno chat vazio com o bot, até a pessoa escrever para ele
/setabouttextum texto curto de até 120 caracteresno perfil do bot e ao lado do link quando alguém compartilha o bot
/setcommandsa lista de comandos com descriçõescomo sugestões quando a pessoa digita /
/setnameo nomeem todo lugar em que o bot aparece

A descrição e o texto curto podem ser definidos em vários idiomas — com os métodos da Bot API setMyDescription e setMyShortDescription e um language_code —, e cada pessoa vê a versão no idioma do seu Telegram.

Passo 3. Ensine o bot a responder

É aqui que a maioria dos guias para. O Telegram só entrega as mensagens ao bot; quem responde a elas é o programa a que você deu o token. Há três jeitos de conseguir esse programa:

Serviço prontoCódigo próprioCódigo com assistente de IA
Precisa programarnãosimum pouco: rodar e conferir
Onde o programa rodano serviçono seu computador ou servidorno seu computador ou servidor
Quem conserta quando o bot caio serviçovocêvocê
O que o bot fazo que o serviço faztudo o que você escrevertudo o que você escrever e conferir

Um serviço pronto

São construtores de conversas e plataformas em que o trabalho do bot — uma loja, um canal pago, atendimento — já está pronto. Você conecta o bot, e o programa e o servidor ficam do lado do serviço. Qual serve para cada tarefa está em criar um bot sem programar.

Se o bot é para um canal, o AdminHub pode criá-lo direto do app. O Telegram permite que um bot crie outros — os bots gerenciados —, então você só escolhe um nome e um nome de usuário numa janela do Telegram, e o app recebe o token do próprio Telegram, sem você precisar copiá-lo. Se a entrega não terminar ou o bot já existir, você cola o token à mão. Os dois caminhos estão no guia para criar um bot para o seu canal.

Código próprio: um bot em Python

O exemplo usa o aiogram 3, uma das bibliotecas para a Bot API listadas na página de exemplos de código do Telegram. O bot cumprimenta você no /start e repete as suas mensagens.

  1. Instale o Python 3.10–3.14 (o aiogram ainda não suporta o 3.15). No terminal, crie um ambiente virtual e instale a biblioteca:
python3 -m venv .venv
source .venv/bin/activate
pip install aiogram

No Windows: python -m venv .venv, depois .venv\Scripts\activate e depois pip install aiogram.

  1. Salve o código como bot.py:
import asyncio
import os

from aiogram import Bot, Dispatcher
from aiogram.filters import CommandStart
from aiogram.types import Message

dp = Dispatcher()


@dp.message(CommandStart())
async def start(message: Message) -> None:
    await message.answer(f"Olá, {message.from_user.first_name}! Me envie qualquer mensagem que eu a repito.")


@dp.message()
async def echo(message: Message) -> None:
    await message.copy_to(message.chat.id)


async def main() -> None:
    bot = Bot(token=os.environ["BOT_TOKEN"])
    await dp.start_polling(bot)


if __name__ == "__main__":
    asyncio.run(main())
  1. Na mesma janela do terminal, passe o token numa variável de ambiente em vez de escrevê-lo no código (o tutorial do Telegram recomenda o mesmo) e rode o programa:
export BOT_TOKEN="token do BotFather"
python bot.py

No Windows, em vez de export: set BOT_TOKEN=seu_token no Prompt de Comando ou $env:BOT_TOKEN="seu_token" no PowerShell.

Abra o bot no Telegram e toque em Iniciar: ele responde. Pare o programa (Ctrl+C) e o bot fica calado. Teste o código num bot separado: um bot que já está conectado a um serviço tem um webhook configurado, e o polling não vai funcionar para ele. Outras bibliotecas populares da mesma lista são a python-telegram-bot, para Python, e a grammY e a Telegraf, para JavaScript.

Código com um assistente de IA

O Telegram diz com todas as letras que a documentação de bots dele também foi escrita pensando em IA: se você tem pouca experiência com programação, pode pedir a um assistente de IA que a leia e ajude você a começar. Descreva o que o bot deve fazer, peça código para uma biblioteca específica e rode-o do mesmo jeito que o exemplo acima. Duas coisas continuam com você: não cole o token no chat com o assistente — deixe o código lê-lo de uma variável de ambiente — e teste o bot você mesmo antes de convidar as pessoas.

Passo 4. Decida onde o bot vai rodar

Enquanto o programa roda no seu computador, o bot só responde quando o computador está ligado. O tutorial do Telegram diz isso diretamente e sugere um servidor (um VPS) ou um serviço parecido para rodar o tempo todo. Se você escolheu um serviço pronto, ele cuida disso por você.

O programa pode receber as mensagens de dois jeitos, e eles não funcionam ao mesmo tempo:

  • getUpdates (long polling). O próprio programa pede ao Telegram as mensagens novas. É assim que o exemplo acima funciona: qualquer computador serve, e não é preciso ter um endereço na internet.
  • Um webhook. O Telegram envia cada mensagem para o seu endereço HTTPS, na porta 443, 80, 88 ou 8443. Você precisa dele quando o código roda numa nuvem que é iniciada sob demanda.

Enquanto há um webhook configurado, o getUpdates não funciona. As mensagens que o bot ainda não buscou ficam guardadas pelo Telegram por até 24 horas.

Passo 5. Convide as primeiras pessoas

Um bot não pode escrever primeiro para uma pessoa: a pessoa precisa abrir o bot e tocar em Iniciar, ou adicioná-lo a um grupo. Então compartilhe o link t.me/usuario_do_seu_bot; as pessoas também podem achar o bot pelo nome de usuário na busca do Telegram.

Limites de envio que vale conhecer de antemão (do Bots FAQ do Telegram):

  • num mesmo chat: no máximo cerca de uma mensagem por segundo;
  • num grupo: no máximo 20 mensagens por minuto;
  • numa transmissão: cerca de 30 mensagens por segundo. Mais rápido que isso, só com as transmissões pagas: até 1.000 mensagens por segundo, a 0,1 estrela por mensagem acima das 30 por segundo gratuitas. Dá para ativá-las quando o bot tem pelo menos 100.000 estrelas no saldo e pelo menos 100.000 usuários ativos por mês.

Um bot num grupo ou canal

  • Um grupo. Adicione o bot como membro. Por padrão, ele funciona em modo de privacidade (privacy mode): vê os comandos dirigidos a ele, as respostas às próprias mensagens e as mensagens de serviço, mas não a conversa inteira. Um bot administrador vê todas as mensagens, e o modo pode ser desligado com /setprivacy — depois disso, é preciso adicionar o bot ao grupo de novo. Mais detalhes em como adicionar um bot a um grupo.
  • Um canal. Um bot só pode postar num canal se for um dos administradores dele com permissão para publicar mensagens.

Para o bot escrever no chat certo, ele precisa do chat ID. Todos os tipos de chat estão no guia de chat ID.

Por que o bot não responde

  • O programa não está rodando, ou caiu. O próprio Telegram não responde pelo bot.
  • Há um webhook configurado enquanto o código lê getUpdates — ou o contrário.
  • Duas cópias do programa rodam com o mesmo token e atrapalham uma à outra ao buscar as atualizações.
  • No grupo, o bot não vê as mensagens — é o modo de privacidade, veja acima.
  • O bot não consegue escrever para uma pessoa — ela ainda não tocou em Iniciar, ou bloqueou o bot.
  • O token foi trocado no BotFather: o antigo parou de funcionar e o programa recebe Unauthorized. Coloque o novo.

Quanto custa

Registrar um bot no @BotFather e enviar mensagens dentro dos limites normais é de graça. O dinheiro vai para o que roda por trás do bot: um servidor para o seu próprio código ou o plano de um serviço. As estrelas são cobradas pelas transmissões pagas, que são necessárias para enviar mais de cerca de 30 mensagens por segundo e só estão disponíveis para bots grandes.


Fontes, conferidas em outubro de 2026: Telegram Bots — como os bots funcionam, um bot não começa a conversa primeiro; Bot features — BotFather (/newbot, regras do nome de usuário, perfil, comandos de edição, o Mini App do BotFather), Privacy Mode, Managed Bots, a documentação pensada para IA; Bots FAQ — o que um bot vê, long polling e webhooks, limites e transmissões pagas; Telegram Bot API — getUpdates e setWebhook (portas, atualizações guardadas por 24 horas), setMyDescription e setMyShortDescription; Bot tutorial — o token fora do código, hospedagem; Bot API Library Examples — bibliotecas para a Bot API.

O que as pessoas costumam perguntar

Dá para criar um bot no Telegram de graça?
Registrar um bot no @BotFather não custa nada, e o envio comum de mensagens pela Bot API também não. O que se paga é o que roda por trás do bot: o seu próprio servidor, se você escreve código, ou um serviço que roda o bot por você. Para enviar mais rápido que cerca de 30 mensagens por segundo, são necessárias as transmissões pagas, que custam estrelas e só estão disponíveis para bots grandes.
Dá para criar um bot no Telegram pelo celular?
Dá. O @BotFather é um chat comum, e /newbot, /mybots e os outros comandos funcionam no app do celular exatamente como no computador; o BotFather também tem um Mini App com botões no lugar de comandos. A única coisa incômoda no celular é rodar o seu próprio código, que precisa de um computador ou de um servidor.
Preciso saber programar para fazer um bot?
Para registrar, não: são algumas mensagens para o @BotFather. Para o bot fazer alguma coisa, um programa precisa responder por ele: você pode escrevê-lo, pedir a um assistente de IA que o escreva ou conectar o bot a um serviço pronto em que o trabalho já está feito.
Por que o meu bot não responde?
Na maioria das vezes, porque o programa do bot não está rodando: o Telegram só entrega as mensagens, e quem responde é o seu código ou serviço. Também acontece de o bot ter um webhook configurado enquanto o código lê as atualizações com getUpdates, e os dois não funcionam ao mesmo tempo. Num grupo em que não é administrador, o bot por padrão só vê os comandos dirigidos a ele, as respostas a ele e as mensagens de serviço.
Dá para mudar o nome de usuário do bot?
Não. O nome pode ser mudado com /setname a qualquer momento, mas o nome de usuário terminado em bot não pode ser mudado depois da criação (dá para adicionar por cima um nome de usuário colecionável comprado no Fragment). Se ele não servir, crie um bot novo; o antigo pode ser excluído com /deletebot, o que libera o nome de usuário, mas um bot excluído não pode ser recuperado.
Como faço um chatbot com IA no Telegram?
Crie o bot no @BotFather e conecte-o a um programa ou serviço que repassa as perguntas a um modelo de linguagem e manda as respostas de volta. Você pode escrever esse programa, e o próprio Telegram sugere ler a documentação dele junto com um assistente de IA, ou conectar o bot a um serviço que já vem com respostas de IA.