Jump to content

User:DannyS712 test/Flagged revs patroller.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by DannyS712 test (talk | contribs) at 11:55, 1 December 2019 (cnt). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
//<nowiki>
$(() => {
var FRP = {};
window.FlaggedRevsPatroller = FRP;
FRP.config = {
	name: '[[User:DannyS712/Flagged revs patroller.js]]',
	version: 1.1,
	debug: true,
	comment: "BOT: Automatically patrolled"
};
FRP.getPending = function (){
	return new Promise((resolve) => {
		new mw.Api().get({
			action: 'query',
			list: 'oldreviewedpages',
			ormaxsize: 0,
			orlimit: 'max',
	        formatversion: 2,
		}).done( function( response ){ 
			console.log( response );
			resolve( response );
		});
	});
};
FRP.shouldPatrol = function ( page ){
	if (page.diff_size === 0){
		if (checkChange( page.stable_revid, page.revid )){
			console.log("Will patrol:", page.title);
			return true;
		}
	}
	return false;
}
FRP.checkChange = function ( oldid, newid ){
	var old_content = get_page( oldid );
	var new_content = get_page( newid );
	//console.log( old_content, new_content );
	if (old_content === new_content) return true;
	return false;
}
FRP.get_page = function ( revid ){
	return new Promise((resolve) => {
		new mw.Api().get({
			action: 'parse',
			oldid: revid,
			prop: 'wikitext',
		}).always( function ( response ) {
			console.log( response );
			resolve( response );
		});
	});
};
FRP.doPatrol = function ( revid ){
	return new Promise((resolve) => {
		new mw.Api().postWithEditToken({
			action: 'review',
			revid: revid,
			comment: 'Testing',
		}).always( function ( response ) {
			console.log( response );
			resolve( response );
		});
	});
};
FRP.run = async function () {
	var pending = await FRP.getPending();
	console.log( pending );
	var possible = pending.query.oldreviewedpages;
	console.log( possible );
};
});
mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ], function () {
    $(document).ready( function () { 
    	mw.util.addPortletLink ( 'p-cactions', 'javascript:void(0)', 'Get null changes', 'ca-getChanges');
    	mw.util.addPortletLink ( 'p-cactions', 'javascript:void(0)', 'Patrol changes', 'ca-patrolChanges');
    	$('#ca-getChanges').on('click', function() { getChanges(); } );
    	$('#ca-patrolChanges').on('click', function() { patrolChanges(); } );
    } );
} );
//</nowiki>