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

app.core

Сведения о юзерботе, настройки ядра, конфигурация и алиасы команд экземпляров.

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

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

info = await app.core.info()

__init__

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

def __init__(app: App) -> None: ...

Аргументы

Результат

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

Права

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

Ошибки

Пример

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

settings_object

Создаёт редактируемый снимок общих настроек. Для загрузки вызови load().

def settings_object() -> Settings: ...

Аргументы

Нет.

Результат

Settings. Создаёт редактируемый снимок общих настроек. Для загрузки вызови load().

Права

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

Ошибки

Пример

result = app.core.settings_object()

configuration_object

Создаёт объект конфигурации выбранного экземпляра модуля.

def configuration_object(instance: str) -> Settings: ...

Аргументы

Результат

Settings. Создаёт объект конфигурации выбранного экземпляра модуля.

Права

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

Ошибки

Пример

result = app.core.configuration_object("module-id/main")

commands_object

Создаёт объект алиасов команд выбранного экземпляра.

def commands_object(instance: str) -> Settings: ...

Аргументы

Результат

Settings. Создаёт объект алиасов команд выбранного экземпляра.

Права

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

Ошибки

Пример

result = app.core.commands_object("module-id/main")

iter_modules

Перебирает все доступные экземпляры, автоматически получая следующие порции. В список входят экземпляры, у которых есть конфигурация или команды; это список конфигуратора, а не всех установленных пакетов.

async def iter_modules() -> AsyncIterator[ModuleInfo]: ...

Аргументы

Нет.

Результат

AsyncIterator[ModuleInfo]. Перебирает все доступные экземпляры, автоматически получая следующие порции.

Права

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

Ошибки

Пример

async for value in app.core.iter_modules():
    break

info

Возвращает версию ядра, отображаемое имя владельца, префикс, время работы ядра и количество установленных и запущенных экземпляров. Сетевые и RAM-метрики в этот ответ не входят.

async def info() -> CoreInfo: ...

Аргументы

Нет.

Результат

CoreInfo. Словарь version, name, prefix, uptime (секунды), modules и running.

Права

Нужны core.info.

Ошибки

Пример

result = await app.core.info()

modules

Возвращает порцию экземпляров и следующий offset; None завершает список. В список входят экземпляры, у которых есть конфигурация или команды; это список конфигуратора, а не всех установленных пакетов.

async def modules(offset: int = 0) -> ModulesPage: ...

Аргументы

Результат

ModulesPage. Возвращает порцию экземпляров и следующий offset; None завершает список.

Права

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

Ошибки

Пример

result = await app.core.modules()

settings

Получает значения, описания полей и ревизию общих настроек.

async def settings() -> SettingsSnapshot: ...

Аргументы

Нет.

Результат

SettingsSnapshot. Получает значения, описания полей и ревизию общих настроек.

Права

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

Ошибки

Пример

result = await app.core.settings()

preferences

Применяет изменения общих настроек только при совпадении revision.

async def preferences(values: dict[str, JSON], revision: int) -> RevisionResult: ...

Аргументы

Результат

RevisionResult. Словарь {revision: int} с новой ревизией.

Права

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

Ошибки

Пример

result = await app.core.preferences({"count": 1}, record.revision)

commands

Получает алиасы и ревизию команд экземпляра.

async def commands(instance: str) -> SettingsSnapshot: ...

Аргументы

Результат

SettingsSnapshot. Получает алиасы и ревизию команд экземпляра.

Права

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

Ошибки

Пример

result = await app.core.commands("module-id/main")

aliases

Применяет новые алиасы команд выбранного экземпляра с проверкой ревизии.

async def aliases(instance: str, values: dict[str, JSON], revision: int) -> RevisionResult: ...

Аргументы

Результат

RevisionResult. Словарь {revision: int} с новой ревизией.

Права

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

Ошибки

Пример

result = await app.core.aliases("module-id/main", {"count": 1}, record.revision)

configuration

Получает значения, поля и ревизию конфигурации экземпляра.

async def configuration(instance: str) -> SettingsSnapshot: ...

Аргументы

Результат

SettingsSnapshot. Получает значения, поля и ревизию конфигурации экземпляра.

Права

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

Ошибки

Пример

result = await app.core.configuration("module-id/main")

configure

Применяет изменения конфигурации экземпляра с проверкой ревизии. Секретные поля не раскрываются.

async def configure(instance: str, values: dict[str, JSON], revision: int) -> RevisionResult: ...

Аргументы

Результат

RevisionResult. Словарь {revision: int} с новой ревизией.

Права

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

Ошибки

Пример

result = await app.core.configure("module-id/main", {"count": 1}, record.revision)