• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/connector.php
  • Класс: BitrixImOpenLinesConnector
  • Вызов: Connector::onReceivedStatusWrites
static function onReceivedStatusWrites(Event $event)
{
	$params = $event->getParameters();
	if (empty($params))
	{
		return false;
	}

	if (!isset($params['message']['user_id']))
	{
		$params['message']['user_id'] = $params['user'];
	}

	$fields = [
		'connector' => [
			'connector_id' => $params['connector'],
			'line_id' => $params['line'],
			'chat_id' => $params['chat']['id'],
			'user_id' => $params['user'],
		],
		'chat' => $params['chat'],
		'message' => $params['message']
	];

	$skipCreate = true;

	$session = new Session();
	$resultLoadSession = $session->load([
		'USER_CODE' => self::getUserCode($fields['connector']),
		'CONNECTOR' => $fields,
		'SKIP_CREATE' => $skipCreate? 'Y': 'N'
	]);
	if (!$resultLoadSession)
	{
		return false;
	}

	$chatId = $session->getChat()->getData('ID');

	if (BitrixMainLoader::includeModule('im'))
	{
		CIMMessenger::StartWriting('chat'.$chatId, $params['user'], "", true);
	}

	return true;
}