В этой статье мы рассмотрим процесс создания чат-бота для мессенджера с использованием Node.js и популярных библиотек.
В качестве примера возьмем создание простого чат-бота для Telegram.
Шаг 1. Подготовка окружения
- Установите Node.js на ваш компьютер, если это еще не сделано.
- Создайте новую папку для вашего проекта и перейдите в нее.
- Инициализируйте проект с помощью команды npm init.
Шаг 2. Установка необходимых библиотек
Установите библиотеку node-telegram-bot-api для работы с Telegram API:
npm install node-telegram-bot-api
Шаг 3. Создание и настройка бота в Telegram
- Откройте Telegram и найдите аккаунт BotFather.
- Напишите команду /newbot и следуйте инструкциям для создания нового бота.
- Сохраните полученный токен, он понадобится для подключения к API Telegram.
Шаг 4. Создание основного файла проекта
Создайте файл index.js в корневой директории проекта и откройте его в текстовом редакторе.
ПИШЕМ TELEGRAM БОТА НА JAVASCRIPT!
Шаг 5. Импорт библиотеки и создание экземпляра бота
В файле index.js импортируйте библиотеку node-telegram-bot-api и создайте экземпляр бота с помощью полученного токена:
const TelegramBot = require(‘node-telegram-bot-api’); const token = ‘YOUR_TELEGRAM_BOT_TOKEN’; const bot = new TelegramBot(token, polling: true>);
Шаг 6. Обработка команд и сообщений
Добавьте обработчики для команд и сообщений, которые бот будет принимать:
bot.onText(//start/, (msg) => < const chatId = msg.chat.id; bot.sendMessage(chatId, ‘Привет! Я твой чат-бот.’); >); bot.on(‘message’, (msg) => < const chatId = msg.chat.id; bot.
sendMessage(chatId, ‘Я получил ваше сообщение: ‘ + msg.text); >);
Шаг 7. Запуск бота
Запустите бота, выполнив следующую команду в терминале:
node index.js
Теперь ваш чат-бот готов к работе. Откройте Telegram, найдите созданного бота и отправьте ему сообщение.
Источник: zalki-lab.ru
Создаем Телеграм-бота на JavaScript
Сегодня будем делать бота — это отличное (и быстрое) занятие, которое развивает уставший мозг и даёт возможность отправить друзьям ссылочку со словами «Смотри, это моё».
Для работы понадобятся
- Редактор кода, чтобы писать код. Если не знаете, какой выбрать — мы уже рассказывали . Если не умеете писать код, то вот инструкция , как его написать и запустить.
- Node.js любой версии, выше 0.12. Нужно, чтобы библиотека для ботов заработала. Как установить Node.js .
- Консоль. Или встроенный в систему вариант, или какой-нибудь другой .
- VPN. Возможно но не факт, потому что Телеграм работает не везде.
- А вот вам полный файл с кодом: index.js . Теперь нужно разобраться, что к чему. Поехали!
Шаг 1. Регистрируем бота
Придумываем название и имя боту. Название — то, как он будет подписан в списке контактов. Имя — строка, по которой его можно будет найти. Обратите внимание, что имя должно оканчиваться на bot. В ответ мы получим токен — длинную последовательность символов, которая пригодится нам в будущем.
Пишем Telegram бот на JavaScript за 10 минут / Узнаем прогноз погоды по местоположению
Мы назвали бота echoKeksBot, но вам придётся придумать другое название, потому что это уже занято. Извините.
Шаг 2. Создаём проект
Создаем папку в любом месте и открываем её в консоли. Там пишем npm init -y — эта команда создаст файл package.json, который выглядит примерно так:
Теперь установим node-telegram-bot-api — это библиотека для создания телеграм-ботов на Node.js. Введём команду:
npm install —save —save-exact node-telegram-bot-api
Создадим пустой файл index.js и напишем там самого простого бота, который будет отвечать на любое сообщение:
Шаг 3. Запускаем бота
Тут всё просто, в консоли пишем node index.js, заходим к нашему боту в телеграм и начинаем с ним общаться. Не закрывайте консоль — бот работает только на вашем компьютере, и без консоли он не станет отвечать.
Как видим, бот успешно отвечает. Но бот-повторяха — не интересно, усложним задачу. Пусть бот присылает нам картинку.
Шаг 4. Отсылаем картинку
Добавим картинку с Кексом в папку с проектом. Для отправки изображения используем метод .sendPhoto() — передадим в него id чата и путь до картинки. Получится такой код:
const chatId = msg.chat.id;
Запускаем бота, проверяем, работает:
Источник: dzen.ru
Телеграм-бот на NodeJS. 1. Создать бота.
Создание логики работы бота на NodeJS
Перед этим нам будет необходимо сделать кое-какие приготовления, а именно: Создать проект и установить пакет telegraf:
npm init -y npm i telegraf —save
Enter fullscreen mode
Exit fullscreen mode
Теперь осталось дело за малым: написать его действия.
Создайте JS-файл bot.js такого содержания:
const Telegraf > = require(«telegraf»); // Создать бота с полученным ключом const bot = new Telegraf(«1496911419:AAGt2IUR7zC2-5 1VTLj4pLzt3i7l664-P0x0»); // Обработчик начала диалога с ботом bot.start((ctx) => ctx.reply( `Приветствую, $ ctx.from.first_name ? ctx.from.first_name : «хороший человек» >! Набери /help и увидишь, что я могу.` ) ); // Обработчик команды /help bot.help((ctx) => ctx.reply(«Справка в процессе»)); // Обработчик команды /whoami bot.command(«whoami», (ctx) => const id, username, first_name, last_name > = ctx.from; return ctx.replyWithMarkdown(`Кто ты в телеграмме: *id* : $id> *username* : $username> *Имя* : $first_name> *Фамилия* : $last_name> *chatId* : $ctx.chat.id>`); >); // Обработчик простого текста bot.on(«text», (ctx) => return ctx.reply(ctx.message.text); >); // Запуск бота bot.launch();
Enter fullscreen mode
Exit fullscreen mode
Что у нас тут написано:
const bot = new Telegraf(«1496911419:AAGt2IUR7zC2-1VTLj4pLzt3i7l664-P0x0»);
Enter fullscreen mode
Exit fullscreen mode
Здесь тот самый ключ, который нам поведал BotFather . А т.к. этот ключ не только полезен, но и весьма важен, то его я бы скрыл от тех, кто будет смотреть наш код. Например- на гитхабе. Поэтому давайте напишем эту строку по-другому:
const bot = new Telegraf(process.env.TELEGRAM_TOKEN_EDU);
Enter fullscreen mode
Exit fullscreen mode
А сам код запишем в файле .env :
TELEGRAM_TOKEN_EDU=»1496911419:AAGt2IUR7zC2-1VTLj4pLzt3i7l664-P0x0″
Enter fullscreen mode
Exit fullscreen mode
Для того, чтобы сработал этот код нужно установить пакет dotenv и в начале файла bot.js написать: require(«dotenv»).config(); Дальше по коду можно будет из комментариев понять, что делают команды. Запустить наш скрипт можно командой node bot.js и в телеграмм-чате с ботом у Вас должно быть примерно следующее:
Сейчас самое время поэкспериментировать — Добавить свои команды; изменить bot.on(«text», . например чтобы бот не просто отображал вводимый текст, а как-то его менял- придумывал рифму или менял порядок букв.
В следующей части научим бот показывать картинку.
Источник: dev.to