• Модуль: imconnector
  • Путь к файлу: ~/bitrix/modules/imconnector/lib/provider/network/output.php
  • Класс: BitrixImConnectorProviderNetworkOutput
  • Вызов: Output::addEventSession
protected function addEventSession($eventName, array $data, bool $immediately = false): Result
{
	$result = clone $this->result;

	if($result->isSuccess())
	{
		foreach ($data as $message)
		{
			$args = [
				'LINE_ID' => $this->line,
				'GUID' => $message['chat']['id'],
				'USER' => $message['user']['id'],
				'SESSION_ID' => $message['session']['id'],
				'PARENT_ID' => $message['session']['parent_id'],
				'CLOSE_TERM' => $message['session']['close_term'],
			];

			if ($immediately)
			{
				BitrixImBotServiceOpenlines::$eventName($args);
			}
			else
			{
				Application::getInstance()->addBackgroundJob(
					[BitrixImBotServiceOpenlines::class, $eventName],
					[$args],
					Application::JOB_PRIORITY_LOW
				);
			}
		}
	}

	return $result;
}