Bot do Telegram em TypeScript: escrevendo um assistente inteligente do zero

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução: por que TypeScript e não Python?

\n\n

Olá, desenvolvedor! Se você está lendo isso no PythonLib, provavelmente está surpreso: "Por que um artigo sobre TypeScript em um site sobre Python?". A resposta é simples: o mundo de TI não tolera fronteiras, e um bom desenvolvedor sabe sair da caixa de uma única linguagem. TypeScript não é apenas um "superset do JavaScript", é uma ferramenta poderosa para criar aplicações robustas, escaláveis e previsíveis. E os bots do Telegram são o ambiente perfeito para experimentá-lo.

\n\n

Imagine: você escreve código, e a IDE destaca erros antecipadamente, os tipos de dados evitam falhas em tempo de execução, e o autocompletar funciona como um relógio suíço. Isso não é mágica — é TypeScript. Neste guia, criaremos um bot do Telegram completo em TypeScript do zero: desde o registro no BotFather até o deploy. Você aprenderá como configurar o projeto, processar comandos, enviar mensagens e trabalhar com APIs externas.

\n\n

Pronto? Então vamos nessa!

\n\n

Por que escolher TypeScript para o bot do Telegram

\n\n

Antes de mergulhar no código, vamos entender por que vale a pena escrever um bot em TypeScript, em vez de Python, que, aparentemente, é a linguagem "nativa" para essas tarefas.

\n\n
    \n
  • Tipagem é sua amiga. Quando o projeto tem 10+ comandos e 20 handlers, o TypeScript evita erros bobos como passar uma string em vez de um número.
  • \n
  • Sintaxe moderna. Async/await, desestruturação, módulos — tudo isso torna o código mais limpo e legível.
  • \n
  • Ecossistema Node.js. Uma enorme quantidade de bibliotecas, incluindo Telegraf (o melhor framework para bots).
  • \n
  • Desempenho. Node.js é uma plataforma orientada a eventos, ideal para chatbots com alta carga.
  • \n
\n\n

A propósito, sobre o Telegraf: é um framework TypeScript-first que torna o trabalho com a Telegram Bot API extremamente simples. Usaremos exatamente ele.

\n\n

Preparação: o que instalar

\n\n

Para começar, você precisará de:

\n\n
# Certifique-se de ter Node.js (versão 18+) e npm instalados\nnode -v\nnpm -v\n\n# Crie a pasta do projeto\nmkdir telegram-bot-ts\ncd telegram-bot-ts\n\n# Inicialize o projeto\nnpm init -y
\n\n

Agora instale as dependências:

\n\n
npm install telegraf dotenv\nnpm install -D typescript @types/node ts-node nodemon
\n\n

Vamos entender o que instalamos:

\n
    \n
  • telegraf — o framework principal para o bot.
  • \n
  • dotenv — para armazenar o token em um arquivo .env (segurança em primeiro lugar).
  • \n
  • typescript, @types/node, ts-node — para compilar e executar TS.
  • \n
  • nodemon — para reinicialização automática em caso de alterações.
  • \n
\n\n

Crie o arquivo tsconfig.json:

\n\n
{\n  "compilerOptions": {\n    "target": "ES2020",\n    "module": "commonjs",\n    "strict": true,\n    "esModuleInterop": true,\n    "skipLibCheck": true,\n    "forceConsistentCasingInFileNames": true,\n    "outDir": "./dist"\n  },\n  "include": ["src/**/*"],\n  "exclude": ["node_modules"]\n}
\n\n

E o arquivo .env (não esqueça de adicioná-lo ao .gitignore!):

\n\n
BOT_TOKEN=seu_token_do_BotFather
\n\n

Registro do bot: conhecendo o BotFather

\n\n

Esta é a etapa mais simples. Abra o Telegram, encontre @BotFather e envie o comando /newbot. Siga as instruções:

\n
    \n
  1. Digite o nome do bot (por exemplo, "Meu Assistente Inteligente").
  2. \n
  3. Digite o username (deve terminar com bot, por exemplo meu_assistente_inteligente_bot).
  4. \n
  5. Copie o token recebido e cole no .env.
  6. \n
\n\n

Pronto! Agora você tem a chave para a API do Telegram.

\n\n

Estrutura do projeto e primeira execução

\n\n

Crie a pasta src e dentro dela o arquivo index.ts:

\n\n
// src/index.ts\nimport { Telegraf } from 'telegraf';\nimport { mess                

Blogs

Book Recommendations