Donutgramплагины
На этой страницеКонтекст аккаунта

Несколько аккаунтов

Код общий, выполнение и пользовательские данные разделены по аккаунтам.

Контекст аккаунта

Один установленный пакет может использоваться в нескольких аккаунтах. Настройки, storage, предоставленные возможности и runtime привязаны к конкретной установке и аккаунту.

Изоляция данных

const settings = await api.settings.get();
const replacements = await api.storage.get("replacements");

Эти вызовы возвращают данные текущего аккаунта. Не нужно добавлять к ключу номер телефона или пытаться получить внутренний accountId.

Смена аккаунта

При смене активного аккаунта предыдущие нативные handles теряют актуальность, а выполнение останавливается. Новый контекст запускается с собственными настройками и регистрациями.

Не храните handle черновика, выбранного сообщения или UI-callback для использования после переключения. Получайте свежий контекст непосредственно в обработчике пользовательского действия.

События

account.contextChanged относится к поддерживаемым именам событий, но payload не выдаёт произвольный доступ к другим аккаунтам. Вся работа по-прежнему идёт через текущий нативный контекст.

Общая пауза

Общий переключатель останавливает плагины. Индивидуальные состояния включения сохраняются, а переключатели отдельных плагинов блокируются до снятия паузы. Это не сброс пользовательских данных.

Удаление и сброс

Удаление пакета убирает его код и данные всех аккаунтов на устройстве. Сброс данных в дополнительных параметрах относится к текущему аккаунту. Учитывайте эту разницу в инструкции пользователю своего плагина.