• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/bot/partner24.php
  • Класс: BitrixImBotBotPartner24
  • Вызов: Partner24::sendMessageForRecent
static function sendMessageForRecent($message)
{
	$users = [self::getBotId()];
	$chats = [];
	foreach (self::getRecentDialogs() as $dialog)
	{
		if ($dialog['MESSAGE_TYPE'] == IM_MESSAGE_CHAT && in_array($dialog['CHAT_ID'], $chats))
		{
			continue;
		}
		elseif ($dialog['MESSAGE_TYPE'] == IM_MESSAGE_PRIVATE && in_array($dialog['USER_ID'], $users))
		{
			continue;
		}

		if ($dialog['MESSAGE_TYPE'] == IM_MESSAGE_CHAT)
		{
			$chats[] = $dialog['CHAT_ID'];
		}
		elseif ($dialog['MESSAGE_TYPE'] == IM_MESSAGE_PRIVATE)
		{
			$users[] = $dialog['USER_ID'];
		}

		if ($dialog['RECENTLY_TALK'] == 'Y' && $dialog['MESSAGE_TYPE'] == IM_MESSAGE_PRIVATE)
		{
			self::sendMessage([
				'DIALOG_ID' => $dialog['USER_ID'],
				'MESSAGE' => $message,
				'SYSTEM' => 'N',
				'URL_PREVIEW' => 'N'
			]);
		}
		else
		{
			ImModelMessageTable::add([
				'CHAT_ID' => $dialog['CHAT_ID'],
				'AUTHOR_ID' => self::getBotId(),
				'MESSAGE' => self::replacePlaceholders($message, $dialog['USER_ID'])
			]);
		}
	}

	return true;
}