Найти тему
Beget

Как легко создать чат-бота для сайта и мессенджера

Оглавление

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

Сегодня интегрировать чат-бота можно в любое приложение, мессенджер, соцсеть, на сайт и т. д. Они используются везде, где нужно автоматизировать диалог в формате “вопрос-ответ”, разгружают менеджеров и сокращают человеко-часы рутинной работы.
Так, например, благодаря введению бота “Аси” “Одноклассники” смогли сэкономить
42 миллиона рублей в год. Что еще может чат-бот:

  • Персонализировать общение.
  • Отправлять транзакционные сообщения.
  • Уменьшить время ожидания клиентов.
  • Находить информацию в базе.
  • Автоматизировать бизнес-процессы.
  • Геймифицировать клиентский опыт.

Какие чат-боты бывают

Для удобства мы разделили чат-боты по функциям. Первый часто используемый вариант – это чат-бот для продаж.

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

-2

Например, подобный Telegram-бот работает у сервиса Tripster.

Второй вариант – лид-бот, собирающий заявки с сайта автоматически. Он пригодится, если пользователю нужно помочь разобраться в услугах и выбрать подходящую. Пример такого бота – на сайте школы “Умскул”:

-3

Он ведет диалог с пользователем: узнает у него важные данные – от класса, в котором учится школьник, до номера телефона.

С помощью такого бота компания увеличила конверсию в телефонный разговор из начала диалога на 24% за 3 месяца.

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

-4

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

Пример такого решения – чат-бот в приложении “Т-Банка”:

-5

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

Как создать чат-бот: технологии

Существует три способа создания чат-ботов. Это покупка готового решения, конструктор и написание чат-бота с нуля.

Приобрести готового бота можно на любой из онлайн-площадок, например, на Just AI. Там вы найдете решения для интернет-магазинов, ресторанного бизнеса и чего угодно.

Создать чат-бот самостоятельно можно с помощью конструктора – это довольно просто. К популярным конструкторам относятся Botmaker, Aimylogic, PuzzleBot, Leadtex, Bot Kits и т. д. Сервисы позволяют настроить логику использования сразу на сайте, прописать сообщения и начать пользоваться.

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

Установить эту платформу на ваш сервер в Бегете можно через маркетплейс.

Попробовать n8n

Ну а если вам нужен бот со сложными функциями, можно создать его с нуля на Python, JavaScript, NodeJS и пр.

Например, написать код для бота в Telegram можно на JavaScript: для разработки хватит его базовых навыков – здесь рассказывается, как создать чат-бота на JS, используя библиотеку node-telegram-bot-api, и научить его базовым командам.

А как развернуть чат-бота на VPS, мы пошагово разберем чуть ниже 🙂

В целом самостоятельная разработка позволяет подключить ChatGPT в качестве инструмента для написания кода и создать чат-бота бесплатно без навыков программирования.

Развернуть чат-бота можно на VPS: для этого подойдет даже минимальная конфигурация с 1 Гб памяти.

Теперь, как и обещали, разберем, как самостоятельно создать бота.

Как развернуть Telegram-бота на VPS

Мы подробно разберем, как развернуть чат-бота на сервере VPS с Ubuntu 24.04. В качестве языка программирования мы выбрали Python – именно он используется для таких задач чаще всего, да и в мире он лидирует по популярности.

Для начала подключитесь к серверу по SSH либо воспользуйтесь терминалом в панели управления. Мы будем использовать приложение “Терминал”.

Авторизуемся на сервере под пользователем root и создадим пользователя tgbot, через которого будем работать дальше:

-6

Дважды укажите для пользователя пароль, остальные данные можно не заполнять – нажмите Enter, чтобы пропустить ввод.

Добавим нового пользователя в группу sudo:

-7

Больше пользователь root нам не потребуется. Отключаемся командой exit или сочетанием клавиш Ctrl+D.

Вновь подключимся к серверу, однако для входа будем использовать пользователя tgbot.

Затем перейдем к установке Python и зависимостей проекта. Python версии 3.12 уже установлен на сервере:

-8

Создадим директорию проекта и перейдем в нее:

-9

Создадим и активируем виртуальное окружение:

-10

Наш бот будет использовать библиотеку pyTelegramBotAPI, более известную как telebot. Мы выбрали ее, так как она проста в использовании для новичка, отличается богатым функционалом, подробной документацией (в том числе на русском языке) и широким сообществом пользователей. Вы можете использовать любую другую библиотеку. Для экспорта переменных из конфигурационного файла будем использовать библиотеку python-dotenv. Установим указанные библиотеки через pip:

-11

Если бот содержит список зависимостей в файле requirements.txt, выполните следующую команду:

-12

Для работы чат-бота сгенерируем ключ API Telegram. Откройте официальный бот для создания ботов @BotFather
Запустите его и выполните команду
/newbot, укажите название бота и его username (уникальный идентификатор) – в результате вы получите API-ключ:

-13

Для безопасности токен будем хранить в переменных окружения. В директории, где будут размещаться файлы бота, создайте файл .env и добавьте в него следующую строку:

-14

Далее необходимо загрузить файлы на сервер. Можно клонировать репозиторий с ботом в директорию, например:

-15

Вы также можете загрузить или создать файлы через файловый менеджер в разделе “Облако” в панели управления. В нашем случае файлы расположены по пути /home/betutorial/betutorial_bot.

-16

Попробуем запустить алгоритм вручную. Для этого в директории, где находится файл main.py, выполним в терминале команду (виртуальное окружение должно быть активировано):

-17

В терминале видим сообщение о том, что бот запущен, ошибок нет.

-18

Бот запущен...

Проверим его работу:

-19

Бот будет работать, пока открыт терминал, в котором он запущен. Чтобы запустить его в фоновом режиме, можно воспользоваться утилитами nohup или tmux. Однако в случае перезагрузки сервера он также будет остановлен.

Чтобы бот работал в фоновом режиме и запускался после перезагрузки, настроим его работу в качестве службы systemd.

Создадим файл службы (обязательно с использованием sudo):

-20

И вставим в него следующее содержимое, нажав в терминале сочетание клавиш Ctrl+V:

-21

Рассмотрим основные параметры:

  • Description – описание службы.
  • User – пользователь, под именем которого запускается алгоритм.
  • WorkingDirectory – рабочая директория проекта.
  • ExecStart – команда для запуска бота.

Обратите внимание, что в поле ExecStart перед файлом бота нужно указать путь к python в venv – в нашем случае это /home/tgbot/tg_bot/tgbot/bin/python3.12. Остальные параметры можно оставить без изменений.

Сохраните файл, нажав сочетание клавиш Ctrl+X, затем введите y и нажмите Enter.

Обновляем все юниты:

-22

Запускаем службу:

-23

И включаем ее:

-24

Проверяем состояние службы:

-25

-26

Видим, что ошибок нет, служба активна и включена (enabled). Это значит, что она будет запускаться при перезагрузке системы.

Для перезапуска службы (например, после внесения изменений в код) используйте следующую команду:

-27

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

-28

Видим, что бот есть в списке процессов:

-29

На этом всё, бот готов и работает. Вы прекрасны 🙂

Заключение

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

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

Вне зависимости от того, какой чат-бот вам нужен – для соцсетей, мессенджеров или сайта, развернуть его можно на нашем VPS.

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