На этой страницеОбъявление возможностей
Возможности и профили
Укажите, какие действия выполняет плагин и в каком контексте.
Объявление возможностей
Каждое нативное действие проверяет capability и точный scope. Манифест объясняет, зачем возможность нужна; причина не расширяет доступ.
{
"capability": "composer.transform",
"scope": "activeComposer",
"reason": "Вставить выбранный шаблон в текущий черновик"
}
Частые возможности
| Действие | Capability | Scope |
|---|---|---|
| Команда в меню чата | ui.contribute |
composer |
| Собственная страница | ui.contribute |
settings |
| Читать черновик | composer.read |
activeComposer |
| Изменять черновик | composer.transform |
activeComposer |
| Читать выбранный текст | messages.selection.read |
activeSelection |
| Перехватывать исходящий текст | messages.intercept |
activeComposer |
| Отправлять обычный текст | messages.send |
chosenRecipient |
| Редактировать сообщение | messages.edit |
selectedMessages |
| Удалять сообщение для всех | messages.delete |
selectedMessages |
| Собственные локальные данные | storage.local |
pluginAccount |
| Публичный HTTPS-запрос | network.public |
declaredOrigins |
| Локальная трансформация | ui.transform |
profile или chatList |
localPrivate
Профиль для локальных сценариев с текущим черновиком, выбранным сообщением и представлением интерфейса. У него нет произвольного сетевого выхода.
publicNetwork
Профиль публичных интеграций. Можно объявить точные HTTPS origins, но нельзя совместить сеть с приватными composer, selection, message и peer-возможностями. Ограничение относится и к optionalPermissions.
Обязательные и дополнительные
При явном включении проверенного пакета хост предоставляет его обязательные возможности для текущего аккаунта. Дополнительные не включаются автоматически и настраиваются отдельно. При установке выключенного плагина код не запускается.
Доступность метода
Декларация capability не означает, что нужный нативный экран сейчас открыт. Для части методов требуется действие пользователя, свежий handle или выбранное сообщение. Обрабатывайте gesture_required, feature_unavailable, permission_denied и изменение контекста.
Обновление
Хост сравнивает точный digest просмотренного пакета. Старое подтверждение не распространяется на новую версию. Не пытайтесь обойти ограничения, передавая в параметры собственные pluginId, accountId или флаги подтверждения.