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