Cluster · разработчикам
Field
Описание одного поля конфигурации. Окончательная проверка описания выполняется в build().
Все методы SDK · Типы и ошибки
Получение объекта
field = app.config.field("integer").default(5).bounds(1, 10)__init__
Создаёт Field. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(kind: str, **options: JSON) -> None: ...Аргументы
kind: str, обязательный. Тип string, secret, integer, number, boolean, chat, user, file, select, list или json.options: JSON, произвольные именованные аргументы. Поля: label: str | dict[str, str], default: JSON, required: bool, min/max: float, choices: list[str | int | bool], items: str, when: {field: str, equals: JSON}. Для list значение items: string, integer, number, boolean, chat или user; исходно string. Это имя типа элемента, не вложенная схема. Проверка build() обязательна.
Результат
None. Создаёт Field. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Unknown field type'): условие проверяется до продолжения операции.
Пример
# Обычный способ получения объекта:
field = app.config.field("integer").default(5).bounds(1, 10)label
Задаёт подпись поля, включая словарь локализаций.
def label(value: str | dict[str, str]) -> Self: ...Аргументы
value: str | dict[str, str], обязательный. Подпись либо словарь локализаций ru/en.
Результат
Self. Тот же объект после успешной операции. Задаёт подпись поля, включая словарь локализаций.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = field.label("Title")default
Задаёт исходное JSON-значение. Для secret и file разрешено только пустое значение.
def default(value: JSON) -> Self: ...Аргументы
value: JSON, обязательный. JSON-значение: только поддерживаемые типы; NaN, бесконечность и произвольные объекты запрещены.
Результат
Self. Тот же объект после успешной операции. Задаёт исходное JSON-значение. Для secret и file разрешено только пустое значение.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Do not embed secrets or file IDs in defaults'): условие проверяется до продолжения операции.
Пример
field.default(5)bounds
Задаёт границы min и max; None удаляет соответствующую границу. min не должен превышать max.
def bounds(minimum: float | None = None, maximum: float | None = None) -> Self: ...Аргументы
minimum: float | None, по умолчаниюNone. Граница min/max поля, конечное число от -1e12 до 1e12; None снимает границу.maximum: float | None, по умолчаниюNone. Верхняя граница поля от -1e12 до 1e12 либо None для снятия.
Результат
Self. Тот же объект после успешной операции. Задаёт границы min и max; None удаляет соответствующую границу. min не должен превышать max.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Invalid bounds'): условие проверяется до продолжения операции.ValueError('Invalid bound'): условие проверяется до продолжения операции.
Пример
field.bounds(1, 10)choices
Задаёт от 1 до 100 уникальных вариантов для select с учётом типов значений.
def choices(*values: str | int | bool) -> Self: ...Аргументы
values: str | int | bool, позиционные значения. Позиционные варианты select; от 1 до 100 уникальных с учётом типа.
Результат
Self. Тот же объект после успешной операции. Задаёт от 1 до 100 уникальных вариантов для select с учётом типов значений.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('A select field needs choices'): условие проверяется до продолжения операции.ValueError('Choices must be strings, integers or booleans'): условие проверяется до продолжения операции.ValueError('Duplicate choices'): условие проверяется до продолжения операции.
Пример
field = app.config.field("select").choices("first", "second")when
Задаёт условие видимости по значению другого поля.
def when(field: str, equals: JSON) -> Self: ...Аргументы
field: str, обязательный. ID поля конфигурации либо имя аргумента пагинации.equals: JSON, обязательный. JSON-значение: только поддерживаемые типы; NaN, бесконечность и произвольные объекты запрещены.
Результат
Self. Тот же объект после успешной операции. Задаёт условие видимости по значению другого поля.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
field.when("enabled", True)required
Включает или выключает обязательность поля.
def required(value: bool = True) -> Self: ...Аргументы
value: bool, по умолчаниюTrue. True делает поле обязательным, False снимает обязательность.
Результат
Self. Тот же объект после успешной операции. Включает или выключает обязательность поля.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
TypeError('A boolean is required'): условие проверяется до продолжения операции.
Пример
field.required(True)build
Проверяет описание и возвращает его независимую JSON-копию. У list items задаётся именем простого типа и исходно равно string; у select требуется непустой choices.
def build() -> FieldDefinition: ...Аргументы
Нет.
Результат
FieldDefinition. Проверяет описание и возвращает его независимую JSON-копию. У list items задаётся именем простого типа и исходно равно string; у select требуется непустой choices.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Unknown field option'): условие проверяется до продолжения операции.ValueError('A select field needs choices'): условие проверяется до продолжения операции.TypeError('A boolean is required'): условие проверяется до продолжения операции.ValueError('Invalid list item type'): условие проверяется до продолжения операции.
Пример
result = field.build()