это чат для сайта и инструмент для общения с клиентами через Telegram.
Посетитель пишет сообщение в чат
Вы получаете сообщение в telegram и отвечает
Посетитель получает ответ
После выполняения всех этих шагов, кнопка чата должна появится. Подробнее о всех шагах описано ниже
Решение устанавливается стандартно.
После установки модуля, добавьте компонент Telegram.Messenger на требуемую страницу или в footer.php шаблона сайта из визуального редактора
или добавьте код вызова компонента в режиме исходного кода:
<?$APPLICATION->IncludeComponent(
"bit:telegram.helper",
"",
array(
"HIDE_IF_NO_CONNECTION" => "Y",
),
false
);?>
Сообщения чата принимаются и отправляются в telegram, используя бота. Для его добавления найдите профиль @BotFather
в Telegram и начните с «ним» разговор. Если экран остаётся пустым, обновите клиента Telegram или напишите /start.
Введите команду /newbot. BotFather попросит вас дать любое свободное текстовое имя боту, а также имя пользователя для него, которое всегда заканчивается на «bot». Если необходимое имя пользователя недоступно, попробуйте, например, такие варианты: «yoursitenamebot».
В результате BotFather напишет вам HTTP-токен API, который нужно сохранить в настройках модуля.
После создания модуля, обязательно установите token бота в настройках в соответсвующее поле. Без token кода компонент работать не будет.
Есть два метода получения обновлений от телеграм бота — использование webHook и использование getUpdate. Модуль поддерживает оба эти метода:
Используя вебхук — сервер Telegram будет передавать на ваш сервер каждое обновление с помощью HTTPS POST-запроса. Как это работает: в корне вашего сайта модуль добавляет скрипт, полный адрес которого мы передаем боту. После чего, получая сообщения, бот автоматически отправляет их на ваш скрипт, по указанному адресу. Важно: этот метод может работать только через HTTPS соединение, т.е. необходимо иметь валидный ssl сертифика на домене вашего сайта. Этот метод предпочтительней, т. к. он менее ресурсоемкий и более устойчивый к сбоям. Самоподписанный сертификат модулем пока не поддерживается.
Этот метод работает так: на своем сервере вы запускаете скрипт-демон, который постоянно запрашивает обновления у telegram бота. Демон - это приложение, которое работает самостоятельно в фоновом режиме, без остановок и без участия пользователя. На деле - это обычный php скрипт, который выполняет бесконечный цикл.
Для включения демона на сервере лучше всего добавить запуск скрипта в cron. В скрипте реализован функционал исключающий дублирование процессов.
Для этого метода ssl сертификат не нужен, но требуется определенный навык для запуска скрипта демона и добавления его в список задач cron.
Для работы модуля требуется настройка в PHP - "allow_url_fopen = On"
Для работы модуля в таком режиме вам следует проделать несколько простых шагов
Сперва вам следует включить демон. Его можно запустить через консоль командой:
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 возможно через панель управления хостингом и этот предпочтительно. Например в timeweb добавление выглядит так:
Убедитесь в том что процесс демона запущен и работает. Для этого введите команду в консоли
ps aux | grep php
демон чата должен быть в списке процессов.
После этого в настройках модуля следует включить сервер приема сообщение.
Нужно добиться того чтобы статус приема сообщений стал Online, а не Offline.
В этом режиме все гораздо проще. Единственное, что нужно сделать для включения этого режима, это передать в telegram путь к скрипту webhook. Это можно осуществить в настройках модуля, выбрав в выпадающем списке «Метод получения обнволения» режим «webhook». Перед установкой webhook, убедитесь в наличие скрипта webhookа в корне сайте. Имя файла скрипта указано в настройках модуля:
Имя скрипта сгенерировано при установке. Имя можете поменять в настройках и переименовать скрипт.
Нажмите на кнопку «Включить режим webhook». Модуль попытается отправить путь к скрипту вебхука в telegram. После установки, должно появится сообщение об удачном результате и путь к вебхуку:
Ассистент должен из-под своего аккаунта в telegram найти вашего бота и написать ему что-нибудь.
В ответ бот попросит вас ввести пароль, который вы сможете найти в настройках модуля. Пароль генериуется рандомно при установке модуля и может быть изменен в настройках модуля.
После удачного ввода пароля, ассистент будет добавлен в базу и ему станут приходить сообщения с чата.
Используя специальные команды, вы можете управлять настройками ассистента.
Список доступных команд:
У модуля есть возможность отправки сообщения ассистентам, используя фунции API.
Например, вот такой код:
<?
use Bitrix\Main\Loader,Bit\TelegramHelper\Api;
Loader::includeSharewareModule("bit.telegramhelper");
Api::sendMessage("На сайте добавлен новый заказ.");
?>
отправит всем ассистентам сообщение о добавление заказа на сайте.
Для работы модуля требуется настройка в PHP - "allow_url_fopen = On"