- Модуль: imconnector
- Путь к файлу: ~/bitrix/modules/imconnector/lib/provider/messageservice/input.php
- Класс: BitrixImConnectorProviderMessageserviceInput
- Вызов: Input::prepareMessageParams
private function prepareMessageParams(array $params): array
{
$message = [
'message' => [
'id' => $params['id'],
],
'user' => [
'id' => $params['address'],
'phone' => $params['address'],
'name' => $params['userName'],
],
'chat' => [
'id' => $params['address'] . '@' . $params['imSubject'],
],
];
$lastMessage = $this->getSentTemplateMessage($params['imSubject'], $params['address']);
if ($lastMessage !== '')
{
$message['chat']['last_message'] = $lastMessage;
}
if (
$params['contentType'] === 'text'
|| $params['contentType'] === 'button'
)
{
$message['message']['text'] = $params['text'];
}
if ($params['avatarUrl'])
{
$message['user']['picture'] = ['url' => $params['avatarUrl']];
}
if (
$params['contentType'] === 'image'
|| $params['contentType'] === 'video'
|| $params['contentType'] === 'document'
|| $params['contentType'] === 'audio'
)
{
$file = [];
$file['url'] = $params['attachmentUrl'];
if (isset($params['attachmentName']))
{
$file['name'] = $params['attachmentName'];
}
$message['message']['files'] = [$file];
if (isset($params['caption']) && !is_null($params['caption']))
{
$message['message']['text'] = $params['caption'];
}
}
return $message;
}