• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/control/task.php
  • Класс: BitrixTasksControlTask
  • Вызов: Task::sendAddIntegrationEvent
private function sendAddIntegrationEvent(array $fields): void
{
	$application = Application::getInstance();

	if (
		array_key_exists('IM_CHAT_ID', $fields)
		&& $fields['IM_CHAT_ID'] > 0
		&& Loader::includeModule('im')
		&& method_exists(BitrixImV2ServiceMessenger::class, 'registerTask')
	)
	{
		$task = $this->getTask();
		$application && $application->addBackgroundJob(
			function () use ($fields, $task)
			{
				$messageId = 0;

				if (isset($fields['IM_MESSAGE_ID']) && $fields['IM_MESSAGE_ID'] > 0)
				{
					$messageId = $fields['IM_MESSAGE_ID'];
				}

				BitrixImV2ServiceLocator::getMessenger()->registerTask($fields['IM_CHAT_ID'], $messageId, $task);
			}
		);
	}
}