MediaWiki:Common.js: Revizyonlar arasındaki fark
Gezinti kısmına atla
Arama kısmına atla
Değişiklik özeti yok Etiket: Geri alındı |
Değişiklik özeti yok Etiket: Geri alındı |
||
| 1. satır: | 1. satır: | ||
// ==UserScript== | |||
// @name Gelismeli ve Tecrübesiz Düzenleyici | |||
// @namespace mycm.site | |||
// @version 1.0 | |||
// @description Sayfa yetersizse Gelismeli, kullanıcı çok sayıda yetersiz sayfa yaparsa Tecrübesiz uyarısı | |||
// @match https://wiki.mycm.site/* | |||
// @grant none | |||
// ==/UserScript== | |||
(function() { | (function() { | ||
var ns = mw.config.get('wgNamespaceNumber'); | |||
var pageTitle = mw.config.get('wgTitle'); | |||
var username = mw.config.get('wgUserName'); | |||
// Sadece normal wiki sayfaları | |||
if (ns !== 0) return; | |||
var content = document.getElementById('mw-content-text'); | |||
if (!content) return; | |||
var textLength = content.innerText.trim().length; | |||
var images = content.querySelectorAll('img').length; | |||
var links = content.querySelectorAll('a').length; | |||
// Sayfa yetersiz mi? | |||
if (textLength < 300 || images === 0 || links < 3) { | |||
var div = document.createElement('div'); | |||
div.innerHTML = '{{Gelismeli}}'; | |||
content.prepend(div); | |||
if (!username) return; // anonim kullanıcılar için dur | |||
if( | |||
// Kullanıcının Gelismeli sayfalarını say | |||
fetch(`https://wiki.mycm.site/api.php?action=query&list=allpages&apprefix=${username}:&apnamespace=0&format=json`) | |||
.then(res => res.json()) | |||
.then(data => { | |||
let gelismeliCount = 0; | |||
data.query.allpages.forEach(page => { | |||
fetch(`https://wiki.mycm.site/api.php?action=query&titles=${encodeURIComponent(page.title)}&prop=revisions&rvprop=content&format=json`) | |||
.then(r => r.json()) | |||
.then(p => { | |||
.then( | var pageContent = Object.values(p.query.pages)[0].revisions[0]['*']; | ||
.then( | if (pageContent.includes('{{Gelismeli}}')) gelismeliCount++; | ||
if (gelismeliCount >= 5) { | |||
// Kullanıcı sayfasına Tecrübesiz-duzenleyici ekle | |||
fetch(`https://wiki.mycm.site/api.php?action=edit&title=User:${username}&appendtext={{Tecrubesiz-duzenleyici}}&token=${mw.user.tokens.get('editToken')}&format=json`, {method:'POST'}); | |||
// Kullanıcıya mesaj gönder | |||
fetch(`https://wiki.mycm.site/api.php?action=edit&title=Message:${username}&appendtext={{Tecrubesiz-mesaj}}&token=${mw.user.tokens.get('editToken')}&format=json`, {method:'POST'}); | |||
if( | |||
} | } | ||
}); | }); | ||
} | }); | ||
}); | |||
} | } | ||
})(); | })(); | ||
14.54, 8 Şubat 2026 tarihindeki hâli
// ==UserScript==
// @name Gelismeli ve Tecrübesiz Düzenleyici
// @namespace mycm.site
// @version 1.0
// @description Sayfa yetersizse Gelismeli, kullanıcı çok sayıda yetersiz sayfa yaparsa Tecrübesiz uyarısı
// @match https://wiki.mycm.site/*
// @grant none
// ==/UserScript==
(function() {
var ns = mw.config.get('wgNamespaceNumber');
var pageTitle = mw.config.get('wgTitle');
var username = mw.config.get('wgUserName');
// Sadece normal wiki sayfaları
if (ns !== 0) return;
var content = document.getElementById('mw-content-text');
if (!content) return;
var textLength = content.innerText.trim().length;
var images = content.querySelectorAll('img').length;
var links = content.querySelectorAll('a').length;
// Sayfa yetersiz mi?
if (textLength < 300 || images === 0 || links < 3) {
var div = document.createElement('div');
div.innerHTML = '{{Gelismeli}}';
content.prepend(div);
if (!username) return; // anonim kullanıcılar için dur
// Kullanıcının Gelismeli sayfalarını say
fetch(`https://wiki.mycm.site/api.php?action=query&list=allpages&apprefix=${username}:&apnamespace=0&format=json`)
.then(res => res.json())
.then(data => {
let gelismeliCount = 0;
data.query.allpages.forEach(page => {
fetch(`https://wiki.mycm.site/api.php?action=query&titles=${encodeURIComponent(page.title)}&prop=revisions&rvprop=content&format=json`)
.then(r => r.json())
.then(p => {
var pageContent = Object.values(p.query.pages)[0].revisions[0]['*'];
if (pageContent.includes('{{Gelismeli}}')) gelismeliCount++;
if (gelismeliCount >= 5) {
// Kullanıcı sayfasına Tecrübesiz-duzenleyici ekle
fetch(`https://wiki.mycm.site/api.php?action=edit&title=User:${username}&appendtext={{Tecrubesiz-duzenleyici}}&token=${mw.user.tokens.get('editToken')}&format=json`, {method:'POST'});
// Kullanıcıya mesaj gönder
fetch(`https://wiki.mycm.site/api.php?action=edit&title=Message:${username}&appendtext={{Tecrubesiz-mesaj}}&token=${mw.user.tokens.get('editToken')}&format=json`, {method:'POST'});
}
});
});
});
}
})();