WIRED API

WIRED Bot için Greasy Fork Veri ve Güncelleme Yönetimi

このスクリプトは単体で利用できません。右のようなメタデータを含むスクリプトから、ライブラリとして読み込まれます: // @require https://update.greasyfork.org/scripts/562313/1732628/WIRED%20API.js

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         WIRED API
// @version      1.0
// @description  WIRED Bot için Greasy Fork Veri ve Güncelleme Yönetimi
// @author       WIRED
// @license      MIT
// ==/UserScript==

/* WIRED API
   Greasy Fork üzerinden versiyon kontrolü ve dinamik veri çekme işlemlerini yönetir.
*/

class WiredAPI {
	constructor() {
		if(location.hostname === 'greasyfork.org' || location.hostname === 'sleazyfork.org') {
			this.host = location.host;
			return;
		}
	}

	static get xmlRequest() {
		return GM_xmlhttpRequest || GM.xmlHttpRequest;
	}

	static getScriptData(id) {
		return new Promise((res, rej) => {
			this.xmlRequest({
				url: `https://greasyfork.org/scripts/${id}.json`,
				onload: response => res(JSON.parse(response.responseText)),
				onerror: err => rej(err)
			});
		});
	}

	static getScriptCode(id, isLibrary = false) {
		const url = `https://greasyfork.org/scripts/${id}/code/userscript` + (isLibrary ? '.js' : '.user.js');
		return new Promise((res, rej) => {
			this.xmlRequest({
				url,
				onload: response => res(response.responseText),
				onerror: err => rej(err)
			});
		});
	}

	static searchScripts(query, page = 1) {
		return new Promise((res, rej) => {
			this.xmlRequest({
				url: `https://greasyfork.org/scripts.json?q=${query}&page=${page}`,
				onload: response => res(JSON.parse(response.responseText)),
				onerror: err => rej([])
			});
		});
	}
}