• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Import/ImportSendingService.php
  • Класс: BitrixImV2ImportImportSendingService
  • Вызов: ImportSendingService::getKeyboard
private function getKeyboard(array $message): Result
{
	$result = new Result();
	$keyboard = null;
	if (isset($message['keyboard']))
	{
		if ($message['keyboard'] === 'N')
		{
			return $result->setResult('N');
		}
		$keyboard = [];
		if (!isset($message['keyboard']['BUTTONS']))
		{
			$keyboard['BUTTONS'] = $message['keyboard'];
		}
		else
		{
			$keyboard = $message['keyboard'];
		}
		$keyboard['BOT_ID'] = $message['botId'];
		$keyboard = BitrixImBotKeyboard::getKeyboardByJson($keyboard);
		if (!isset($keyboard))
		{
			return $result->addError(new ImportError('KEYBOARD_ERROR', 'Incorrect keyboard params'));
		}
		if (!$keyboard->isAllowSize())
		{
			return $result->addError(new ImportError('KEYBOARD_OVERSIZE', 'You have exceeded the maximum allowable size of keyboard'));
		}
	}

	return $result->setResult($keyboard);
}