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

Telegram: заказы, формы, оповещения, рассылка (телеграм)

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

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

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

Регистрация проходит в 5 этапов:

1) Открываете чат с @BotFather https://t.me/BotFather;
2) Вводите или выбираете из списка команду /newbot;
3) Отправляете желаемое название для бота. Например: Интернет-магазин Slytek;
4) Пишете юзернейм бота, по которому его будут находить через поиск. Обязательно на конце вашего юзернейма должно быть слово «bot» или «_bot». Например, SlytekShopBot;
5) По желанию можно сразу настроить полное или краткое описание и аватарку.
6) По итогу регистрации получаем наш токен — 12345678:QWErtYUIoPASDFGhJKLZXCVBnMdasd.
Будьте осторожны: никогда и никому не показывайте токен.

Получение ChatID администратора:
1) Откройте чат с созданным ботом в телеграме
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.tgnotify', 'onMessageGet', ['TgnotifyHandler', 'onMessageGet'] ); \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'slytek.tgnotify', 'onButtonsGet', ['TgnotifyHandler', 'onButtonsGet'] ); class TgnotifyHandler { 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.tgnotify'); echo 'https://t.me/КОД_БОТА?start='.\Slytek\Telegram\Notify::authLink();или по данным заказаhttps://t.me/КОД_БОТА?start=ID_ЗАКАЗА-ТЕЛЕФОН_ИЛИ_EMAIL или вида https://t.me/КОД_БОТА?start=base64_encode('ID_ЗАКАЗА|ТЕЛЕФОН_ИЛИ_EMAIL')