В данной статье мы создадим простого бота, который приветствует человека, который с ним взаимодействует.
Для начала нам необходимо зарегистрировать бота в Telegram. Для этого необходимо обратиться к специальному родительскому боту.
В поисковую строку клиента Telegram введите имя — «BotFather», а затем кнопку «Start».
После этого мы увидим список команд.
Введём команду /newbot, после чего впишем имя, а затем и логин нашего нового бота.
После этого он будет создан и мы получим ссылку на него, а также его уникальный токен.
Теперь нам необходимо создать проект.
Создайте новую папку, войдите в консоль и пропишите npm init
. После этого в проекте появится файл package.json. Далее добавим в него фреймворк для работы с ботами Telegram. Для этого в консоли введём — npm install --save node-telegram-bot-api
Теперь создадим файл index.js, в котором реализуем логику работы.
index.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// подключаем фреймворк const TelegramBot = require('node-telegram-bot-api'); // здесь указывается токен, который получен от родительского бота выше const token = 'token'; // создаём бота const bot = new TelegramBot(token, { polling: true }); // проверяем чат и если введена команда "/start", выводим сообщение bot.onText(/\/start/, (msg, match) => { // Составляем сообщение, которое будет содержать имя и фамилию того, // кто взаимодействует с ботом var message = 'Привет ' + msg.chat.last_name + ' ' + msg.chat.first_name; // отсылаем сообщение, первым параметром передавая id чата, // а вторым уже само сообщение bot.sendMessage(msg.chat.id, message); }); |
Для удобства также добавим в package.json скрипт для запуска. Для этого можно изменить строку "test": "echo \"Error: no test specified\" && exit 1"
на "start": "node index.js"
На всякий случай приведу получившийся у меня файл package.json:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "name": "telegram-bot", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "node index.js" }, "author": "", "license": "ISC", "dependencies": { "node-telegram-bot-api": "^0.30.0" } } |
Теперь в консоли введите npm start
. Всё готово.
Полный репозиторий можно найти на Github.