Brazen Framework - Subscriptions Loader

Account subscriptions manager for the Brazen user scripts framework

Questo script non dovrebbe essere installato direttamente. È una libreria per altri script da includere con la chiave // @require https://update.greasyfork.org/scripts/424516/1847310/Brazen%20Framework%20-%20Subscriptions%20Loader.js

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

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

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

Autore
brazenvoid
Versione
1.0.3
Creato il
05/04/2021
Aggiornato il
09/06/2026
Dimensione
4,24 KB
Licenza
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.