• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/bot/network.php
  • Класс: BitrixImBotBotNetwork
  • Вызов: Network::processIncomingKeyboard
static function processIncomingKeyboard(array $messageFields): ?Keyboard
{
	$keyboard = null;
	if (!empty($messageFields['KEYBOARD']))
	{
		$keyboardData = [];
		if (!isset($messageFields['KEYBOARD']['BUTTONS']))
		{
			$keyboardData['BUTTONS'] = $messageFields['KEYBOARD'];
		}
		else
		{
			$keyboardData = $messageFields['KEYBOARD'];
		}
		if (is_string($keyboardData))
		{
			$keyboardData = CUtil::jsObjectToPhp($keyboardData);
		}

		$keyboardData['BOT_ID'] = $messageFields['BOT_ID'] ?? static::getBotId();
		$keyboard = Keyboard::getKeyboardByJson($keyboardData);
	}

	return $keyboard;
}