משתמש:רובין בוט/קטגוריות מבוקשות.js

מתוך חב"דציטוט, מאגר ציטוטים חב"דים
גרסה מתאריך 13:23, 4 בספטמבר 2025 מאת רובין בוט (שיחה | תרומות)
(הבדל) → הגרסה הקודמת | הגרסה האחרונה (הבדל) | הגרסה הבאה ← (הבדל)
קפיצה לניווט קפיצה לחיפוש

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/* jshint esversion: 5 */
mw.loader.using(["mediawiki.api", "ext.gadget.mw-import", "oojs-ui-windows"]).done(function () {
  if (
    mw.config.get("wgPageName") === "מיוחד:קטגוריות_מבוקשות" &&
    (mw.config.get("wgUserGroups").indexOf("bot") !== -1 ||
      mw.config.get("wgUserId") === 4436)
  ) {
    var num = prompt("כמה קטגוריות לקבל?");
    if (!num) return;
    var api = new mw.Api();
    var importer = new mw.import();
    var queryParams = {
      list: "querypage",
      qppage: "Wantedcategories",
      qplimit: num
    };
    api.get(queryParams).done(function (data) {
      if (!data || !data.query) {
        console.log("no response");
        return;
      }
      var results = data.query.querypage.results || [];
      results.forEach(function (cat) {
        importer.importWikitext({ page: cat.title }).done(function (res) {
          var text = res.text;
          var summary = res.summary;
          if (text) {
            var elementText = $('<div class="cdx-message" aria-live="polite"><div class="cdx-message__content">' + text + '</div></div>');
            OO.ui.confirm(elementText, {title: "תוכן הקטגוריה בחב\"דפדיה"}).done(function (confirmd) {
              if (confirmd) {
                api.postWithEditToken({
                  action: "edit",
                  format: "json",
                  bot: true,
                  title: cat.title,
                  text: text,
                  summary: summary
                }).done(function (d) {
                  console.log(d);
                });
              }
            });
          }
        }).fail(function (error) {
          console.error(error);
        });
      });
    });
  }
});