Não apenas "olá, mundo": seu primeiro chatbot vivo em JavaScript
\n\nOs chatbots deixaram de ser um brinquedo para geeks. Hoje são uma ferramenta de trabalho: desde suporte técnico até venda de pizza. E se você pensa que para criar um bot precisa saber C++ ou Python, — tenho boas notícias. Criar um chatbot em JavaScript é real, rápido e incrivelmente divertido.
\n\nNeste artigo, não vamos abordar teoria seca. Vamos pegar e montar um telegram bot javascript completo, que responderá perguntas, lembrará dos usuários e até contará piadas. E depois mostrarei como transformá-lo facilmente em um chatbot para site.
\n\nPronto? Então abra seu editor favorito, instale o Node.js, e vamos nessa!
\n\nO que vamos precisar?
\n\n- \n
- Node.js (versão 16+) — ambiente de execução. Pode baixar do site oficial. \n
- Qualquer editor de código — VS Code, WebStorm ou até Bloco de Notas (mas não recomendo). \n
- Paciência e uma xícara de café — o resto o JavaScript fará. \n
Como plataforma de testes, usaremos o Telegram — ele tem uma API simples e muita documentação. Depois, você poderá adaptar o código para Discord, Slack ou seu próprio site.
\n\nPasso 1. Registrar o bot e obter o token
\n\nAntes de escrever código, precisamos "criar" o bot. Isso é feito através do bot principal do Telegram — @BotFather.
\n\n- \n
- Abra o Telegram e procure por BotFather. \n
- Envie o comando
/newbot. \n - Escolha um nome (por exemplo, MyFirstJBot) e um username (obrigatoriamente terminado em
bot, como my_first_js_bot). \n - Receba o token — uma string longa como
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Esta é a senha do seu bot. \n
Guarde o token em um local seguro. Se perder, terá que criar um novo bot.
\n\nPasso 2. Configuração do projeto e instalação de dependências
\n\nVamos criar uma pasta para o projeto e inicializar o npm:
\n\nmkdir my-telegram-bot\ncd my-telegram-bot\nnpm init -y\n\nAgora instale a biblioteca node-telegram-bot-api — este é o pacote mais popular para criar um chatbot em node.js:
\n\nnpm install node-telegram-bot-api\n\nPronto. Agora crie o arquivo bot.js e abra-o no editor.
Passo 3. Escrevendo o "esqueleto" do bot
\n\nVamos começar com o mais simples — o bot responderá ao comando /start e repetirá qualquer mensagem do usuário.
const TelegramBot = require('node-telegram-bot-api');\n\nconst token = 'SEU_TOKEN_AQUI';\nconst bot = new TelegramBot(token, { polling: true });\n\nbot.onText(/\\/start/, (msg) => {\n const chatId = msg.chat.id;\n bot.sendMessage(chatId, `Olá, ${msg.from.first_name}! Sou seu primeiro chatbot em JavaScript. Como posso ajudar?`);\n});\n\nbot.on('message', (msg) => {\n const chatId = msg.chat.id;\n const text = msg.text;\n\n // Ignorar comandos para não duplicar respostas\n if (text.startsWith('/')) return;\n\n bot.sendMessage(chatId, `Você escreveu: "${text}". E eu sou um eco-bot!`);\n});\n\n\nExecute:
\n\nnode bot.js\n\nEnvie uma mensagem para o bot no Telegram — ele responderá. Parabéns! Você acabou de criar um chatbot em JavaScript. Sim, ele ainda é burro, mas isso é só o começo.
\n\nPasso 4. Adicionando lógica: um bot FAQ simples
\n\nEco-bots cansam rápido. Vamos fazer com que o bot responda a perguntas específicas. Isso já se parece com um chatbot para site real.
\n\nCriaremos uma base de conhecimento simples em forma de objeto:
\n\nconst faq = {\n 'como vai': 'Ótimo! E você?',\n 'o que você sabe fazer': 'Posso responder perguntas simples e contar piadas.',\n 'conte uma piada': 'Vai