- Модуль: imbot
- Путь к файлу: ~/bitrix/modules/imbot/lib/bot/network.php
- Класс: BitrixImBotBotNetwork
- Вызов: Network::clientMessageAdd
static function clientMessageAdd(array $fields)
{
$user = self::getUserInfo((int)$fields['USER_ID']);
$portalTariff = 'box';
$portalTariffLevel = 'paid';
$userLevel = self::USER_LEVEL_ADMIN;
$portalType = 'PRODUCTION';
$portalTariffName = '';
$portalCreateTime = '';
$demoStartTime = 0;
$botVersion = '';
if (MainLoader::includeModule('bitrix24'))
{
$portalTariff = CBitrix24::getLicenseType();
$portalTariffName = CBitrix24::getLicenseName();
$portalCreateTime = CBitrix24::getCreateTime();
if (CBitrix24::isDemoLicense())
{
$portalTariff = CBitrix24::getLicenseType(CBitrix24::LICENSE_TYPE_PREVIOUS);
$portalTariff = $portalTariff.'+demo';
$portalTariffName = CBitrix24::getLicenseName("", CBitrix24::LICENSE_TYPE_PREVIOUS);
$demoStartTime = (int)Option::get("bitrix24", "DEMO_START");
}
if (!$portalCreateTime)
{
$portalCreateTime = time();
}
if (CBitrix24::isIntegrator($fields['USER_ID']))
{
$userLevel = self::USER_LEVEL_INTEGRATOR;
}
elseif (CBitrix24::isPortalAdmin($fields['USER_ID']))
{
$userLevel = self::USER_LEVEL_ADMIN;
}
else
{
$userLevel = self::USER_LEVEL_REGULAR;
}
$portalType = self::getPortalStage();
$portalTariffLevel = Support24::getSupportLevel();
}
else
{
$botVersion = MainModuleManager::getVersion('imbot');
}
$user = array_merge($user, [
'TARIFF' => $portalTariff,
'TARIFF_NAME' => $portalTariffName,
'TARIFF_LEVEL' => $portalTariffLevel,
'GEO_DATA' => self::getUserGeoData(),
'REGISTER' => $portalCreateTime,
'DEMO' => $demoStartTime,
'USER_LEVEL' => $userLevel,
'PORTAL_TYPE' => $portalType,
'BOT_VERSION' => $botVersion,
]);
$messageId = is_array($fields['MESSAGE']) ? (int)$fields['MESSAGE']['ID'] : 0;
$messageText = is_array($fields['MESSAGE']) ? (string)$fields['MESSAGE']['TEXT'] : (string)$fields['MESSAGE'];
$http = self::instanceHttpClient();
$response = $http->query(
'clientMessageAdd',
[
'BOT_ID' => $fields['BOT_ID'],
'DIALOG_ID' => $fields['DIALOG_ID'],
'MESSAGE_ID' => $messageId,
'MESSAGE_TEXT' => $messageText,
'FILES' => $fields['FILES'] ?? null,
'ATTACH' => $fields['ATTACH'] ?? null,
'PARAMS' => $fields['PARAMS'] ?? null,
'USER' => $user,
'FILES_RAW' => $fields['FILES_RAW'] ?? null,
'EXTRA_DATA' => $fields['EXTRA_DATA'] ?? null,
]
);
return $response;
}