Account subscriptions manager for the Brazen user scripts framework
Ce script ne devrait pas être installé directement. C'est une librairie créée pour d'autres scripts. Elle doit être inclus avec la commande // @require https://update.greasyfork.org/scripts/424516/1847310/Brazen%20Framework%20-%20Subscriptions%20Loader.js
Optional. Crawl logged-in subscription listing pages and cache channel names for a hide subscribed filter.
Greasy Fork: Subscriptions Loader · @require before Framework core
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).
// 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
})
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 VideosSTORE_SUBSCRIPTIONS — text field Account Subscriptions (cached names)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() behaviourGathering subscriptions - 0% Complete#brazen-subscriptions-loader-sandbox (hidden).url + ' ' + subscriptionsCountSelector to probe page count.getPageCount(sandbox) → maxPage (ceiled).pageNo 1..maxPage: load full page, extract subscriptionNameSelector text (trimmed), push to array.Gathering subscriptions - {percent}% CompleteSTORE_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.
| 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) |
No grants on this module. jQuery .load() requires same-origin or CORS-permitted responses for subscription pages.
Requires: Framework core for _setupSubscriptionLoader and _addSubscriptionsFilter.