Skip to main content

Documentation Index

Fetch the complete documentation index at: https://bym.lonestill.uk/llms.txt

Use this file to discover all available pages before exploring further.

BYM.register(meta, factory)

BYM.register(meta, factory)
Единственная точка входа. Вызывается один раз при загрузке файла.

meta

ПолеТипОписание
idstringУникальный идентификатор (обязательно)
namestringНазвание в UI
versionstringВерсия
descriptionstringОписание
authorstringАвтор
settingsarrayНастройки плагина (см. Настройки)

factory(api, getSetting)

Функция, которую BYM вызывает один раз при загрузке. Возвращает объект с start и stop.
  • api — все модули BYM
  • getSetting(key) — читает настройку по ключу, возвращает null если не сохранена

start() и stop()

start() — вызывается когда плагин включается или при старте YM если плагин был включён. stop() — вызывается при выключении, перезагрузке или закрытии YM.

Что чистится автоматически

ЧтоКак зарегистрировано
Все патчиapi.Patcher.before/after/instead
Все стилиapi.DOM.injectCSS
Все observersapi.DOM.observe
Все fetch-хукиapi.Net.onRequest/onResponse
Все горячие клавишиapi.Hotkeys.register
api.Events.on не снимается автоматически. Снимай через api.Events.off в stop().

Правила

Не используй глобальные переменные

// ✗ плохо — myInterval живёт между перезагрузками плагина
let myInterval;
BYM.register({ id: 'bad' }, (api) => ({
  start() { myInterval = setInterval(...); },
  stop()  { clearInterval(myInterval); },
}));

// ✓ хорошо — переменная в замыкании factory
BYM.register({ id: 'good' }, (api) => {
  let myInterval;
  return {
    start() { myInterval = setInterval(...); },
    stop()  { clearInterval(myInterval); },
  };
});

Всегда проверяй null у getSetting

// ✗ упадёт если настройка null
const step = getSetting('step') * 2;

// ✓ правильно
const step = (getSetting('step') ?? 0.1) * 2;