Користувач:BaseBot/Скрипти/Заміни/Споруди за роками будівництва.js

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
  • Opera: натисніть Ctrl-F5
var replace = function() {
    var api = new mw.Api();
    var continuePage = false;
    var getQuery = {
        action: 'query',
        generator: 'search',
        gsrsearch: `intitle: /Споруди, збудовані/`,
        gsrnamespace: 14,
        gsrlimit: 2,
        prop: 'revisions',
        rvprop: ['ids', 'timestamp', 'flags', 'comment', 'user', 'content'],
        rvslots: '*',
    };
    var i = 0;

    var process = function(continuePage, offset) {
        if(continuePage) {
            getQuery.continue = continuePage;
            getQuery.gsroffset = offset;
        }
        api.get(getQuery).done(function (data) {
            console.log(continuePage);
            Object.keys(data.query.pages).forEach(function (pageid) {
                var page = data.query.pages[pageid];
                var pageText = page.revisions[0].slots.main['*'];
                // pageText = pageText.replace(/([А-ЯІҐЇа-яіїґ]) i ([А-ЯІҐЇа-яіїґ])/g, '$1 і $2')
                // console.log(pageText);

                api.post({
                    action: 'edit',
                    pageid: pageid,
                    text: '{' + '{НКР/С}}',
                    minor: true,
                    bot: true,
                    summary: 'Бот: заміна вмісту на [[Шаблон:НКР/С]] за [[Special:Permalink/33790534#Категорія:Споруди_за_роками_будівництва|запитом]]',
                    token: mw.user.tokens.get('csrfToken')
                })
            });
            if (data.continue.continue) {
                process(data.continue.continue, data.continue.gsroffset);
            }
        });
    };
    process();
};

replace();