Donutgramплагины
На этой страницеAPI storage

Локальные данные

Храните собственные JSON-значения отдельно для каждой установки и аккаунта.

API storage

Для доступа объявите storage.local / pluginAccount. Хранилище не позволяет читать данные другого плагина или аккаунта.

Прочитать и записать

const saved = await api.storage.get("replacements");
const replacements = saved && typeof saved === "object" && !Array.isArray(saved) ? saved : {};

await api.storage.set("replacements", {
  ...replacements,
  ".hello": "Привет!"
});

Значения должны быть JSON-совместимыми. Функции, циклические объекты и нативные объекты не сохраняются.

Перечислить ключи

const keys = await api.storage.keys();

Удалить запись

await api.storage.remove("replacements");

Настройки или storage

settings предназначен для объявленных в схеме пользовательских параметров. storage — для собственных структур и внутреннего состояния, например таблицы замен.

Ограничения

Общий объём собственных данных ограничен 5 МиБ. Хост также ограничивает ключи, размер и вложенность JSON. Храните только необходимое и обрабатывайте quota_exceeded.

Обновления и сброс

Сохраняйте совместимость своей структуры между версиями. Сброс данных удаляет состояние текущего аккаунта, удаление плагина — данные установки для всех аккаунтов на устройстве.

Не сохраняйте runtime handles, callback ID или черновики в качестве постоянной ссылки на нативный объект: после перезапуска они неактуальны.