- Модуль: imbot
- Путь к файлу: ~/bitrix/modules/imbot/lib/service/notifier.php
- Класс: BitrixImBotServiceNotifier
- Вызов: Notifier::createChannel
static function createChannel(): Result
{
$result = new Result;
/**
* @global CMain $APPLICATION
*/
global $APPLICATION;
$classSupport = self::detectSupportBot();
$adminGroupUsers = self::getAdminGroupUsers();
$adminGroupUsers[] = $classSupport::getBotId();
// create group chat
$chat = new CIMChat(0);
$chatId = $chat->add([
'AUTHOR_ID' => $classSupport::getBotId(),
'USERS' => $adminGroupUsers,
'TITLE' => self::getChannelName(),
'TYPE' => IM_MESSAGE_CHAT,
'ENTITY_TYPE' => self::CHAT_ENTITY_TYPE,
'ENTITY_ID' => $classSupport::getBotId(),
]);
if ($chatId)
{
$result->setData(['chatId' => $chatId]);
}
else
{
/**
* @var CApplicationException $error
*/
$error = $APPLICATION->getException();
if ($error)
{
$result->addError(new MainError($error->getString(), $error->getId()));
}
else
{
$result->addError(new MainError(
'Cannot initiate chat with admin group',
'ERROR_CHAT_CREATION'
));
}
}
return $result;
}