status, notify, ui

status

Требуется: STATUS

status.Update({
  current: 'online', // offline | connecting | online | error
  message: { en: 'Connected', ru: 'Подключено', uk: 'Підключено' },
});

status.OnClick(() => {
  api.openUrl('https://example.com/dashboard');
});

Кликабельность отражается в строке состояния главного окна, когда зарегистрирован OnClick.

viewers

Разрешение не требуется

Передаёт количество зрителей на платформе в строку состояния главного окна (слева от платформы/версии). Клик по блоку открывает настройки отображения.

viewers.Update({
  platform: 'twitch',
  count: 128,
});
Поле Описание
platform Идентификатор платформы. По возможности совпадает с id из dashboard.registerPlatform (например twitch, youtube).
count Неотрицательное целое — число зрителей, или -1, если стрим/платформа оффлайн.

Поведение:

Пример вместе с регистрацией платформы:

await dashboard.registerPlatform({
  id: 'twitch',
  name: { en: 'Twitch', ru: 'Twitch', uk: 'Twitch' },
});

viewers.Update({ platform: 'twitch', count: viewerCount });

notify

Требуется: NOTIFY

notify.Send({
  id: `${data.id}_status`,
  type: 'success', // success | info | warning | error
  title: { en: 'My Addon' },
  message: { en: 'Connection restored' },
  temp: true, // сбрасывается при следующем запуске приложения
});

Если задан id, предыдущее уведомление с тем же id заменяется. Используйте стабильные id для обновлений состояния соединения.

notify.Remove(`${data.id}_status`);

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

settings.notify

Всплывающие уведомления поверх окна настроек аддона (разрешение не требуется). Их можно отправлять только пока открыта панель настроек этого аддона.

if (settings.isOpen && !settings.isNotifyBlocked) {
  settings.notify.Send({
    title: { en: 'Settings saved', ru: 'Настройки сохранены' },
    message: { en: 'Token stored', ru: 'Токен сохранен' },
    buttonText: { en: 'Close', ru: 'Закрыть' },
  });
}

Более 5 уведомлений за 10 секунд блокируют показ на 5 секунд. Состояние блокировки доступно в settings.isNotifyBlocked.

ui.auth

Страницы результата OAuth на локальном веб-сервере:

ui.auth.generateSuccess('Account linked');
ui.auth.generateFail('Access denied');

Возврат из HTTP-обработчика:

return { redirect: ui.auth.generateSuccess() };

Опциональный query-параметр message показывается на странице.