Brazen Framework - Subscriptions Loader

Account subscriptions manager for the Brazen user scripts framework

Dieses Skript sollte nicht direkt installiert werden. Es handelt sich hier um eine Bibliothek für andere Skripte, welche über folgenden Befehl in den Metadaten eines Skriptes eingebunden wird // @require https://update.greasyfork.org/scripts/424516/1847310/Brazen%20Framework%20-%20Subscriptions%20Loader.js

Du musst eine Erweiterung wie Tampermonkey, Greasemonkey oder Violentmonkey installieren, um dieses Skript zu installieren.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

Sie müssten eine Skript Manager Erweiterung installieren damit sie dieses Skript installieren können

(Ich habe schon ein Skript Manager, Lass mich es installieren!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Autor
brazenvoid
Version
1.0.3
Erstellt am
05.04.2021
Letzte Aktualisierung
09.06.2026
Größe
4,24 KB
Lizenz
GPL-3.0-only

Brazen Framework — Subscriptions Loader (developer guide)

Optional. Crawl logged-in subscription listing pages and cache channel names for a hide subscribed filter.

Greasy Fork: Subscriptions Loader · @require before Framework core


When to use

Sites where users subscribe to creators and you want to hide their content without maintaining a manual list. Requires the user to be logged in (isUserLoggedIn: true in framework config).


Setup

1. Framework wiring

// constructor
this._setupSubscriptionLoader()

// after loader exists — register one or more sources
this._subscriptionsLoader.addConfig({
  url: 'https://example.com/my/subscriptions',
  getPageCount: (sandbox) => /* int from first page DOM */,
  getPageUrl: (baseUrl, pageNo) => /* paginated URL */,
  subscriptionNameSelector: '.sub-name',
  subscriptionsCountSelector: '.sub-count',  // element whose page contains total count
})

2. Filter

this._addSubscriptionsFilter(
  () => true,  // exclusionsCallback — return false to skip filter on this page
  (item) => item.find('.uploader').text() || false,  // username or false to skip item
)

Registers:

  • FILTER_SUBSCRIBED_VIDEOS — flag Hide Subscribed Videos
  • STORE_SUBSCRIPTIONS — text field Account Subscriptions (cached names)

3. UI trigger

Framework _setupSubscriptionLoader creates button #subscriptions-loader (Load Subscriptions). Mount via _createSubscriptionLoaderControls() in your settings panel.

run() is invoked from that button when isUserLoggedIn() is true; otherwise an alert is shown.


addConfig shape (SubscriptionLoaderConfig)

Key Type Role
url string First page / index URL
getPageCount (sandbox: JQuery) => number Total pages (from count probe)
getPageUrl (baseUrl, pageNo) => string URL for page pageNo
subscriptionNameSelector string Selector for name text on each listing page
subscriptionsCountSelector string Selector loaded with url to read page count

Multiple configs: processed sequentially; names accumulate in one array.


run() behaviour

  1. Progress: Gathering subscriptions - 0% Complete
  2. Creates #brazen-subscriptions-loader-sandbox (hidden).
  3. For each config:
    • Load url + ' ' + subscriptionsCountSelector to probe page count.
    • getPageCount(sandbox)maxPage (ceiled).
    • For pageNo 1..maxPage: load full page, extract subscriptionNameSelector text (trimmed), push to array.
    • Progress: Gathering subscriptions - {percent}% Complete
  4. When all configs done: sandbox removed; callback with full string array.
  5. Framework handler formats names as quoted CSV in STORE_SUBSCRIPTIONS, calls save(), re-enables button.

Storage format in config field: "name1""name2""name3" (double-quote wrapped, concatenated). Filter matches via regex on username substring.

Included in normal config backup when persisted as the text field value.


Public API

Method Role
constructor(onProgressUpdate, onSubscriptionsGathered) Progress (status: string) => void; done (subscriptions: string[]) => void
addConfig(config) Append SubscriptionLoaderConfig; fluent
run() Start crawl (async via jQuery .load)

Grants

No grants on this module. jQuery .load() requires same-origin or CORS-permitted responses for subscription pages.

Requires: Framework core for _setupSubscriptionLoader and _addSubscriptionsFilter.