Чат боты — это новый инструмент взаимодействия разработчика с пользователем. Их все чаще внедряют для совершенно различных целей. Новостные ленты, обработка налоговых деклараций, сохранение файлов – боты становятся удобным интерфейсом взаимодействия c различными сервисами.
В прошлой статье мы рассмотрели, как написать простейшего чат-бота на Python и запустить его на своем компьютере. Сегодня мы рассмотрим, как того, написанного нами бота, разместить на внешнем сервере в сети Интернет.
В качестве места размещения мы будем использовать бесплатный сервис Heroku.
Установка и настройка Git
Для дальнейшей работы нам понадобится установить Git, зарегистрироваться на GitHub и создать репозиторий с именем нашего приложения. В нашем случае это MyFirstTestBot.
Скачать версии Git, соответствующие вашей операционной системе, можно по следующим ссылкам для macOS и для Windows. На Linux Git можно установить, выполнив такую команду:
Далее, желательно использовать виртуальную среду. Если она не установлена, при установке Python вы можете ее установить, выполнив команду:
Создадим новую папку для нашего приложения и связи его с GitHub. В нашем случае это папка PythonApplication1 в корне диска C.
Выполним клонирование репозитория. Для этого находясь в нашей папке в консоли выполним команду, введя ссылку на ваш репозиторий:
После выполнения этой команды в нашей папке с именем PythonApplication1 мы получили еще одну папку – MyFirstTestBot.
В консоли перейдем в корень диска C и выполним команду:
Если команда не выполняется, и вы на экране консоли видите «"virtualenv" не является внутренней или внешней командой…» - вам следует настроить системную переменную PATH и добавить в нее адреса расположения вашей папки с Python и подпапки со скриптами (в моем случае C:\Users\B\AppData\Local\Programs\Python\Python37-32\Scripts).
Будем в дальнейшем пользоваться консолью Git, которую мы установили ранее:
После выполнения этого скрипта в нашей папке будет такое содержимое:
Поместим скрипт в папку, полученную в результате выполнения команды git clone (папка MyFirstTestBot). Имя файла с нашим скриптом - mftb.py
Теперь запустим наше виртуальное окружение. Перейдем в консоли в папку C:\PythonApplication1 и выполним команду:
Если все сработало нормально – в консоли приглашение командной строки будет начинаться с имени нашей папки (PythonApplication1):
Перейдём в нашу папку репозитория и выполним команду:
Создадим список зависимостей для Heroku, введя команду:
Обратите внимание – в файле requirements.txt указываются требования к серверу Huroku. Там должно быть приблизительно такое содержимое:
Если вы не продолжаете проект из предыдущей статьи, а создали новый – не забудьте указать все зависимости.
В папке MyFirstTestBot создадим файл с именем Procfile без расширения. В теле этого файла пропишем:
Видео курсы по схожей тематике:
В папке MyFirstTestBot создадим также файл с именем __init__.py без содержимого.
Содержимое нашей папки MyFirstTestBot теперь такое:
Отправим в GitHub репозиторий наш набор изменений. Для этого выполним следующую серию команд, с указанием ссылки на ваш репозиторий:
git add .
git commit -m “first commit – ваше сообщение комментарий к коммиту”
git push -u https://github.com/your_github_account/your_repository_name
Код нашего бота теперь загружен на GitHub и нам остается загрузить его на Heroku, где будет хоститься наш бот.
Рекомендуется ознакомиться с основами работы с Heroku по ссылке. По той же ссылке следует скачать установщик интерфейса командной строки (CLI) от Heroku и запустить его.
После установки CLI зарегистрируемся на Heroku через веб браузер.
Далее подключимся к Heroku через консоль используя команду:
Нас попросят подключиться через браузер к сайту Heroku и залогиниться там. Нужно будет ввести ваши данные.
Выполним команду для создания приложения в Heroku:
Дальнейшие наши команды отправят наш проект на сервер Heroku и укажут необходимую настройку:
heroku ps:scale web=1
Последняя команда запустит наше приложение на сервере:
Теперь наше предложение установлено и запущено на сервере. Мы можем проверить это, пообщавшись с нашим ботом в Telegram:
Как мы видим – все работает. Если по каким-то причинам бот не запустился, нужно ввести в консоли команду:
И смотреть на коды ошибок на сайте.
Резюме.
В прошлой статье мы с вами посмотрели, как можно создать простого Telegram бота. Теперь мы опубликовали его на удаленном сервере. Наш чатбот работает, и мы можем к нему обращаться, используя привычный мессенджер. Конечно, этот вариант бота далек от идеала, но для учебных целей, как первый проект бота, он подойдет.
Бесплатные вебинары по схожей тематике:
Попробуйте создать своего бота с другим набором предопределенных ответов. В дальнейшем вы сможете создавать более продвинутых чатботов, работающих с нейросетями и другими элементам искусственного интеллекта.
Чаще всего востребованные библиотеки для работы ботов сейчас пишут на Python. Именно поэтому мы рассмотрели этот простой пример. Для дальнейшего развития вас как квалифицированного Python разработчика мы рекомендуем ознакомиться с курсом подготовки Python-разработчика на портале ITVDN.
Статьи по схожей тематике