No solo "hola, mundo": tu primer chatbot vivo en JavaScript
\n\nLos chatbots han dejado de ser un juguete para geeks. Hoy son una herramienta de trabajo: desde soporte técnico hasta venta de pizzas. Y si piensas que para crear un bot necesitas saber C++ o Python, — me apresuro a alegrarte. Crear un chatbot en JavaScript es real, rápido e increíblemente divertido.
\n\nEn este artículo no veremos teoría seca. Tomaremos y armaremos un telegram bot javascript completo que responderá preguntas, recordará usuarios e incluso contará chistes. Y luego te mostraré cómo convertirlo fácilmente en un chatbot para sitio web.
\n\n¿Listo? ¡Entonces abre tu editor favorito, instala Node.js, y vamos allá!
\n\n¿Qué necesitamos?
\n\n- \n
- Node.js (versión 16+) — entorno de ejecución. Puedes descargarlo desde el sitio oficial. \n
- Cualquier editor de código — VS Code, WebStorm o incluso el Bloc de notas (pero no lo recomiendo). \n
- Paciencia y una taza de café — el resto lo hará JavaScript. \n
Como plataforma de pruebas usaremos Telegram — tiene una API simple y mucha documentación. Más adelante podrás adaptar el código para Discord, Slack o tu propio sitio web.
\n\nPaso 1. Registramos el bot y obtenemos el token
\n\nAntes de escribir código, necesitamos "crear" el bot. Esto se hace a través del bot principal de Telegram — @BotFather.
\n\n- \n
- Abre Telegram y busca BotFather. \n
- Escribe el comando
/newbot. \n - Inventa un nombre (por ejemplo, MyFirstJBot) y un nombre de usuario (debe terminar en
bot, por ejemplo my_first_js_bot). \n - Obtén el token — una cadena larga como
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Esta es la contraseña de tu bot. \n
Guarda el token en un lugar seguro. Si lo pierdes — tendrás que crear un bot nuevo.
\n\nPaso 2. Configuración del proyecto e instalación de dependencias
\n\nCreemos una carpeta para el proyecto e inicialicemos npm:
\n\nmkdir my-telegram-bot\ncd my-telegram-bot\nnpm init -y\n\nAhora instalemos la librería node-telegram-bot-api — es el paquete más popular para crear un chatbot en node.js:
\n\nnpm install node-telegram-bot-api\n\nListo. Ahora crea el archivo bot.js y ábrelo en tu editor.
Paso 3. Escribimos el "esqueleto" del bot
\n\nEmpecemos con lo más simple — el bot responderá al comando /start y repetirá cualquier mensaje del usuario.
const TelegramBot = require('node-telegram-bot-api');\n\nconst token = 'TU_TOKEN_AQUI';\nconst bot = new TelegramBot(token, { polling: true });\n\nbot.onText(/\\/start/, (msg) => {\n const chatId = msg.chat.id;\n bot.sendMessage(chatId, `¡Hola, ${msg.from.first_name}! Soy tu primer chatbot en JavaScript. ¿En qué puedo ayudarte?`);\n});\n\nbot.on('message', (msg) => {\n const chatId = msg.chat.id;\n const text = msg.text;\n\n // Ignoramos comandos para no duplicar respuestas\n if (text.startsWith('/')) return;\n\n bot.sendMessage(chatId, `Escribiste: "${text}". ¡Y yo soy un bot eco!`);\n});\n\n\nEjecutamos:
\n\nnode bot.js\n\nEscríbele al bot en Telegram — te responderá. ¡Felicidades! Acabas de crear un chatbot en JavaScript. Sí, por ahora es tonto, pero esto es solo el comienzo.
\n\nPaso 4. Agregamos lógica: un bot FAQ simple
\n\nLos bots eco se vuelven aburridos rápido. Hagamos que el bot responda a preguntas específicas. Esto ya se parece a un chatbot para sitio web real.
\n\nCreemos una base de conocimientos simple en forma de objeto:
\n\nconst faq = {\n 'cómo estás': '¡Excelente! ¿Y tú?',\n 'qué sabes hacer': 'Puedo responder preguntas simples y contar chistes.',\n 'cuenta un chiste': 'Va