Tuesday, September 17, 2019

"Py First Bot" бот за 10 минут

Вступление


С каждым новым ботом приходится повторять одни и те же действия для создания стартового шаблона. Есть необходимость создать базовый шаблон для всех ботов и всегда его использовать для ускорения разработки.

Шаблон, собственно, уже создан. Вот он:
https://github.com/VadimCpp/pyfirstbotbot

Ниже будет инструкция как запустить шаблон на сервере Heroku. Если вы программист и начинаете изучать программирование телеграм ботов на языке Python, этот пост именно для вас.

1. Скачать исходники


Открыть окно командной строки, перейти в рабочий каталог и выполнить команду:

git clone https://github.com/VadimCpp/pyfirstbotbot.git

После этого исходники с сервера будут скачаны на компьютер. Примерно лог будет выглядеть так:



После этого необходимо убедиться в том, что файлы скачаны. Перейти в папку проекта и вывести список файлов.

Выполнить команды для OS X:

cd pyfirstbotbot/
ls -l

Результат примерно такой:




2. Создать телеграм бот


Запустить бот для создания ботов. Перейти по ссылке:
https://t.me/BotFather
Или открыть бот непосредственно в приложении: @BotFather

Необходимо создать бота и получить его токен. Пример:



3. Создать приложение Heroku


Теперь необходимо создать приложение Heroku.
https://dashboard.heroku.com/apps





4. Настроить приложение Heroku


Теперь необходимо настроить приложение. Первым делом нужно на вкладке “Deploy” выполнить указания раздела “Deploy using GitHub”:



Подключить Ваш репозиторий.

5. Запустить бота на Heroku

Нажать кнопку "Deploy":


Убедиться, что Deploy прошел успешно. Это можно посмотреть в логах:



6. Установить токен

Установить heroku CLI (https://devcenter.heroku.com/articles/heroku-cli#download-and-install)

Открыть окно командной строки (как в пункте 1) и выпонить команду:

heroku login
Выполнить вход в Heroku аккаунт
Установить токен:

heroku config:set BOT_TOKEN=YOUR_BOT_TOKEN_WITHOUT_BRACKETS --app OUR-TEST-HEROKU-NAME
Выполнить команду:

heroku ps:scale worker=1 --app OUR-TEST-HEROKU-NAME

Бот размещен!


7. Убедиться, что все работает

Откройте телеграм и напишите что-нибудь Вашему боту.
(пример: @pyfirstbotbot)