Лайфхаки

Маленькие, полезные хитрости

Как установить telegram бота на хостинг: пошаговая инструкция

18.03.2024 в 14:33

Как установить telegram бота на хостинг: пошаговая инструкция

Введение

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

Для опытных разработчиков, уже имеющих собственные решения и методы работы, материал покажется базовым. Я поделюсь своим опытом организации работы чат-бота @world_for_life_bot , предлагая это как пример базового решения. Моя цель - показать, как можно развернуть бота за 15-30 минут, включая установку всех необходимых зависимостей.

А что тут можно сделать?

В начале развития интернет-сервисов, разработчики имели доступ к множеству стабильных и бесплатных ресурсов, которые предлагали неплохую поддержку. Эти платформы позволяли быстро и без значительных затрат запускать различные онлайн-проекты, включая чат-ботов. К примеру я еще застал работу сервиса Heroku с бесплатным тарифом. Однако со временем ситуация изменилась. Бесплатные тарифы канули в лету. Конечно и сейчас можно встретить сервисы, на которые можно задеплоить бота бесплатно, но это скорее для тестов, чем для тестирования продакшен решения, т.к. они имеют кучу ограничений по времени беспрерывной работы скриптов, сложности проекта и отсутствует поддержка БД и брокеров.

Новые Времена - Новые Требования

Сегодня, в мире, где конкуренция растет с каждым днем, важно не только создать функционального бота, но и обеспечить его стабильную и надежную работу. Именно поэтому многие разработчики отдают предпочтение виртуальным выделенным серверам (VDS) даже на минимальных тарифах. VDS предоставляет больше контроля, мощности и гибкости для масштабирования проекта.

Выбор и Настройка VDS

Я осознано не стану называть провайдера, которым я пользуюсь. Меня все устраивает. Но вы сами можете выбрать тот, который считаете наиболее подходящим для вас. При выборе VDS важно обратить внимание на следующие аспекты:

    Надежность Провайдера : Изучите отзывы и репутацию провайдера.

    Технические Характеристики : Убедитесь, что сервер соответствует требованиям вашего проекта.

    По своему опыту скажу что самый базовый бот, без БД может уместиться на 1CPU, 0.5GB ОЗУ и 10GB SSD

    Бот посложнее с БД запросит 1-2CPU, 2GB ОЗУ и 15GB SSD. С включением дополнительных компонент могут происходить и другие изменения в требованиях, например инсталляция MongoDB, потребовала наличия AVX инструкций на CPU, что было невозможно на базом тарифе и стоило мне почти 70руб ежемесячно плюсом.

    Далее все зависит от ваших желаний, локальные инстансы ИИ могут потребовать GPU, но это отдельная тема и стоимость. Для первых шагов вам вполне подойдет база

    Ценовая Политика : Сравните цены и выберите оптимальный тариф. На старте для 4 ботов я уложился в 170 рублей в месяц, включая статический IP. С ростом моих запросов и запросов ПО стоимость доросла до 600 рублей месяц, но у меня есть теперь примерно 100% запаса емкости по любому параметру, что меня вполне устраивает.

    Местоположение серверов : этот пункт стал очень актуален последнее время, т.к если ваш сервис, предполагает взаимодействие с другими интернет ресурсами, то возможно стоит выбирать провайдера в том информационном пространстве, с элементами которого ему предстоит взаимодействовать.

    Поддержка и Служба Помощи : Наличие квалифицированной технической поддержки. Проблемы и вопросы, как бы вы не хотели их избежать, будут. Раз в год-два, примерно, я всё-таки обращаюсь в ТП и мне очень нравится, что они оперативно 24/7 решают их, самостоятельно эскалируя те, которые не могут решить.

Связанные вопросы и ответы:

1. Как установить telegram бота на хостинг

Для установки telegram бота на хостинг необходимо создать аккаунт на хостинге и получить доступ к файловой системе через FTP. После этого загрузите все файлы бота на хостинг, убедившись, что все необходимые библиотеки и зависимости также загружены. Далее настройте webhook для бота, указав URL вашего хостинга, куда будут приходить запросы от telegram. Наконец, запустите бота на хостинге и проверьте его работоспособность, отправив тестовое сообщение.

2. Что нужно знать перед установкой telegram бота на хостинг

Перед установкой telegram бота на хостинг необходимо иметь определенные навыки в работе с файловой системой хостинга и базовое понимание работы с webhook'ами. Также важно убедиться, что ваш хостинг поддерживает язык программирования, на котором написан ваш бот, и имеет необходимые библиотеки для его работы. Кроме того, необходимо иметь токен бота от telegram для настройки вебхука.

3. Как настроить вебхук для telegram бота на хостинге

Для настройки вебхука для telegram бота на хостинге необходимо отправить POST запрос на специальный адрес telegram API, указав в качестве данных URL вашего хостинга, на котором будет доступен бот. После этого telegram отправит запрос с токеном верификации на ваш URL, чтобы подтвердить его корректность. После успешной верификации вебхук будет настроен и ваш бот будет готов принимать и обрабатывать запросы от telegram.

4. Какие проблемы могут возникнуть при установке telegram бота на хостинг

При установке telegram бота на хостинг могут возникнуть различные проблемы, такие как некорректная загрузка файлов бота на хостинг, отсутствие необходимых зависимостей или ограничения хостинга на использование webhook'ов. Также возможны проблемы с настройкой SSL сертификата для безопасного обмена данными между ботом и telegram. В случае возникновения проблем важно внимательно изучить документацию и обратиться за помощью к специалистам.

5. Как проверить работоспособность установленного telegram бота на хостинге

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

6. Как обеспечить безопасность установленного telegram бота на хостинге

Для обеспечения безопасности установленного telegram бота на хостинге необходимо регулярно обновлять все используемые библиотеки и зависимости, чтобы устранить известные уязвимости. Также важно использовать SSL сертификат для защиты передаваемых данных и предотвращения перехвата информации третьими лицами. Рекомендуется ограничить доступ к файлам бота на хостинге только авторизованным пользователям и в случае обнаружения подозрительной активности связаться с поддержкой хостинга.

Какой хостинг лучше выбрать для установки telegram бота

Существует большой выбор хостингов, которые можно приспособить под задачу запуска телеграмм-бота. Первое, что необходимо выяснить при выборе данного объекта – какие языки программирования он поддерживает. Чаще всего необходима возможность работать с программами, написанными на Python, но если бот написан на NodeJS, то и хостинг надо выбирать соответствующий. Также очень важно, чтобы клиенту предлагалось обслуживание в круглосуточном режиме, так как в сети люди активны 24/7. Желательно, чтобы ваш будущий сервис также мог работать постоянно, независимо от дня недели и времени суток.

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

Виды хостингов для бота ничем не отличаются от таковых для любых типичных задач в сети:

Какой хостинг лучше выбрать для установки telegram бота. Существующие типы хостинга

  • Виртуальный сервер . Наиболее надежный и относительно недорогой вариант, когда клиенту выделяется отдельная виртуальная машина с выделенной мощностью только под его задачи;
  • Shared-хостинг . Вариант более простой и менее мощный, но для небольших нагрузок достаточный. Здесь достаточно выбрать для себя подходящий по мощности и цене тариф и можно начинать работать;
  • Облачный сервер . Все более популярный вариант, который отличается тем, что его можно легко масштабировать при изменении нагрузки на ресурс. Также плюсами решения является более высокий уровень стабильности работы и безопасности.

Для тех, кто желает, чтобы его бизнес зависел только от него, есть еще один вариант – создать собственный сервер и разместить хостинг там. Для этого потребуется серьезно потрудиться: приобрести или выделить отдельный компьютер, который будет работать 24/7 без выключений, установить там и настроить все необходимое ПО. Обычно для малого и среднего бизнеса свой сервер является лишь дополнительной проблемой, поэтому смысла в нем не много.

Какие программные средства необходимы для установки telegram бота на хостинг

Сделать универсальное руководство по загрузке телеграм-бота на хостинг нельзя, поскольку для создания ботов используются разные технологии и языки программирования. Чаще всего виртуальных ассистентов для Телеграма пишут на Python или NodeJS. Наша инструкция основана на первом варианте: мы опишем, как выбрать хостинг для чат-бота на Python, установить нужные модули на сервер, залить, запустить, а также поставить бота на автоисполнение. Однако общая схема действий по установке, размещению и запуску может быть применима к любому телеграм-боту.

Как установить telegram бота на хостинг: пошаговая инструкция 01

Изображение от redgreystock на Freepik.

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

Выбирая, где разместить своего чат-бота, следует обращать внимание на возможности и ресурсы, которые поставляет хостинг-провайдер. Установить и запустить телеграм-бота можно и бесплатно: например, через облачный сервис Heroku. Но бесплатный хостинг крайне ограничен и часто небезопасен. Если у вас простой бот, который отвечает на триггеры заготовленными репликами, его можно залить на обычный shared hosting. Главное, найти тариф с поддержкой Python и Telegram API.

Если же ваш помощник основан на нейросети и ожидается большой поток клиентов, лучше остановиться на аренде VPS (Virtual Private Server). На виртуальном сервере подключение будет стабильнее за счет изолированности вычислительных мощностей, а кроме того, VPS легче масштабировать. Вам не понадобится сайт и домен, чтобы его арендовать: подключиться можно будет по выделенному IP-адресу.

Допустим, вы заказали подходящий сервер и удаленно подключились к нему по SSH. Прежде чем размещать на нем файлы нашего бота, нужно установить зависимости, которые потребуются для его работы. В частности, это язык Python и библиотека РуTelegramBotAPI. Мы покажем, как поставить эти компоненты на примере ОС Ubuntu. Введите в терминал:

sudo apt install python3
sudo apt install python3-pip

Мы взяли третью версию «Питона», но если ваш бот написан на другой, то загрузите нужную. Теперь можно заливать файл на сервер.

Размещение чат-бота

Сначала создадим папку, в которой будем размещать телеграм-бота:

cd /home
mkdir имя_папки
cd имя_папки

Где имя_папки — это придуманное вами название директории (на латинице). Команда cd позволит нам перейти в эту директорию. Далее необходимо загрузить сами файлы. Это можно сделать через сторонний FTP-клиент (например, FileZilla) или панель управления VPS/VDS, если она имеется. В любом случае вам понадобятся данные для входа на сервер: логин, пароль и IP-адрес (вы должны были использовать их, когда устанавливали SSH-подключение). Откройте выбранную программу, найдите папку с указанным именем и залейте в нее файлы телеграм-бота.

Запуск бота

Чтобы запустить бота, примените команду следующего вида, подставив свое значение:

python3 имя_файла.ру

Обычно проект телеграм-бота хранится в файле с названием main.py или bot.py. У вас он может иметь другое имя, главное, чтобы расширение было «ру».

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

Настройка автозапуска телеграм-бота

Ставить нашего бота на автовыполнение мы будем с помощью менеджера systemd. Чтобы создать службу, введите команду вида:

sudo nano /lib/systemd/system/example_bot.service

Замените example_bot на собственное значение. Теперь нужно прописать конфигурацию юнита. Она может выглядеть следующим образом:

Description=Example - Telegram Bot \\В переменной «Description» вы можете указать название своего бота, это просто описание, чтобы при открытии файла вы сразу поняли, к чему относятся нижеследующие параметры.

After=syslog.target
After=network.target

Type=simple
WorkingDirectory=/home/имя_папки/

ExecStart=/usr/bin/python3 /home/имя_папки/имя_файла.py \\Здесь и выше укажите названия, которые установили для директории и файла с ботом.

RestartSec=60
Restart=always

WantedBy=multi-user.target

Чтобы сохранить изменения и выйти, нажмите CTRL+S и CTRL+X. Теперь остается только запустить саму службу:

sudo systemctl enable example_bot
sudo systemctl start example_bot

Где example_bot — это название службы, которое вы указали в начале данного шага. Готово! Ваш телеграм-бот будет работать в фоновом режиме, даже когда вы отключитесь от сервера.

Какие шаги нужно выполнить для успешной установки telegram бота на хостинг

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

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

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

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

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

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

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

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

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

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

Выбор тарифа обычно обуславливается потоком клиентов, но не сложностью бота. Для развертывания как простенького, так и нейросетевого бота вам не потребуется много дискового пространства. Нет нужды и в больших вычислительных мощностях — большинству ботов более чем достаточно 512 МБ оперативной памяти. Поэтому можно выбирать самые недорогие тарифы.

Ключевое требование к хостингу — стабильность подключения, поэтому от shared-хостингов для телеграм-бота лучше сразу отказаться. А вот VPS/VDS сможет обеспечить надежное подключение. Предпочтительная ОС для сервера — Ubuntu, поскольку большинство модулей для языков программирования пишутся именно под нее. Тарифы на такие виртуальные серверы начинаются от 169 рублей в месяц.

Какие проблемы могут возникнуть при установке telegram бота на хостинг и как их решить

Перед тем, как начать оценивать провайдеров и искать самые выгодные условия для аренды сервера под телеграм-бота, необходимо определить, какой в целом тип хостинга вам понадобится. Поскольку виртуальные ассистенты в этом мессенджере обычно не требуют большого количества ресурсов, их запускают либо на общем хостинге (shared hosting), либо на VPS/VDS (Virtual Private/Dedicated Servers) — виртуальных выделенных серверах. Это два самых распространенных вида хостинга чат-ботов. Поговорим кратко о каждом.

Как установить telegram бота на хостинг: пошаговая инструкция 02 Изображение от pch.vector на Freepik.

Shared server предполагает, что бот будет работать на одном host-устройстве с проектами других клиентов. Мощность хоста делится поровну между всеми, вы управляете только своей учетной записью и файлами, без доступа к настройкам. Поэтому важно найти тарифный план, который поддерживает Telegram API и язык программирования, использованный для написания вашего бот (например, Python). В противном случае вы просто не сможете установить его на хостинг.

Использование общего сервера подходит для простых «автоответчиков», действующих по заранее заданному сценарию. Если же вы планируете размещать чат-бота, основанного на нейронной сети, в качестве hosted-площадки лучше использовать VPS. То же самое в случае ожидания высокой нагрузки на запускаемого бота: при большом потоке обращений стандартный shared может не справиться. На виртуальном частном сервере у вас будет изолированное окружение, выделенные ресурсы, возможность устанавливать и настраивать любое ПО.

Кроме того, существуют бесплатные облачные сервисы, где вы также можете разместить своего чат-бота. С ограничениями и рисками, но для примитивных помощников с предустановленными ответами подходит.

Запустите свой VPS-сервер в «Евробайт»

Арендовать дешевый производительный виртуальный сервер можно на нашем сайте: в разделе « VPS/VDS » вы можете найти hosts с предустановленными операционными системами Linux, а также размещенные в России (Москва) или Нидерландах (Амстердам). ВДС от «Евробайта» созданы по технологии KVM, так что у вас будет доступ к ядру ОС и любым настройкам: установка всех необходимых для телеграм-бота зависимостей не вызовет проблем.

За счет изоляции виртуальной машины VDS-хостинг обеспечивает более стабильное подключение и надежную работу чат-бота даже при больших объемах трафика. Заказать сервер можно в личном кабинете или сразу на странице выбранной услуги. Если при покупке или использовании VPS у вас возникнут вопросы, вы всегда можете обратиться к нашим специалистам из службы поддержки: они доступны круглосуточно и отвечают в течение 10 минут.

Какие преимущества предоставляет возможность установки telegram ботов на хостинг

Мы в ChatLabs не привязываем клиентов к определенному hosting и предлагаем максимально гибкие варианты. В этой статье не делаем обзоры лучших хостингов для ботов на Питоне, Node JS, JAVA и др., а делимся реальным опытом: что использует бизнес в разных нишах (интернет-магазины, стартапы, услуги доставки, отдел кадров и HR, инфобизнес), как подобрать сервер, где выгоднее разместить бота.

Бота для Телеги, Вконтакте, Дискорда делаем под ключ, т.е. сами размещаем на сервере, а вы получаете готовый работающий продукт + исходники. Если в компании есть свой техотдел, можем предоставить только исходники, а вы сами зальете бота на server.

Бесплатные хостинги для ботов Телеграм ограничены по функционалу (проекты, трафик, базы данных). У shared-hosting нюансы с ПО: к примеру, если чат-бот для Телеграм создан на Python с использованием фреймворка Flask или Django, то накатить нужное ПО для работы chat bot не получится. Также для shared-хостинга нужен домен (для VPS необязателен, т.к. можно обращаться по выделенному IP-адресу).

Выделенные сервера (Dedicated Server) только под нужды бота заказывать не стоит: как правило, часть ресурсов просто не используется. Но если у вас есть выделенный сервер под текущие проекты, на него можно поставить Телеграм-бота. Получается, что установка бесплатная (в рамках текущего тарифного плана).

Оптимальный вариант – VPS и VDS с ежедневными бэкапами, хорошим аптаймом, панелью управления или root-доступами для настройки. Один из таких – Fozzy . Но есть тарифы на eg.ru, FirstVDS, Cloud4box, Sprinthost, Timeweb, Simplecloud. Ниже о том, как на них сэкономить.

Можно ли установить несколько telegram ботов на один хостинг

Первым делом следует определиться, для аудитории какой страны будет создаваться чат-бот. Если это ВКонтакте, то здесь следует выбирать хостинг с серверами, которые находятся в стране, где не запрещена данная социальная сеть. Также если вы хотите собирать и анализировать данные ваших пользователей, то стоит заранее позаботиться о соблюдении законов о локализации персональных данных. Например, для работы с пользователями из России необходимо, чтобы серверы хостинг-провайдера находились на территории страны.

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

Для расширяемого чат-бота, который направлен на сложные задачи, стабильный хостинг – неотъемлемая часть. Для комфортной инфраструктуры и возможности расширения вашего алгоритма стоит рассмотреть хостинг с наличием СУБД, веб-сервера, SSL-сертификата.

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

Нюансы

При выборе хостинга также важно ориентироваться на то, поддерживает ли он нужное вам ПО, фреймворки и язык программирования. Например, если бот написан на Python с использованием фреймворка Flask или Django, shared-хостинг по умолчанию не позволит установить нужное для вас ПО, тогда как на VPS это реализуемо. Для shared-хостинга вам потребуется домен, чтобы отправлять запросы к нему. Для VPS же домен необязателен, и вы можете обращаться к нему по выделенному IP-адресу.

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

Опираясь на вышесказанное, можно найти множество различных хостингов, но здесь стоит быть осторожным. Важно, чтобы хостинг-провайдер был проверенным и не вызывал уйму проблем. И даже если вы столкнетесь со сложностями, то вам всегда должны с этим помочь – такими задачами, как правило, занимается служба поддержки.

Например, облачный провайдер  Timeweb  Cloud  предлагает все необходимые функции для реализации чат-ботов. При возникновении сложностей в помощь вам отзывчивая техническая поддержка, которая ответит на любые вопросы. Давайте рассмотрим, как на примере облачного сервера от Timeweb Cloud создать своего ассистента для Telegram.