বিষয়বস্তুতে চলুন
🎉 বইপিডিয়ার ১ বছর পূর্তি! · আমাদের ফেসবুক পেজ অনুসরণ করুন.

ব্যবহারকারী:ARI/common.js: সংশোধিত সংস্করণের মধ্যে পার্থক্য

বইপিডিয়া থেকে
সম্পাদনা সারাংশ নেই
সম্পাদনা সারাংশ নেই
১ নং লাইন: ১ নং লাইন:
mw.loader.using(['mediawiki.api'], function () {
mw.loader.using(['mediawiki.api'], function () {


if (mw.config.get('wgCanonicalSpecialPageName') !== 'Contributions') return;
console.log('MR DEBUG: script loaded');


const api = new mw.Api();
if (mw.config.get('wgCanonicalSpecialPageName') !== 'Contributions') {
const username = mw.util.getParamValue('user');
console.log('MR DEBUG: not contributions page');
if (!username) return;
return;
}
 
const username = mw.config.get('wgRelevantUserName');
console.log('MR DEBUG: username =', username);
 
if (!username) {
console.log('MR DEBUG: username missing');
return;
}


const btn = $('<button>')
const btn = $('<button>')
.text('Rollback all visible edits')
.text('Rollback visible edits')
.css({
.css({
marginLeft: '10px',
marginLeft: '12px',
padding: '4px 8px',
padding: '4px 8px',
fontSize: '90%'
fontSize: '90%'
})
})
.on('click', async function () {
.on('click', function () {
 
alert('Rollback button works for user: ' + username);
if (!confirm('Rollback all visible top edits by "' + username + '" ?')) return;
 
let rolled = 0;
 
try {
const data = await api.get({
action: 'query',
list: 'usercontribs',
ucuser: username,
uclimit: 100,
ucprop: 'title|flags'
});
 
for (const edit of data.query.usercontribs) {
if (!edit.top) continue;
 
await api.postWithToken('csrf', {
action: 'rollback',
title: edit.title,
user: username,
summary: 'Rollback spam edits'
});
 
rolled++;
await new Promise(r => setTimeout(r, 1200)); // VERY important
}
 
alert('Rollback finished. Reverted: ' + rolled + ' edits.');
} catch (e) {
console.error(e);
alert('Stopped due to an error. Check console.');
}
});
});


$('#firstHeading').append(btn);
$('#firstHeading').append(btn);
console.log('MR DEBUG: button added');
});
});

২৩:৫২, ৬ জানুয়ারি ২০২৬ তারিখে সংশোধিত সংস্করণ

mw.loader.using(['mediawiki.api'], function () {

	console.log('MR DEBUG: script loaded');

	if (mw.config.get('wgCanonicalSpecialPageName') !== 'Contributions') {
		console.log('MR DEBUG: not contributions page');
		return;
	}

	const username = mw.config.get('wgRelevantUserName');
	console.log('MR DEBUG: username =', username);

	if (!username) {
		console.log('MR DEBUG: username missing');
		return;
	}

	const btn = $('<button>')
		.text('Rollback visible edits')
		.css({
			marginLeft: '12px',
			padding: '4px 8px',
			fontSize: '90%'
		})
		.on('click', function () {
			alert('Rollback button works for user: ' + username);
		});

	$('#firstHeading').append(btn);
	console.log('MR DEBUG: button added');
});