592 подписчика

Telegram бот на Grammy JS с функцией ПРЕДЛОЖКИ | Telegram bot обратной связи!

Для нужд своего своего канала я создал Telegram бота на grammY JS для получения обратной связи, в этой статье я поэтапно расскажу про создание такого Telegram бота и его функциональность!

Telegram bot обратной связи
Telegram bot обратной связи

1) Первым делом необходимо получить в Telegram токен для работы нашего бота, для этого необходимо:

- Откройте Telegram и найдите @BotFather в поиске.

- Отправьте ему команду /newbot.

- Бот @BotFather предложит выбрать имя и уникальное имя пользователя для вашего бота.

- Получите ключ — токен для управления ботом.

- Теперь ваш бот готов к разработке!

2) Для разработки нам понадобятся node.js и npm. Проверить наличие пакетов в системе можно с помощью следующих команд:

node -v

npm -v

3) Далее откроем в редакторе кода папку, в которой будем создавать проект. Затем в терминале инициализируем его с помощью npm.

npm init -y

4) Теперь необходимо подключить три библиотеки. Сначала основную - grammY JS, а затем две вспомогательные. Библиотека dotenv используется для хранения токена в качестве переменной окружения (env variable), а nodemon - для автоматического перезапуска кода бота после внесения изменений. Все они могут быть установлены одной командой.

npm i grammy dotenv nodemon

5) Код проекта:

Создадим переменные окружения в отдельном файле .env:

BOT_API_KEY=test

ADMIN_ID=test

Теперь открываем index.js (в нем будет наш основной код) и вставляем строки:

Telegram бот на Grammy JS
Telegram бот на Grammy JS

Настройка команд и кнопок:

Telegram бот на Grammy JS
Telegram бот на Grammy JS

Обработка пользовательских действий:

Telegram бот на Grammy JS
Telegram бот на Grammy JS

Обработка предложений от пользователей:

Telegram бот на Grammy JS
Telegram бот на Grammy JS

Вынесение вспомогательных функций в отдельный файл:

Создадим файл buttons.js:

Telegram бот на Grammy JS
Telegram бот на Grammy JS

Для вспомогательных функций создадим файл helpers.js:

Telegram бот на Grammy JS
Telegram бот на Grammy JS

Опробовать бота в действии можно по ссылке!

Код проекта целиком доступен у меня на GitHub.

Инструкция как выполнить деплой Telegram бота на сервер, ссылка.

Ролик на YouTube!

Мой Telegram канал.