- Модуль: 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;
}