- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/controller/jitsilite.php
- Класс: BitrixImControllerJitsiLite
- Вызов: JitsiLite::createConferenceAction
public function createConferenceAction(string $dialogId, CurrentUser $currentUser)
{
if (!BitrixImDialog::hasAccess($dialogId, $currentUser->getId()))
{
$this->addError(new Error("You must be a member of the chat to call it"));
return null;
}
$chatId = Dialog::getChatId($dialogId);
$aliasData = Alias::addUnique([
"ENTITY_TYPE" => Alias::ENTITY_TYPE_JITSICONF,
"ENTITY_ID" => $chatId
]);
$message = Loc::getMessage("IM_JITSI_LITE_INVITE_TO_CONF");
$keyboard = new BitrixImBotKeyboard();
$keyboard->addButton([
"TEXT" => Loc::getMessage("IM_JITSI_LITE_OPEN_CONF"),
"FUNCTION" => "if ('BXIM' in window) {BXIM.openVideoconf('{$aliasData['ALIAS']}')} else {ChatUtils.openVideoconf('{$aliasData['ALIAS']}')};",
"BG_COLOR" => "#29619b",
"TEXT_COLOR" => "#fff",
"DISPLAY" => "LINE",
]);
CIMChat::AddMessage([
"FROM_USER_ID" => $currentUser->getId(),
"TO_CHAT_ID" => $chatId,
"MESSAGE" => $message,
"SYSTEM" => 'Y',
"KEYBOARD" => $keyboard,
]);
return [
'ALIAS_DATA' => $aliasData
];
}