✈️

Telegram Bot

BotFather & Bot API

A configuração mais simples! Crie um bot em minutos e integre com N8N para automação de mensagens.

🎯

Visão Geral

Telegram tem a API de bot mais fácil de configurar. Basta criar um bot com o @BotFather, copiar o token e usar! Sem OAuth, sem aprovações, sem complicação.

✅ Vantagens do Telegram

→ Setup em 2 minutos
→ API 100% gratuita
→ Sem limites de mensagens
→ Suporte a arquivos grandes
→ Webhooks nativos
→ Grupos e canais

📨

Mensagens

Texto, mídia, botões

👥

Grupos

Até 200k membros

📢

Canais

Broadcast ilimitado

🤖

Comandos

/start, /help, etc

1

Criar Bot com @BotFather

1.1 Conversar com BotFather

  1. 1. Abra o Telegram e pesquise por @BotFather
  2. 2. Inicie uma conversa (clique em Start)
  3. 3. Envie o comando: /newbot

1.2 Configurar o Bot

O BotFather vai pedir algumas informações:

BotFather: Alright, a new bot. How are we going to call it? Please choose a name for your bot. Você: N8N Automation Bot BotFather: Good. Now let's choose a username for your bot. It must end in 'bot'. Like this, for example: TetrisBot Você: n8n_automation_bot BotFather: Done! Congratulations on your new bot. Use this token to access the HTTP API: 7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxx Keep your token secure!

✅ Pronto!

Copie o token que o BotFather enviou. É só isso que você precisa para começar!

Seu Bot Token:

7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxx
2

Obter Chat ID

📝 Por que Chat ID?

Para enviar mensagens, você precisa do ID do chat (usuário, grupo ou canal). Existem várias formas de obter:

Método 1: Via API (Mais Fácil)

  1. 1. Envie uma mensagem para seu bot no Telegram
  2. 2. Acesse no navegador (substitua SEU_TOKEN):
https://api.telegram.org/bot{SEU_TOKEN}/getUpdates // Resposta: { "result": [{ "message": { "chat": { "id": 123456789, // ← Este é seu Chat ID! "first_name": "Seu Nome", "type": "private" } } }] }

Método 2: Usar @userinfobot

  1. 1. Pesquise por @userinfobot no Telegram
  2. 2. Envie qualquer mensagem
  3. 3. Ele responde com seu User ID

Chat ID de Grupos

  1. 1. Adicione seu bot ao grupo
  2. 2. Envie uma mensagem no grupo
  3. 3. Use o método getUpdates acima

⚠️ IDs de grupos são negativos (ex: -1001234567890)

3

Configurar no N8N

3.1 Criar Credencial

  1. 1. No N8N, vá em CredenciaisAdicionar
  2. 2. Pesquise: "Telegram API"
  3. 3. Cole o Access Token do BotFather
  4. 4. Clique em Salvar

3.2 Usar o Node Telegram

O N8N tem nodes específicos para Telegram:

Telegram

Enviar mensagens, mídia, etc.

Telegram Trigger

Receber mensagens via webhook

4

Configurar Webhook (Receber Mensagens)

🔔 Telegram Trigger

O N8N configura o webhook automaticamente quando você usa o node "Telegram Trigger". Basta ativar o workflow!

Usando Telegram Trigger

  1. 1. Adicione o node "Telegram Trigger"
  2. 2. Selecione sua credencial
  3. 3. Escolha os Updates que quer receber:
// Tipos de updates disponíveis: message // Mensagens normais edited_message // Mensagens editadas channel_post // Posts em canais callback_query // Cliques em botões inline inline_query // Consultas inline (@bot query)

Ative o workflow e o webhook é configurado automaticamente!

Webhook Manual (Alternativo)

Se precisar configurar manualmente:

// Registrar webhook: POST https://api.telegram.org/bot{TOKEN}/setWebhook Body: { "url": "https://seu-n8n.com/webhook/telegram" } // Verificar webhook atual: GET https://api.telegram.org/bot{TOKEN}/getWebhookInfo // Remover webhook: POST https://api.telegram.org/bot{TOKEN}/deleteWebhook
📋

Exemplos Práticos

📨 Enviar Mensagem Simples

// Node: Telegram // Operation: Send Message Chat ID: 123456789 Text: Olá! Seu pedido foi confirmado. // Com formatação Markdown: Text: | *Pedido Confirmado* ✅ Número: #{{ $json.id }} Valor: R$ {{ $json.valor }} _Obrigado pela preferência!_ Parse Mode: MarkdownV2

🖼️ Enviar Foto

// Node: Telegram // Operation: Send Photo Chat ID: 123456789 Photo: https://exemplo.com/produto.jpg Caption: Novo produto disponível! 🔥 // Ou enviar arquivo binário: Photo: {{ $binary.data }}

🔘 Mensagem com Botões

// Node: Telegram // Operation: Send Message Text: Escolha uma opção: Reply Markup: { "inline_keyboard": [ [ {"text": "✅ Confirmar", "callback_data": "confirm"}, {"text": "❌ Cancelar", "callback_data": "cancel"} ], [ {"text": "📞 Falar com Atendente", "callback_data": "human"} ] ] }

👆 Processar Clique em Botão

// Trigger: Telegram Trigger // Updates: callback_query // Dados recebidos: { "callback_query": { "id": "123456789", "from": { "id": 123456789 }, "data": "confirm" // callback_data do botão } } // Responder ao callback: // Node: Telegram // Operation: Answer Callback Query Callback Query ID: {{ $json.callback_query.id }} Text: Opção registrada! ✅

📎 Enviar Documento

// Node: Telegram // Operation: Send Document Chat ID: 123456789 Document: {{ $binary.data }} Filename: relatorio.pdf Caption: Segue o relatório solicitado

🚨 Bot de Alertas

// Workflow: Monitoramento // Trigger: Schedule (a cada 5 min) // → HTTP Request (verificar API) // → IF (status != ok) // → Telegram Text: | 🚨 *ALERTA DE SISTEMA* Serviço: {{ $json.service }} Status: {{ $json.status }} Erro: {{ $json.error }} Verificar imediatamente! Chat ID: -1001234567890 // Grupo de alertas
⚙️

Comandos Úteis do BotFather

// Gerenciamento do Bot: /mybots // Lista seus bots /setname // Alterar nome do bot /setdescription // Descrição (aparece no perfil) /setabouttext // Texto "Sobre" (no início da conversa) /setuserpic // Foto do bot // Comandos do Bot: /setcommands // Definir comandos disponíveis // Ex: start - Iniciar bot // help - Ajuda // status - Ver status // Configurações: /setjoingroups // Permitir adicionar em grupos /setprivacy // Modo privacidade (receber todas msgs ou só comandos) // Pagamentos (Telegram Payments): /mybots → Bot Settings → Payments

💡 Dica: Configurar Comandos

Ao usar /setcommands, defina os comandos que seu bot responde. Isso cria um menu de comandos para os usuários!

🔧

Troubleshooting

❌ "Bad Request: chat not found"

Causa: Chat ID inválido ou usuário nunca iniciou conversa com o bot.

Solução: O usuário precisa enviar /start para o bot primeiro. Verifique também se o ID está correto.

❌ "Forbidden: bot was blocked by the user"

Causa: O usuário bloqueou o bot.

Solução: Nada a fazer. O usuário precisa desbloquear manualmente.

❌ Bot não recebe mensagens de grupo

Causa: Modo privacidade ativado.

Solução: Use /setprivacy no BotFather e escolha "Disable" para receber todas as mensagens do grupo.

❌ Webhook não está recebendo

Causa: URL não está acessível ou HTTPS inválido.

Solução: O Telegram exige HTTPS válido (não auto-assinado). Use getWebhookInfo para ver erros específicos.

Telegram Bot Configurado!

A integração mais fácil está pronta. Comece a automatizar!