Вступление
С каждым новым ботом приходится повторять одни и те же действия для создания стартового шаблона. Есть необходимость создать базовый шаблон для всех ботов и всегда его использовать для ускорения разработки.
Шаблон, собственно, уже создан. Вот он:
https://github.com/VadimCpp/myfirstbotbot
Ниже будет инструкция как запустить шаблон на сервере Heroku. Если вы программист и начинаете изучать программирование телеграм ботов, этот пост именно для вас.
Шаблон, собственно, уже создан. Вот он:
https://github.com/VadimCpp/myfirstbotbot
Ниже будет инструкция как запустить шаблон на сервере Heroku. Если вы программист и начинаете изучать программирование телеграм ботов, этот пост именно для вас.
Инструкция
0. Предусловия
- У вас есть аккаунт Github (если нет - зарегистрироваться);
- Вы умеете работать в командной строке (если нет - изучить навигацию по системе, выполнение команд, создание/копирование/удаление файлов);
- У вас установлен Telegram (если нет - установить);
- Уметь создавать боты в Telegram (если нет - изучить @BotFather);
Если пошаговая инструкция с изображениями промежуточных результатов. Но прежде, чем начать проверьте уровень своих навыков в следующем разделе.
1. Скачать исходники
git clone https://github.com/VadimCpp/myfirstbotbot.git
После этого исходники с сервера будут скачаны на компьютер. Примерно лог будет выглядеть так:
После этого необходимо убедиться в том что файлы скачаны. Перейти в папку проекта и вывести список файлов.
Выполнить команды для OS X:
cd fxswap_bot/
ls -l
Выполнить команды для Windows:
cd fxswap_bot/
dir
Результат примерно такой:
2. Создать телеграм бот
Запустить бот для создания ботов. Перейти по ссылке:
Или открыть бот непосредственно в приложении: @BotFather
Необходимо создать бота и получить его токен. Пример:
3. Создать приложение Heroku
Теперь необходимо создать приложение Heroku.
4. Настроить приложение Heroku
Теперь необходимо настроить приложение. Первым делом нужно на вкладке “Deploy” выполнить указания раздела “Deploy using Heroku Git”:
Необходимо связать исходники с локального компьютера с приложением Heroku. Выполнить команды:
heroku git:remote -a your_heroku_app_name
git push heroku master
Первая команда установит связь между исходниками и приложением, а вторая команда отправит локальные исходники на сервер приложения Heroku.
Результат команд должен выглядеть примерно так:
5. Прописать переменные
Далее на странице Settings необходимо прописать переменные:
Сначала пример, а ниже - какое значение прописывать для каждой переменной. Пример:
BOT_ACCESS_TOKEN - токен бота. Получить значение в Телеграмме у бота @BotFather.
Пример:
5.2. Ссылка для мессенджера телеграм.
HEROKU_URL - это ссылка на сайт. Ее можно узнать нажав на кнопочку “Open app”.
Вот она:
Пример:
https://myfirstbotbot.herokuapp.com/
5.3. Тип деплоя
NODE_ENV - всегда “production”
Это означает, что бот запускается в боевом режиме (а не в режиме разработки).
6. Запустить бот
Необходимо запустить бот и убедиться что он работает. Открыть вкладку “View logs” и затем нажать кнопку “Restart all dynos”
На скрине видно запись:
[MyFirstBotApp]: Create Application...
Это означает что бот запущен. Еще совсем чуточку…
...
Откройте бота и убедитесь что он работает:
Поздравляем!
Вы только что создали свой первый телеграм бот на node.js
Итого
Исходники бота:
https://github.com/VadimCpp/myfirstbotbot
Бот:
https://t.me/myfirstbotbot
Update 2019-08-11:
Бот построен на основе библиотеки https://github.com/yagop/node-telegram-bot-api.
https://github.com/VadimCpp/myfirstbotbot
Бот:
https://t.me/myfirstbotbot
Update 2019-08-11:
Бот построен на основе библиотеки https://github.com/yagop/node-telegram-bot-api.
Есть еще другая библиотека: https://github.com/telegraf/telegraf , но до нее руки пока так и не дошли. 🙂