Cluster · разработчикам

Settings

Редактируемый снимок настроек ядра, конфигурации или алиасов. secret и file через этот объект не изменяются.

Все методы SDK · Типы и ошибки

Получение объекта

settings = await app.core.settings_object().load()

settings загружен через load() в действующем личном событии овнера.

Наследует Document. Унаследованные методы: path, dirty, get, parent, remove, rename, append, insert, move, sort, increment, reset, accept.

__init__

Создаёт Settings. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

def __init__(core: Core, kind: str = 'settings', instance: str | None = None) -> None: ...

Аргументы

Результат

None. Создаёт Settings. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

# Обычный способ получения объекта:
settings = await app.core.settings_object().load()

load

Получает значения, описания полей и ревизию нужного раздела; принимает новый исходный снимок.

async def load() -> Self: ...

Аргументы

Нет.

Результат

Self. Тот же объект после успешной операции. Получает значения, описания полей и ревизию нужного раздела; принимает новый исходный снимок.

Права

Нужны core.configure для settings; modules.configure для commands/configuration. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.

Ошибки

Пример

result = await settings.load()

set

Меняет известное поле в локальном снимке с проверкой его схемы. Перед изменениями нужен load().

def set(path: str, value: JSON) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Меняет известное поле в локальном снимке с проверкой его схемы. Перед изменениями нужен load().

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = settings.set("prefix", "!")

default

Локально возвращает поле к объявленному значению по умолчанию.

def default(name: str) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Локально возвращает поле к объявленному значению по умолчанию.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = settings.default("status")

save

Отправляет только изменённые поля с проверкой revision. Неизменённый снимок не создаёт запрос. Набор ключей менять нельзя.

async def save() -> Self: ...

Аргументы

Нет.

Результат

Self. Тот же объект после успешной операции. Отправляет только изменённые поля с проверкой revision. Неизменённый снимок не создаёт запрос. Набор ключей менять нельзя.

Права

Нужны core.configure для settings; modules.configure для commands/configuration. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.

Ошибки

Пример

result = await settings.save()

__aenter__

Вход в async with. Загружает настройки и их ревизию.

async def __aenter__() -> Self: ...

Аргументы

Нет.

Результат

Self. Тот же объект после успешной операции. Вход в async with. Загружает настройки и их ревизию.

Права

Нужны core.configure для settings; modules.configure для commands/configuration. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.

Ошибки

Пример

async with settings as active:
    pass

__aexit__

Выход из async with. При успешном выходе сохраняет только изменённые настройки; при исключении не сохраняет. Исключения блока не подавляются.

async def __aexit__(kind: type[BaseException] | None, error: BaseException | None, traceback: TracebackType | None) -> None: ...

Аргументы

Результат

None. Выход из async with. При успешном выходе сохраняет только изменённые настройки; при исключении не сохраняет. Исключения блока не подавляются.

Права

Нужны core.configure для settings; modules.configure для commands/configuration. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.

Ошибки

Пример

async with settings as active:
    pass