Веб-мессенджер
Описание
Как инструмент номер один, Веб-мессенджер дополняет привычные способы общения - телефон и электронную почту.
Интерактивный инструмент – Веб-мессенджер позволяет эффективно общаться и получать информацию прямо через браузер:
- пользователи портала общаются посредством мгновенных персональных сообщений (как в интернет-мессенджерах);
- список контактов формируется согласно структуре компании;
- центр нотификации выводит информацию о новых событиях на портале;
- индицируется присутствие сотрудника на портале (онлайн);
- присутствующие на портале сотрудники ведут «живой» диалог;
- уведомления о новых сообщениях появляются на любой странице портала;
- не работающим в текущий момент на портале пользователям сообщения доставляются позже;
- ведется архив сообщений диалогов пользователей;
- просмотреть личную переписку сотрудник также может из профиля другого пользователя («Показать переписку»).
Использование Веб-мессенджера отменяет необходимость установки в компании XMPP серверов и специальных Jabber клиентов. Реализован мессенджер с использованием всех инноваций современных браузеров (используется HTML5, local storage и т.д.).
Примеры использования
Для добавления сообщения в чат, необходимо знать ID нужного чата и выполнить метод отправки сообщения в чат. Для получения ID нужно, нужно в нужном чате отправить сообщение /getChatId
и посмотреть номер чата:
В нужном месте кода, вызвать следующие API:
if (CModule::IncludeModule('im')) { $ar = Array( "TO_CHAT_ID" => 21441, // ID чата "FROM_USER_ID" => 1, // ID пользователя состоящего в чате "MESSAGE" => "Сообщение от пользователя", // Произвольный текст ); CIMChat::AddMessage($ar); }
Результат:
Отправить системное сообщение:
if (CModule::IncludeModule('im')) { $ar = Array( "TO_CHAT_ID" => 21441, // ID чата "FROM_USER_ID" => 0, "SYSTEM" => Y, "MESSAGE" => "Системное сообщение", // Произвольный текст ); CIMChat::AddMessage($ar); }
Создание чата
<?php if (\Bitrix\Main\Loader::includeModule('im')) { $pic = $_SERVER['DOCUMENT_ROOT'] . '/test.jpg'; $avatarId = \CFile::SaveFile(\CFile::MakeFileArray($pic), 'im'); $chat = new \CIMChat; $chat->Add(array( 'TITLE' => 'Тестовый чат', 'DESCRIPTION' => 'Описание тестового чата', 'COLOR' => 'RED',//цвет 'TYPE' => IM_MESSAGE_OPEN,//тип чата 'AUTHOR_ID' => '1',//владелец чата 'AVATAR_ID' => $avatarId,//аватарка чата 'USERS' => false, )); } //TYPE = IM_MESSAGE_CHAT – закрытый чат //список доступных цветов: \Bitrix\Im\Color::getSafeColors()
Приглашение в чат
<?php //приглашение в чат if (\Bitrix\Main\Loader::includeModule('im')) { $chat = new \CIMChat; $chat->AddUser($chatId, $userId, $hideHistory = null, $skipMessage = false); //userId - может быть массивом пользователя; //hideHistory - скрыть сообщения которые были до момента входа, true/false - по умолчанию берется то значение, //которое выставлено в настройках модуля, для Б24 по умолчанию скрыть, для БУС показать. //skipMessage - пропустить стандартное сообщение о включении участника, по умолчанию false. Например для того // что бы опубликовать самому какое то сообщение. } //поиск чата по определенным параметрам if (\Bitrix\Main\Loader::includeModule('im')) { $chat = new \CIMChat; $res = \Bitrix\Im\chatTable::getList(array( 'filter' => array( 'TITLE' => '%красный%' ) )); if ($row = $res->fetch()) { } }
Написать в чат
<?php if (\Bitrix\Main\Loader::includeModule('im')) { \CIMChat::AddMessage(array( 'FROM_USER_ID' => 1, //id автора 'TO_CHAT_ID' => 19, //id чата 'MESSAGE' => 'Пишу в чат #19' )); } if (\Bitrix\Main\Loader::includeModule('im')) { \CIMChat::AddSystemMessage(array( 'FROM_USER_ID' => 1, //id автора 'CHAT_ID' => 19, //id чата 'MESSAGE' => 'Шлю системное уведомление' )); }
Написать в чат лично
<?php if (\Bitrix\Main\Loader::includeModule('im')) { \CIMMessage::Add(array( 'FROM_USER_ID' => 1, 'TO_USER_ID' => 21, 'MESSAGE' => 'Пишу в чат тебе', )); }