Спецификация параметров команды
Тип: str
Определяет тип параметра. Должен быть одним из:
"str"
— строка"int"
— целое число"float"
— дробное число"bool"
— булево значение"list"
— массив"dict"
— объект (словарь)
"int"
, "list"
Тип: bool
Если True
, параметр должен быть обязательно передан при вызове команды.
True
, False
Тип: str
Человекочитаемое описание назначения параметра. Отображается в интерфейсе.
"Уровень яркости"
, "Включить режим энергосбережения"
Тип: зависит от type
Значение, используемое по умолчанию, если параметр не передан.
str
:"auto"
int
:0
bool
:False
list
:[]
dict
:{}
42
, ["a"]
, {"mode": "fast"}
-
min_value
,max_value
— дляint
,float
Например:min_value: 0.5
-
min_length
,max_length
— дляstr
,list
Например:max_length: 100
-
choices
— список допустимых значений (дляstr
,int
,float
)
Например:["on", "off"]
-
pattern
— регулярное выражение дляstr
Например:"^[A-Z][0-9]{3}$"
Тип: любой
Пример корректного значения. Показывается как подсказка пользователю.
"night"
, 99.5
, [1, 2, 3]
, {"key": "value"}
Пример:
Объединённый пример с разными типами параметров.
# Полная спецификация параметров команды
param_specs = {
"message": {
"type": "str",
"required": True,
"description": "Текст сообщения для вывода",
"min_length": 1,
"max_length": 200,
"example": "Привет, мир!"
},
"brightness": {
"type": "int",
"required": False,
"description": "Уровень яркости экрана",
"default": 50,
"min_value": 0,
"max_value": 100,
"example": 75
},
"enabled": {
"type": "bool",
"required": False,
"description": "Включить или отключить устройство",
"default": True,
"example": False
},
"mode": {
"type": "str",
"required": True,
"description": "Режим работы устройства",
"choices": ["auto", "manual", "eco", "turbo"],
"example": "eco"
},
"serial_number": {
"type": "str",
"required": True,
"description": "Серийный номер устройства (формат: буква + 4 цифры)",
"pattern": "^[A-Z][0-9]{4}$",
"example": "X1234"
},
"tags": {
"type": "list",
"required": False,
"description": "Список меток для устройства",
"default": [],
"min_length": 0,
"max_length": 10,
"example": ["sensor", "room1", "active"]
},
"config": {
"type": "dict",
"required": False,
"description": "Дополнительные настройки в формате JSON",
"default": {},
"example": {"timeout": 30, "retries": 3}
},
"timeout": {
"type": "float",
"required": False,
"description": "Время ожидания ответа в секундах",
"default": 5.0,
"min_value": 0.1,
"max_value": 60.0,
"example": 10.5
}
}