• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/im/chat.php
  • Класс: Bitrix\Crm\Integration\Im\Chat
  • Вызов: Chat::OnAfterMessagesAdd
static function OnAfterMessagesAdd($messageId, $messageFields): void
{
	if (
		$messageId <= 0
		|| empty($messageFields['CHAT_ENTITY_ID'])
		|| !Main\Loader::includeModule('im')
		|| !Main\Loader::includeModule('imopenlines')
	)
	{
		return;
	}

	$activity = static::getOpenLineLastActivity((string)$messageFields['CHAT_ENTITY_ID']);
	if (empty($activity) || $activity['RESPONSIBLE_ID'] <= 0)
	{
		return;
	}

	// open activity again when user send message (but ignore system messages)
	if ($activity['COMPLETED'] === 'Y' && $messageFields['SYSTEM'] !== 'Y')
	{
		\CCrmActivity::Update($activity['ID'], ['COMPLETED' => false]);
	}

	static::tryNotifyAboutChatChanges(
		$activity,
		static::ACTION_ADD,
		(int)$messageFields['FROM_USER_ID']
	);
}