מפתח הברגים של ניב

פותח אתגרים שבועיים בלחיצת כפתור

// ==UserScript==
// @name         מפתח הברגים של ניב
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  פותח אתגרים שבועיים בלחיצת כפתור
// @author       Muffin24
// @match        https://www.fxp.co.il/forumdisplay.php?f=*
// @grant        none
// ==/UserScript==
if (!/^(?!ארכיון).*הפרסות|אתגרים.*$/.test(window.forumname)) {
    return;
}
const selector = typeof ISMOBILEFXP !== 'undefined' ? 'breadcrumb' : 'above_threadlist';
const link = document.createElement("a");
link.innerText = "פתיחת אתגרים שבועיים";
link.className = "newcontent_textcontrol";
link.style.width = "160px";
link.addEventListener('click', function () {
    const id = document.querySelector("#breadcrumb > ul > li:nth-child(3) a").href.split('=').at(1);
    fetch('https://fxptest.000webhostapp.com/temp/?id=' + id)
        .then(response => response.json())
        .then(data => {
        const threads = document.querySelectorAll('#threads .title');
        for (const thread of threads) {
            for (const [key, value] of Object.entries(data.forums)) {
                if (!new RegExp(value).test(thread.text)) return;
                const message = Object.values(data.forums[key].members || {}).map(i => '[taguser]' + i + '[/taguser]').join('\n') + '\nבבקשה להגיש אתגרים שבועיים';
                newReplay(thread.href.split('=').at(1), message);
            }
        }
    })
        .then(_ => {
        alert('ניב פתח את האתגרים השבועיים בהצלחה');
    })
})

function newReplay(THREAD_ID_FXP, message) {
    console.log(message);
    const body = new FormData();
    body.append("do", "postreply");
    body.append("message", message);
    body.append("message_backup", message);
    body.append("wysiwyg", 1);
    body.append("loggedinuser", window.USER_ID_FXP);
    body.append("securitytoken", window.SECURITYTOKEN);
    body.append("parseurl", 1);
    body.append("signature", 1);
    body.append("ajax", 1);
    body.append("p", "who cares");
    fetch("https://www.fxp.co.il/newreply.php?t=" + THREAD_ID_FXP, { method: 'POST', body }).catch(error => console.log('error', error));
}
document.getElementById(selector).after(link);