Размещаем бота для Telegram: от выбора хостинга до запуска

Чат-боты для Telegram — простой, изящный и легковесный способ вывести общение с клиентами на новый уровень. Виртуальный собеседник может заниматься рассылкой по фильтрам, предлагать клиенту интересные для него товары и услуги, сообщать последние новости или забавно реагировать на определенные реплики человека — их функционал ограничивается лишь фантазией разработчика. Но чтобы чат-бот работал корректно и мог реализовать свой потенциал, после разработки нужно подобрать подходящий хостинг для него. Об этом я и расскажу в статье, а также о том, как настроить сервер и разместить чат-бота для Telegram.

Выбираем хостинг для телеграм-бота

Для начала быстро разберемся с юридической составляющей. В России власти заблокировали лишь серверы и сам сайт Телеграма (UPD: уже разблокировали, поражение в этой войне было неминуемо). Использование мессенджера фактически не запрещено. Но не любой российский сервер будет исправно работать с ботами для этого мессенджера. Так что перед арендой лучше уточнить у техподдержки, подойдет ли их хостинг для телеграм-бота.

У хостинга для чат-бота должна быть поддержка нескольких языков программирования. Например, хостинг для телеграм-бота на Python должен поддерживать этот язык. Аналогично, написанный на NodeJS бот должен быть развернут на сервере, в который можно подгрузить язык NodeJS.

Если хостинг удовлетворяет этим требованиям, он подойдет для работы простого телеграм-бота, который выдает заготовленный ответ на слова-триггеры. Если же в работе ассистент использует машинное обучение, вам стоит обратить внимание на наличие графического ускорения — без него построение нейросети займет очень много времени. Впрочем, если ваш бот не будет обучаться во время общения с реальными собеседниками, то можно арендовать хостинг с графическим ускорением только на время разработки, а потом развернуть обученную нейросеть на обычном хостинге для Telegram-бота, без графики.

Обратите внимание на наличие круглосуточной технической поддержки. Если у хостинга таковой нет, лучше отказаться от него в пользу более клиентоориентированной компании, пусть даже у нее будут более высокие расценки. Оптимальным будет хостинг с бесплатной помощью в администрировании сервера.

Для развертывания бота для Telegram лучше всего подходит VDS/VPS. Он не требует наличия домена в обязательном порядке, и к нему можно будет обратиться по выделенному IP-адресу, что удобно при развертывании бота. К тому же такие серверы лучше поддерживают увеличение масштабов проекта, так что при увеличении потока посетителей вам не придется переходить на другой сервер — достаточно будет просто сменить тариф или его настройки.

Запустите свой VDS-сервер в Timeweb

От 169 рублей в месяц

Заказать сервер

Выбираем тариф

О тарифах хостингов для бота 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», бот успешно запущен.

Самый волнующий момент — проверить работу бота в самом мессенджере:

Все работает! 

Межтекстовые Отзывы
Посмотреть все комментарии
guest

11 лучших приложений для изучения программирования

Разработка #C/C#/C++ #Программы #Сервисы #Подборка #JavaScript Рассказываем о лучших приложениях для смартфонов, которые помогут обучиться программированию и веб-разработке. ...

Строки в Python и методы работы с ними

Разработка #Редакторы кода #Python В одной из прошлых статей я разбирал строки в JavaScript. Теперь пришло время поговорить о...

GitHub включил по умолчанию механизм защиты от утечек данных

Новости #GitHub #Сервисы #Безопасность Реклама. ООО «ТаймВэб». erid: LjN8K4hV8 Сервис GitHub включил защиту от попадания в публичный репозиторий приватных...

10 лучших HTML-редакторов

Разработка #Программы #Редакторы кода #Подборка #HTML/CSS Рассматриваем лучшие приложения для работы с HTML-разметкой. Узнаем, чем пользуется верстальщик с глубокими познаниями...

Что такое виджет и как им пользоваться

Разработка #Веб-дизайн #JavaScript #Оптимизация #Windows Разработчики софта и владельцы сайтов стараются упростить процесс взаимодействия со своим продуктом. Одним из...

О CSS-препроцессорах и фреймворках: зачем они нужны и с чем их едят

Разработка #Фреймворки #Обзор #Технологии #HTML/CSS Сегодня поговорим о том, как можно сделать работу с CSS проще и удобнее,...

Что такое язык программирования

Разработка #C/C#/C++ #Программы #Обзор #Веб-дизайн #Java Программа на компьютере или смартфоне – это последовательность команд, которую создавали с...

Авторское право на код – как работает, когда защищает и как его зарегистрировать

Разработка #Программы #Законы #Разбор Поговорим о том, как работает авторское право на код в России и за рубежом....

Как настроить Sublime Text 3

Разработка #Программы #Редакторы кода #JavaScript #HTML/CSS Sublime Text 3 – это текстовый редактор, разработанный для верстальщиков и программистов....

Как создать краудфандинговый сайт на базе WordPress

Выбираем плагин Переходим к главному – выбору краудфандингового плагина. Здесь есть варианты. Charitable Это бесплатный плагин для сбора...

10 лучших конструкторов сайтов

Разработка #Веб-дизайн #Сервисы #Подборка #HTML/CSS #Конструктор Конструктор сайтов – это специальный сервис, позволяющий создать сайт без помощи программистов и...

Как безопасно удалить неиспользуемый CSS в WordPress

Разработка #Плагины #WordPress #HTML/CSS #Оптимизация Неиспользуемый CSS – это код, который загружается при открытии страницы, но фактически не...

Как правильно подключить CSS к HTML

Разработка #Настройка #HTML/CSS Рассмотрим, как применить CSS к сайтам и приложениям.  CSS – это таблица стилей. От нее зависит...

Сколько стоит разработка сайта

Разработка #Лендинги #Финансы #Разбор Если вы планируете разработку сайта, то, скорее всего, у вас много вопросов, а один...

Списки в Python и методы работы с ними

Разработка #Python Списки в Python – упорядоченный изменяемый набор объектов произвольных типов, пронумерованных от 0. Они используются для...

Обзор лучших WYSIWYG-редакторов

Разработка #Обзор #Контент #JavaScript #OpenSource Рассматриваем лучшие текстовые WYSIWYG-редакторы, которые можно встроить на сайты и в веб-приложения. Полнофункциональные, быстрые...

Как научиться читать код сайта и зачем это нужно, если вы не программист

Разработка #Браузеры #Веб-дизайн #HTML/CSS Часто возникают ситуации, когда необходимо проанализировать содержимое веб-страницы: посмотреть description, узнать размер какого-то элемента...

Как создать чат-бота ВКонтакте с расписанием уроков

Разработка #Серверы #ВКонтакте #Боты #JavaScript #Ubuntu Для более быстрого просмотра расписания лекций я использую простого чат-бота ВК, которым, помимо...

Обзор Vue.js

Разработка #Фреймворки #Обзор #JavaScript Vue.js или просто Vue – это прогрессивный JavaScript-фреймворк, который используется для создания пользовательских интерфейсов....

Размещаем бота для Telegram: от выбора хостинга до запуска

Разработка #VDS #Telegram #Боты #JavaScript #Python Чат-боты для Telegram — простой, изящный и легковесный способ вывести общение с клиентами...