Другие модули на выбор

Max: уведомления, формы, заказы, рассылка (Макс)

Стоимость: руб.
Этот компонент мы сможете использовать только при наличии лицензии. Подходящие редакции:

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

На сервере должно быть установлено расширение curl для PHP

Модуль устанавливается стандартными средствами.
Настройка модуля на странице https://ваш_домен/bitrix/admin/settings.php?mid=slytek.maxnotify&lang=ru

Регистрация бота проходит в несколько этапов:

1) Регистрируетесь на платформе https://business.max.ru/ по инструкции https://dev.max.ru/docs/maxbusiness/connection;
2) Создаете бота на платформе и получите токен для интеграции. Можно использовать инструкцию https://dev.max.ru/docs/chatbots/bots-create;
3) По итогу регистрации получаем наш токен — 12345678:QWErtYUIoPASDFGhJKLZXCVBnMdasd.
Будьте осторожны: никогда и никому не показывайте токен.

Получение ChatID администратора:
1) Откройте чат с созданным ботом в Max
2) Не взирая на то что бот просит отправьте ему сообщение /id и в ответ получите ChatID
3) вставьте в поле и сохраните

В модуле предусмотрены события onMessageGet и onButtonsGet
onMessageGet - событие которое вызывается при отправке пользователем сообщения в чат телеграм-бота
Входящие параметры для onMessageGet:
'message' - текст сообщения
'user_name' - Логин пользователя
'first_name' - Имя
'last_name' - Фамилия
'chat_id' - ID чата
'buttons' - кнопки чата
Получает из события:
'message' - текст который нужно отправить пользователю в ответ
'buttons' - список кнопок которые показываются пользователю

onButtonsGet - событие которое вызывается при формировании списка кнопок для показа пользователю
Входящие параметры для onButtonsGet:
'buttons' - список кнопок по умолчанию
Получает из события:
массив списка кнопок

Пример обработки событий
\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'slytek.maxnotify', 'onMessageGet', ['MaxnotifyHandler', 'onMessageGet'] ); \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'slytek.maxnotify', 'onButtonsGet', ['MaxnotifyHandler', 'onButtonsGet'] ); class MaxnotifyHandler { public static function onMessageGet(\Bitrix\Main\Event $event) { $message = $event->getParameter('message'); $chat_id = $event->getParameter('chat_id'); $buttons = $event->getParameter('buttons'); $user_name = $event->getParameter('user_name'); $first_name = $event->getParameter('first_name'); $last_name = $event->getParameter('last_name'); $res = []; if ($message == 'test') { $buttons[] = 'test'; $buttons[] = 'test2'; $res = [ 'buttons' => $buttons, 'message' => $first_name . ' ' . $last_name . ' [' . $user_name . '] said ' . $message, ]; } $result = new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $res); return $result; } public static function onButtonsGet(\Bitrix\Main\Event $event) { $buttons = $event->getParameter('buttons'); $params = $event->getParameter('params'); if ($params['message'] == 'test2') { $buttons[] = $params['user_name']; } $result = new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $buttons); return $result; } } Пример ссылки для авторизации в боте:

Для авторизованных пользователей:
\Bitrix\Main\Loader::includeModule('slytek.maxnotify'); echo 'https://max.ru/КОД_БОТА?start='.\Slytek\Max\Notify::authLink();или по данным заказаhttps://max.ru/КОД_БОТА?start=ID_ЗАКАЗА-ТЕЛЕФОН_ИЛИ_EMAIL или вида https://max.ru/КОД_БОТА?start=base64_encode('ID_ЗАКАЗА|ТЕЛЕФОН_ИЛИ_EMAIL')