לדלג לתוכן

משתמש:חשבון ספאם מרכזי/ברוך הבא.js

מתוך חב"דפדיה, אנציקלופדיה חב"דית חופשית

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
//*הסקריפט מאתר בדף משתמשים עם דפי שיחה אדומים ומוסיף אליהם עצמאית הודעת ברוך הבא 
$(() => {
  const userToolLinks = document.querySelectorAll(".mw-usertoollinks");
  userToolLinks.forEach((element) => {
    const noContributes = element.querySelector(
      "a.mw-usertoollinks-contribs.new"
    );
    const noTalk = element.querySelector("a.mw-usertoollinks-talk.new");
    if (noContributes != null || noTalk == null) return;
    const talkPage = noTalk.title.replace("(הדף אינו קיים)", "");
    const span = document.createElement("span");
    const newElement = document.createElement("a");
    newElement.href = "#";
    newElement.textContent = "ברוך הבא";
    newElement.classList.add("mw-usertoollinks-contribs");
    newElement.addEventListener("click", () => {
      const name = talkPage.replace("שיחת משתמש:", "");
      const message = "{{בה}}{{חממה}}[[משתמש:רובין בוט|רובין בוט]] - [[שיחת משתמש:רובין בוט|שיחה]], 16:35, כ"ג בסיוון, ה'תשפ"ה 16:35, 19 ביוני 2025 (IDT)";
      let summary;
      if (confirm("תרצה להוסיף כותרת אישית למשתמש " + name + "?")) {
        summary = prompt("רשום כאן את הכותרת האישית:", "");
      } else {
        summary = "ברוך בואך";
      }
      const params = {
        action: "query",
        format: "json",
        prop: "info",
        titles: talkPage,
        utf8: 1,
      };
      $.getJSON("/w/api.php", params, function (data) {
        if (data.query.pages["-1"]) {
          $.ajax({
            url: mw.util.wikiScript("api"),
            type: "post",
            data: {
              action: "edit",
              title: talkPage,
              summary: summary,
              token: mw.user.tokens.get("csrfToken"),
              text: message,
              format: "json",
            },
            success: function (data) {
              mw.notify("ההודעה בדף " + talkPage + " נשמרה בהצלחה");
            },
            error: function (data) {
              mw.notify("תקלה. התבנית לא נשמרה בדף השיחה של המשתמש");
            },
          });
        } else {
          mw.notify("ההודעה בדף " + talkPage + " כבר מופיעה");
        }
      });
      element.removeChild(span);
    });
    span.appendChild(newElement)
    element.appendChild(span);
  });
});