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

Справочник API

Сигнатуры методов, типы значений и связь с нативными возможностями.

API SDK 1.0.0

Объект api передаётся в activate. Все нативные операции асинхронны и возвращают Promise. Ниже — карта основных семейств.

Типы для редактора

Полное описание: скачать index.d.ts. Оно входит в архив SDK в папке types.

interface Plugin {
  activate(api: API): void | Promise<unknown>;
  deactivate?(): void | Promise<unknown>;
}

Методы

Семейство Основные методы
commands register(descriptor, handler?)
messages beforeSend, read, send, edit, delete
composer getActiveDraft, replaceSelection
selection get
settings get, set
storage get, set, remove, keys
events on
ui toast, callback, render, dispose
assets image
network request
environment get
capabilities list, has
theme get, contribute, clear
files pick, read
translation request
chats, peers metadata, read
navigation open
notifications local
transforms register
actions.messages prepare, sendInteractive, compose

Проверка доступности

const capabilities = await api.capabilities.list();
const canReadTheme = await api.capabilities.has("theme.read");

has принимает имя capability, например theme.read. list возвращает объект с именами нативных методов, например theme.get. Результат — подсказка о хосте. Сам вызов всё равно проверяет текущие разрешения, scope, экран и поколение runtime. Метод может отказать после успешной проверки доступности, если контекст успел измениться.

Значения и ошибки

Обычные данные — JSON: строки, конечные числа, boolean, null, массивы и объекты. Не передавайте функции в нативные параметры; для UI используются зарегистрированные callback ID.

Ошибка нативной операции содержит code. Пользовательская отмена обычно обрабатывается без отдельного сообщения, а отсутствие функции — через запасной сценарий.

try {
  await api.navigation.open({ screen: "plugins" });
} catch (error) {
  if (error.code === "cancelled") return;
  throw error;
}

Точные возможности каждой операции приведены в разрешениях, ограничения среды — в runtime.