Телеграм-бот на сервере: загрузка, настройка и запуск — Блог HTML Academy

Телеграм-бот на сервере: загрузка, настройка и запуск — Блог HTML Academy Хостинг
Содержание
  1. Создан, чтобы помогать
  2. Добрый Хостинг
  3. VDSPlanet
  4. Linode
  5. Быстрое погружение в матчасть
  6. Возможные ошибки при установке, и как их решить
  7. Выбор хостинга
  8. Готовим программу и отправляем её на сервер
  9. Для бизнеса
  10. Для консультаций
  11. Для развлечений
  12. Загружаем скрипты на бесплатный хостинг с php и mysql. подойдет для скриптов бота вк
  13. Запускаем телеграм-бота на сервере
  14. Как создать бота вк в три шага?
  15. Ключевые слова
  16. Конструктор сообщений
  17. Макросы
  18. Многое другое
  19. Наглядная статистика
  20. Настраиваем сервер
  21. Переменные
  22. Продвинутый хостинг для продвинутого чат-бота
  23. Простейший хостинг для простейшего чат-бота
  24. Создайте лучшего бота для сообщества вконтакте
  25. Стабильная работа
  26. Таргетинговые сообщения
  27. Уведомления
  28. Шаг 1. выбрать хостинг
  29. Шаг 3. загрузить бота
  30. Шаг 4. зайти на сервер по ssh
  31. Шаг 5. установить node.js
  32. Шаг 6. запустить и проверить бота
  33. Шаг 7. обеспечить автоматический перезапуск бота

Создан, чтобы помогать

Для чего же нужен текстовый собеседник? Говоря формальным языком, он должен выявить вашу потребность или проблему и удовлетворить / решить её. Чаще всего в чат-ботах нуждаются компании, когда техподдержка начинает страдать от наплыва однотипных запросов.

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

Сюда же входит разработка интерфейса собственного чата, но этот шаг можно пропустить, если вы используете готовые виджеты или мессенджеры. К тому же, необходимо обеспечить круглосуточную доступность и отказоустойчивость — в этом вам поможет удалённый сервер или хостинг.

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

Добрый Хостинг

Технология виртуализации — XEN. Сервера размещаются в Москве, дата центр ColoCat.

VDSPlanet

Технология виртуализации — OpenVZ. Сервера расположены в США, датацентр XO Communications.

Плюсы: быстрые серверы (покрайней мере, на сегодняшний момент). Хорошие каналы связи. Техподдеержка быстро и качественно реагирует в пределах своей ответственности. Сравнительно недорого.

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

Linode

Технология виртуализации — XEN. Сервера расположены в США и Европе.

Плюсы: XEN — этим все сказано. Дешевле сервер с аналогичными характеристиками найти очень сложно.

Минусы: все на буржуйском, поэтому пообщаться с техподдержкой будет проблематично (я сам не пробовал). Принимают к оплате только «Visa, MasterCard, American Express, and Discover». Придется завести в банке карточку класса не ниже Visa classic.

Быстрое погружение в матчасть

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

Чтобы в дальнейшем избежать путаницы, разделим чат-ботов на два царства:

  1. Простейшие — те, что работают на простых скриптах: ищут готовые ответы по ключевым словам или контексту и не обучаются.
  2. Продвинутые — разработаны с помощью машинного обучения: умеют анализировать вопросы и генерировать уникальные ответы.

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

Возможные ошибки при установке, и как их решить

При установке могут появиться ошибки вида:

Existing lock /var/run/yum.pid: another copy is running as pid 9571.
Another app is currently holding the yum lock; waiting for it to exit...

или:

Выбор хостинга

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

Также если вы хотите собирать и анализировать данные ваших пользователей, то стоит заранее позаботиться о соблюдении законов о локализации персональных данных. Например, для работы с клиентами из России необходимо выбрать хостинг-провайдера, серверы которого физически находятся на территории РФ.

С юридическими тонкостями разобрались, теперь перейдём к определению характеристик хостинга. Для этого вернёмся к нашим двум царствам чат-ботов.

Готовим программу и отправляем её на сервер

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

Что­бы это узнать, соеди­ним­ся с сер­ве­ром по про­то­ко­лу SSH и спро­сим у него напря­мую. Для это­го исполь­зу­ем про­грам­му Putty, а настрой­ки под­клю­че­ния возь­мём в лич­ном каби­не­те хостин­га:

Встав­ля­ем их в Putty и под­клю­ча­ем­ся. Помни­те, что для без­опас­но­сти во вре­мя вво­да паро­ля кур­сор сто­ит на месте, что­бы никто не смог выяс­нить, сколь­ко сим­во­лов вы наби­ра­е­те. Когда под­клю­чи­лись, вво­дим коман­ду python3.3 -V — она пока­жет, есть ли на сер­ве­ре под­держ­ка этой вер­сии Python:

Теперь добав­ля­ем в самое нача­ло наше­го фай­ла с про­грам­мой такую строч­ку:

В ста­тье о том, как опуб­ли­ко­вать сайт в интер­не­те, мы рас­ска­зы­ва­ли, как залить фай­лы на сер­вер. Это уме­ние нам сей­час при­го­дит­ся: сохра­ня­ем нашу про­грам­му с горо­ско­пом как файл с рас­ши­ре­ни­ем .py и отправ­ля­ем его на сер­вер в пап­ку cgi-bin (то, что лежит в этой пап­ке, никто не уви­дит):

Для бизнеса

Автоматизируйте сбор заявок и продажи внутри бота. Настройте рассылки, цепочки и воронки, работающие вместо вас.

Для консультаций

Дайте клиентам то, что они хотят — ответы на вопросы. Сократите количество персонала в отделе поддержки.

Для развлечений

Приведите тысячи лояльных подписчиков в своё сообщество, развлекая пользователей с помощью бота.

Загружаем скрипты на бесплатный хостинг с php и mysql. подойдет для скриптов бота вк

После того как я опубликовал статью Создаем собственного бота VK, подробная инструкция как создать бота VK за 5 минут! мне в личку стали очень часто обращаться в основном с вопросом — «Как загрузить на сервер скрипт?»

Приступаем. Я нашел бесплатный хостинг, который идеально подходит для нашей задачи. Очень давно я использовал для этого проект Hostinger, но они рекомендуют теперь другой сервис, его и возьмем.

2. Регистрируем аккаунт. Регистрацию можно пройти используя Google аккаунт, чем я и воспользовался.

Телеграм-бот на сервере: загрузка, настройка и запуск — Блог HTML Academy
При нажатии на кнопку Sign Up for FREE! нас переместит ниже, к выбору тарифа, выбираем бесплатный ( Free )

Запускаем телеграм-бота на сервере

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

Вот что мы сде­ла­ем, что­бы бот рабо­тал неза­ви­си­мо от все­го:

  1. Выбе­рем сер­вер.
  2. Под­го­то­вим про­грам­му для рабо­ты на нём.
  3. Зальём про­грам­му на сер­вер.
  4. Настро­им сер­вер, что­бы он испол­нял про­грам­му.

Как создать бота вк в три шага?

Войдите в Робочат и подключите сообщества, в которых нужен бот вк.

Настройте бота сами или используйте один из готовых шаблонов.

Пообщайтесь с ботом и расскажите о его появлении подписчикам!

диалогов с ботами

Ключевые слова

Наборы случайных ответов, отправка любых медиафайлов и записей

Конструктор сообщений

От простого текста до игры-квеста, без программирования

Макросы

Обращайтесь по имени и фамилии, называйте город или текущее время пользователя

Многое другое

Огромные возможности для создания вашего неповторимого бота сообщества

Интерактивные функции для бота ВКонтакте

Позвольте пользователям бота оплатить покупку с помощью карты или Яндекс Денег.

Анонимный чат между пользователями ваших сообществ.

Для заработка на боте

Раздача купонов, ключей и скидок в ограниченном количестве.

Выдача ключей и скидок

Отправка случайного фото из альбома ВКонтакте

Случайное фото из альбома ВКонтакте

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

Случайное видео из альбома ВКонтакте

Следите за обновлениями Робочата или предложите свои!

Наглядная статистика

Полный набор инструментов для анализа пользователей бота

Настраиваем сервер

Теперь научим сер­вер пони­мать, как рабо­тать с нашей про­грам­мой. Для это­го в корне сай­та нахо­дим файл .htaccess и добав­ля­ем в него такую строч­ку:

AddHandler cgi-script .py

Если у вас тако­го фай­ла нет — создай­те его и не забудь­те про точ­ку в самом нача­ле назва­ния.

Послед­нее, что оста­лось сде­лать, — настро­ить пра­ва досту­па у фай­ла с про­грам­мой. Нахо­дим её сре­ди фай­лов хостин­га и выстав­ля­ем пра­ва 755 или rwxrwxr-x:

Теперь с помо­щью Putty сно­ва под­клю­ча­ем­ся к сер­ве­ру и настра­и­ва­ем рабо­чее окру­же­ние. Это как буд­то вир­ту­аль­ная песоч­ни­ца, где мы смо­жем ста­вить нуж­ные моду­ли для Python, что­бы не мешать осталь­ным поль­зо­ва­те­лям сер­ве­ра.

В SSH-терминале пишем по оче­ре­ди такие коман­ды (вме­сто .thecode мож­но напи­сать назва­ние ката­ло­га, кото­рое вам по душе):

virtualenv .thecode source .thecode/bin/activate

Эти две коман­ды созда­дут вир­ту­аль­ное про­стран­ство для запус­ка Python-файлов.

Теперь уста­но­вим Python-модуль для рабо­ты с Теле­гра­мом:

Переменные

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

Продвинутый хостинг для продвинутого чат-бота

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

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

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

Важный нюанс 1

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

Простейший хостинг для простейшего чат-бота

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

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

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

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

Создайте лучшего бота для сообщества вконтакте

Повышайте вовлечение подписчиков, увеличивайте охваты сообщества, устраивайте массовые рассылки ВКонтакте и сократите время общения с пользователями. Бот ВК бесплатно к вашим услугам.

Стабильная работа

Мощные сервера: бот отвечает мгновенно и при любых нагрузках

Таргетинговые сообщения

Настройки реакций бота в зависимости от параметров пользователя (пола, города и тд)

Уведомления

Бот экспортирует нужные вам данные в личные сообщения или на email

Шаг 1. выбрать хостинг

Как правило, на shared-хостинге отсутствует поддержка Node.js, поэтому нам понадобится как минимум виртуальный сервер. Существуют сервисы, предлагающие VPS бесплатно, но с заметными ограничениями: например на количество трафика или нагрузку на сервер.

  • Google Cloud
  • Oracle Cloud
  • Amazon Web Services

Преимущество платных VPS в более высоких лимитах или их отсутствии, а также в гарантии стабильной работы сервера. Вместе с этим вы получаете активную поддержку и всегда можете рассчитывать на помощь хостинг-провайдера, если возникнут проблемы.

Шаг 3. загрузить бота

Приступим к загрузке бота на сервер. Это можно сделать разными способами — с помощью FTP, SFTP, панели управления или, к примеру, rsync. Мы выберем самый быстрый вариант — SFTP, так как для него нужна только возможность подключения к серверу по SSH, которая обычно присутствует на всех VPS сразу после заказа.

Шаг 4. зайти на сервер по ssh

Теперь нужно подключиться к серверу по SSH, чтобы установить Node.js и запустить бота. Для этого необходим SSH-клиент, например Putty, XShell, Bitvise SSH или любой другой. Функциональность программ может немного отличаться, но большой разницы в использовании между ними нет. Мы выбрали PuTTY как самый популярный и бесплатный SSH-клиент для Windows.

Открываем PuTTY, указываем IP-адрес сервера, порт 22 уже указан по умолчанию:

Шаг 5. установить node.js

Теперь займёмся установкой. Обратите внимание, что команды для установки Node.js отличаются в зависимости от операционной системы. В наших примерах указаны команды для Ubuntu, Debian и CentOS — мы будем вводить их в консоли SSH-клиента.

Если вы не знаете, какая ОС установлена на сервере, можете проверить это командой:

cat /etc/os-release

Вывод будет примерно таким:

Шаг 6. запустить и проверить бота

Пришло время запустить бота. Для начала запустим утилиту Screen простой командой:

screen

Перейдём в каталог с файлом бота:

Шаг 7. обеспечить автоматический перезапуск бота

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

Это позволит боту стабильно работать даже в случае обнаружения багов. Вы сможете оперативно их исправить, а бот в это время продолжит отвечать на запросы.

Большинство современных Linux-систем используют systemd для управления службами, поэтому следующая инструкция подойдёт для последних версий Ubuntu, Debian и CentOS.

Для начала отключим бота командой:

killall node

Нам понадобится создать собственную службу, для этого в каталоге /lib/systemd/system создадим файл:

имя_бота.service

Оцените статью
Хостинги