Cluster · разработчикам
app.core
Сведения о юзерботе, настройки ядра, конфигурация и алиасы команд экземпляров.
Все методы SDK · Типы и ошибки
Получение объекта
info = await app.core.info()__init__
Создаёт Core. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(app: App) -> None: ...Аргументы
app: App, обязательный. Переданный ядром объект app. Второй App в модуле создавать не нужно.
Результат
None. Создаёт Core. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
info = await app.core.info()settings_object
Создаёт редактируемый снимок общих настроек. Для загрузки вызови load().
def settings_object() -> Settings: ...Аргументы
Нет.
Результат
Settings. Создаёт редактируемый снимок общих настроек. Для загрузки вызови load().
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.core.settings_object()configuration_object
Создаёт объект конфигурации выбранного экземпляра модуля.
def configuration_object(instance: str) -> Settings: ...Аргументы
instance: str, обязательный. Полный ID экземпляра в виде module/slot. None допустимо только там, где это задано сигнатурой.
Результат
Settings. Создаёт объект конфигурации выбранного экземпляра модуля.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.core.configuration_object("module-id/main")commands_object
Создаёт объект алиасов команд выбранного экземпляра.
def commands_object(instance: str) -> Settings: ...Аргументы
instance: str, обязательный. Полный ID экземпляра в виде module/slot. None допустимо только там, где это задано сигнатурой.
Результат
Settings. Создаёт объект алиасов команд выбранного экземпляра.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.core.commands_object("module-id/main")iter_modules
Перебирает все доступные экземпляры, автоматически получая следующие порции. В список входят экземпляры, у которых есть конфигурация или команды; это список конфигуратора, а не всех установленных пакетов.
async def iter_modules() -> AsyncIterator[ModuleInfo]: ...Аргументы
Нет.
Результат
AsyncIterator[ModuleInfo]. Перебирает все доступные экземпляры, автоматически получая следующие порции.
Права
Нужны modules.configure. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.
Ошибки
RuntimeError('The module cursor did not advance'): условие проверяется до продолжения операции.- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
async for value in app.core.iter_modules():
breakinfo
Возвращает версию ядра, отображаемое имя владельца, префикс, время работы ядра и количество установленных и запущенных экземпляров. Сетевые и RAM-метрики в этот ответ не входят.
async def info() -> CoreInfo: ...Аргументы
Нет.
Результат
CoreInfo. Словарь version, name, prefix, uptime (секунды), modules и running.
Права
Нужны core.info.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.core.info()modules
Возвращает порцию экземпляров и следующий offset; None завершает список. В список входят экземпляры, у которых есть конфигурация или команды; это список конфигуратора, а не всех установленных пакетов.
async def modules(offset: int = 0) -> ModulesPage: ...Аргументы
offset: int, по умолчанию0. Смещение порции либо байтов, начиная с нуля.
Результат
ModulesPage. Возвращает порцию экземпляров и следующий offset; None завершает список.
Права
Нужны modules.configure. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.core.modules()settings
Получает значения, описания полей и ревизию общих настроек.
async def settings() -> SettingsSnapshot: ...Аргументы
Нет.
Результат
SettingsSnapshot. Получает значения, описания полей и ревизию общих настроек.
Права
Нужны core.configure. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.core.settings()preferences
Применяет изменения общих настроек только при совпадении revision.
async def preferences(values: dict[str, JSON], revision: int) -> RevisionResult: ...Аргументы
values: dict[str, JSON], обязательный. Только изменяемые поля выбранного раздела со значениями по его fields. Для configure нельзя менять secret/file; aliases принимает строки имён команд.revision: int, обязательный. Целочисленная ревизия из последнего снимка. При несовпадении ядро возвращает Conflict.
Результат
RevisionResult. Словарь {revision: int} с новой ревизией.
Права
Нужны core.configure. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.core.preferences({"count": 1}, record.revision)commands
Получает алиасы и ревизию команд экземпляра.
async def commands(instance: str) -> SettingsSnapshot: ...Аргументы
instance: str, обязательный. Полный ID экземпляра в виде module/slot. None допустимо только там, где это задано сигнатурой.
Результат
SettingsSnapshot. Получает алиасы и ревизию команд экземпляра.
Права
Нужны modules.configure. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.core.commands("module-id/main")aliases
Применяет новые алиасы команд выбранного экземпляра с проверкой ревизии.
async def aliases(instance: str, values: dict[str, JSON], revision: int) -> RevisionResult: ...Аргументы
instance: str, обязательный. Полный ID экземпляра в виде module/slot. None допустимо только там, где это задано сигнатурой.values: dict[str, JSON], обязательный. Только изменяемые поля выбранного раздела со значениями по его fields. Для configure нельзя менять secret/file; aliases принимает строки имён команд.revision: int, обязательный. Целочисленная ревизия из последнего снимка. При несовпадении ядро возвращает Conflict.
Результат
RevisionResult. Словарь {revision: int} с новой ревизией.
Права
Нужны modules.configure. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.core.aliases("module-id/main", {"count": 1}, record.revision)configuration
Получает значения, поля и ревизию конфигурации экземпляра.
async def configuration(instance: str) -> SettingsSnapshot: ...Аргументы
instance: str, обязательный. Полный ID экземпляра в виде module/slot. None допустимо только там, где это задано сигнатурой.
Результат
SettingsSnapshot. Получает значения, поля и ревизию конфигурации экземпляра.
Права
Нужны modules.configure. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.core.configuration("module-id/main")configure
Применяет изменения конфигурации экземпляра с проверкой ревизии. Секретные поля не раскрываются.
async def configure(instance: str, values: dict[str, JSON], revision: int) -> RevisionResult: ...Аргументы
instance: str, обязательный. Полный ID экземпляра в виде module/slot. None допустимо только там, где это задано сигнатурой.values: dict[str, JSON], обязательный. Только изменяемые поля выбранного раздела со значениями по его fields. Для configure нельзя менять secret/file; aliases принимает строки имён команд.revision: int, обязательный. Целочисленная ревизия из последнего снимка. При несовпадении ядро возвращает Conflict.
Результат
RevisionResult. Словарь {revision: int} с новой ревизией.
Права
Нужны modules.configure. Требуется действующее событие овнера в личном чате; фоновой задачи недостаточно.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.core.configure("module-id/main", {"count": 1}, record.revision)