Чат-боты для Telegram — простой, изящный и легковесный способ вывести общение с клиентами на новый уровень. Виртуальный собеседник может заниматься рассылкой по фильтрам, предлагать клиенту интересные для него товары и услуги, сообщать последние новости или забавно реагировать на определенные реплики человека — их функционал ограничивается лишь фантазией разработчика. Но чтобы чат-бот работал корректно и мог реализовать свой потенциал, после разработки нужно подобрать подходящий хостинг для него. Об этом я и расскажу в статье, а также о том, как настроить сервер и разместить чат-бота для Telegram.
Выбираем хостинг для телеграм-бота
Для начала быстро разберемся с юридической составляющей. В России власти заблокировали лишь серверы и сам сайт Телеграма (UPD: уже разблокировали, поражение в этой войне было неминуемо). Использование мессенджера фактически не запрещено. Но не любой российский сервер будет исправно работать с ботами для этого мессенджера. Так что перед арендой лучше уточнить у техподдержки, подойдет ли их хостинг для телеграм-бота.
У хостинга для чат-бота должна быть поддержка нескольких языков программирования. Например, хостинг для телеграм-бота на Python должен поддерживать этот язык. Аналогично, написанный на NodeJS бот должен быть развернут на сервере, в который можно подгрузить язык NodeJS.
Если хостинг удовлетворяет этим требованиям, он подойдет для работы простого телеграм-бота, который выдает заготовленный ответ на слова-триггеры. Если же в работе ассистент использует машинное обучение, вам стоит обратить внимание на наличие графического ускорения — без него построение нейросети займет очень много времени. Впрочем, если ваш бот не будет обучаться во время общения с реальными собеседниками, то можно арендовать хостинг с графическим ускорением только на время разработки, а потом развернуть обученную нейросеть на обычном хостинге для Telegram-бота, без графики.
Для развертывания бота для Telegram лучше всего подходит VDS/VPS. Он не требует наличия домена в обязательном порядке, и к нему можно будет обратиться по выделенному IP-адресу, что удобно при развертывании бота. К тому же такие серверы лучше поддерживают увеличение масштабов проекта, так что при увеличении потока посетителей вам не придется переходить на другой сервер — достаточно будет просто сменить тариф или его настройки.
Выбираем тариф
О тарифах хостингов для бота Telegram стоит поговорить отдельно. Есть целый класс бесплатных хостингов — сюда входит, например, Heroku. Они могут оказаться полезными при тестировании бота — расположите свой чат-бот на Heroku и проверьте работоспособность всех функций, прежде чем арендовать хостинг и выкладывать свое творение. Но учтите, что работоспособность на этом хостинге будет непостоянной — обычно чат-боты работают по 30 секунд, а затем отключаются на неопределенное время. Так что для полноценного развертывания лучше выбрать другой хостинг.
Выбор тарифа обычно обуславливается потоком клиентов, но не сложностью бота. Для развертывания как простенького, так и нейросетевого бота вам не потребуется много дискового пространства. Нет нужды и в больших вычислительных мощностях — большинству ботов более чем достаточно 512 МБ оперативной памяти. Поэтому можно выбирать самые недорогие тарифы.
Ключевое требование к хостингу — стабильность подключения, поэтому от shared-хостингов для телеграм-бота лучше сразу отказаться. А вот VPS/VDS сможет обеспечить надежное подключение. Предпочтительная ОС для сервера — Ubuntu, поскольку большинство модулей для языков программирования пишутся именно под нее. Тарифы на такие виртуальные серверы начинаются от 169 рублей в месяц.
Настраиваем сервер для Telegram-бота
Рассмотрим настройку сервера на примере размещения бота, написанного на Python, который будет автоматически присылать ответы на различные команды.
После аренды VPS нам нужно подключиться к нему по протоколу SSH через специальный клиент (например, Termius), используя данные из личного кабинета на хостинге для телеграм-бота. Вам потребуются Hostname, Login, Password, Port. Вводим их в поля нового подключения. Вот как это будет выглядеть в Termius:
Сохраняем подключение, возвращаемся на главный экран программы (здесь появляется наше новое подключение) и нажимаем на название сервера, которое мы вводили до этого:
Готово, мы попали в консоль сервера:
Отсюда мы сможем управлять сервером, подгружать нужные нам модули и библиотеки. Этим и займемся. Чтобы бот работал, серверу потребуется модуль языка Python. Мы рассматриваем бота, написанного на третьей версии языка, поэтому нам нужно установить python3. Для этого введем в консоль сервера следующие команды:
sudo apt —reinstall install python3 -y sudo apt —reinstall install python3-pip -y
Не забудем и про библиотеки. На «Питоне» ботов для Telegram обычно пишут с помощью библиотеки TelegramBotAPI. Для ее установки введем команду:
pip3 install pyTelegramBotAPI
Теперь нам нужно установить удобный менеджер процессов PM2 и язык программирования NodeJS с менеджером пакетов npm для его работы:
sudo apt install nodejs sudo apt install npm npm install pm2 -g
Читайте также
Размещаем чат-бота
С настройкой сервера покончено, можно отключаться от SSH. Теперь нам потребуется подключение к серверу по протоколу SFTP. Чтобы настроить его, заходим во вкладку SFTP в Termius, нажимаем на «select host» и выбираем имя сервера. После этого создаем папку с любым названием на латинице.
Затем копируем в нее файлы бота. Termius поддерживает drag'n'drop, так что можно просто перетащить содержимое вашей папки с ботом.
Запускаем бота
Бот готов к запуску! Для этого в консоли сервера поочередно вводим команды:
cd имя_папки pm2 start main.py --interpreter=python3 (замените main на имя исполняемого файла бота)
Бот запущен и работает. Чтобы удостовериться в этом, мы можем ввести в консоли сервера команду менеджера процессов:
pm2 list
Команда выдаст в консоли список процессов, запущенных на сервере. Найдите строчку с названием бота. Если напротив нее в столбце «Status» значится «Online», бот успешно запущен.
Самый волнующий момент — проверить работу бота в самом мессенджере:
Все работает!
Комментарии