Bitrix Telegram Консультант

это чат для сайта и инструмент для общения с клиентами через Telegram.

Как это работает

Посетитель пишет сообщение в чат

Вы получаете сообщение в telegram и отвечает

Посетитель получает ответ

Посетитель пишет сообщение в чат
Вы получаете сообщение в telegram и отвечает
Посетитель получает ответ

Возможности и преимущества

  • Менеджеру приходят сообщения от клиентов прямо в его telegram
  • Клиент telegram работает под разными операционными системами
  • Чат адаптирован под мобильные приложения
  • Есть автоотвечик, если ассистенты отошли или не могут ответить
  • Возможность использования API
  • Живая поддержка и развитие
  • Работает на минмальной редакции Битрикс — «Первый сайт».
  • Работает через telegram бота и поддерживает два режима получения обновления webhook и getupdate. SSL сертификат для сайта не обязателен.
  • Работает на нативном js. Jquery не требуется.

Разные цветовые решения

Установка

Для работы чата вам следует выполнить следующие шаги

  1. Установить модуль в ваш битрикс
  2. Получить token бота у @botfather
  3. Сохранить token в настройках модуля
  4. Добавить код вызова компонента в footer шаблона сайта или на странице
  5. Настроить прием сообщений из Telegram (webhook или getupdate)
  6. Добавить хотя бы одного ассистента

После выполняения всех этих шагов, кнопка чата должна появится. Подробнее о всех шагах описано ниже

Установка модуля и добавление компонента

Решение устанавливается стандартно.

После установки модуля, добавьте компонент Telegram.Messenger на требуемую страницу или в footer.php шаблона сайта из визуального редактора
Добавление компонента

или добавьте код вызова компонента в режиме исходного кода:

<?$APPLICATION->IncludeComponent(
    
"bit:telegram.helper",
    
"",
    array(
        
"HIDE_IF_NO_CONNECTION" => "Y",
    ),
    
false
);?>


Регистрирация telegram бота и получение token кода

Сообщения чата принимаются и отправляются в telegram, используя бота. Для его добавления найдите профиль @BotFather в Telegram и начните с «ним» разговор. Если экран остаётся пустым, обновите клиента Telegram или напишите /start.
Введите команду /newbot. BotFather попросит вас дать любое свободное текстовое имя боту, а также имя пользователя для него, которое всегда заканчивается на «bot». Если необходимое имя пользователя недоступно, попробуйте, например, такие варианты: «yoursitenamebot».
В результате BotFather напишет вам HTTP-токен API, который нужно сохранить в настройках модуля.
@Botfather


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

Настройка приема сообщений

Есть два метода получения обновлений от телеграм бота — использование webHook и использование getUpdate. Модуль поддерживает оба эти метода:

  1. webHook

    Используя вебхук — сервер Telegram будет передавать на ваш сервер каждое обновление с помощью HTTPS POST-запроса. Как это работает: в корне вашего сайта модуль добавляет скрипт, полный адрес которого мы передаем боту. После чего, получая сообщения, бот автоматически отправляет их на ваш скрипт, по указанному адресу. Важно: этот метод может работать только через HTTPS соединение, т.е. необходимо иметь валидный ssl сертифика на домене вашего сайта. Этот метод предпочтительней, т. к. он менее ресурсоемкий и более устойчивый к сбоям. Самоподписанный сертификат модулем пока не поддерживается.

  2. getUpdate

    Этот метод работает так: на своем сервере вы запускаете скрипт-демон, который постоянно запрашивает обновления у telegram бота. Демон - это приложение, которое работает самостоятельно в фоновом режиме, без остановок и без участия пользователя. На деле - это обычный php скрипт, который выполняет бесконечный цикл.
    Для включения демона на сервере лучше всего добавить запуск скрипта в cron. В скрипте реализован функционал исключающий дублирование процессов.
    Для этого метода ssl сертификат не нужен, но требуется определенный навык для запуска скрипта демона и добавления его в список задач cron.

    Для работы модуля требуется настройка в PHP - "allow_url_fopen = On"

Настройка демона getUpdate.

Для работы модуля в таком режиме вам следует проделать несколько простых шагов

Сперва вам следует включить демон. Его можно запустить через консоль командой:

php /здесь путь к вашему document_root/bitrix/modules/bit.telegramhelper/tools/serv.php

В таком случае скрипт начнет свой бесконечный цикл получения обновлений с сервера Telegram. При таком запуске, при первом же обрывы соединения, демон завершит свою работу, и модуль перестанет работать. Чтобы этого избежать, нужно вызов демона добавить в cron. Тогда он будет запускаться автоматически в фоновом режиме. Для этого введите команду в консоли

crontab -e

и добавьте там строчку

* * * * *  php /здесь путь к вашему document_root/bitrix/modules/bit.telegramhelper/tools/serv.php

Путь к скрипту демона указан в настройках модуля
Путь для cron  

Также добавления демона в cron возможно через панель управления хостингом и этот предпочтительно. Например в timeweb добавление выглядит так:

Добавление задачи крон через панель хостинга

Убедитесь в том что процесс демона запущен и работает. Для этого введите команду в консоли
ps aux | grep php
демон чата должен быть в списке процессов.

Проверка наличия процесса

После этого в настройках модуля следует включить сервер приема сообщение.
getUpdates
Нужно добиться того чтобы статус приема сообщений стал Online, а не Offline.

Режим получения обновления webhook

В этом режиме все гораздо проще. Единственное, что нужно сделать для включения этого режима, это передать в telegram путь к скрипту webhook. Это можно осуществить в настройках модуля, выбрав в выпадающем списке «Метод получения обнволения» режим «webhook». Перед установкой webhook, убедитесь в наличие скрипта webhookа в корне сайте. Имя файла скрипта указано в настройках модуля:

Имя скрипта сгенерировано при установке. Имя можете поменять в настройках и переименовать скрипт.

Нажмите на кнопку «Включить режим webhook». Модуль попытается отправить путь к скрипту вебхука в telegram. После установки, должно появится сообщение об удачном результате и путь к вебхуку:

webhook 1 webhook 2

Настройка

Настройка модуля

Настройки модуля
Подсказки

Подключение ассистентов

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

После удачного ввода пароля, ассистент будет добавлен в базу и ему станут приходить сообщения с чата.

Команды ассистента

Используя специальные команды, вы можете управлять настройками ассистента.
Список доступных команд:

  • /start - вывод доступных команд
  • /online - поменять статус на Online
  • /offline - поменять статус на Offline (в таком статусе посетители не смогут отправить вам сообщения)
  • /remove - удаления вашего аккаунта из базы ассистентов
  • /assistants - вывести список ассистентов
  • /client33 - перейти в чат с клиентом под номером 33
  • /history33 - вывести историю сообщений с клиентом под номером 33
  • /ban33 - забанить чат номер 33
  • /ban - забанить текущий чат
  • /chat - вывести текущий чат
  • /exit - выход из текущего чата
  • /path - вывести текущий путь посетителя
  • /add - добавить шаблон сообщения
  • /templates - показать список доступных шаблонов

API

У модуля есть возможность отправки сообщения ассистентам, используя фунции API.
Например, вот такой код:
<?
use Bitrix\Main\Loader,Bit\TelegramHelper\Api;
Loader::includeSharewareModule("bit.telegramhelper");
Api::sendMessage("На сайте добавлен новый заказ.");
?>

отправит всем ассистентам сообщение о добавление заказа на сайте.

Требования

Для работы модуля требуется настройка в PHP - "allow_url_fopen = On"

Если у вас есть вопросы или предложения, напишите нам:

CAPTCHA
Ассистент

Система Orphus