見出し画像

【もっと楽】𝕏のニュースアカウントの投稿に爆リプしてるスパムを効率よく報告するブックマークレットを改善しました

ごつりです。

前回の記事のブックマークレットを改善してみました。

【楽々】𝕏のニュースアカウントの投稿に爆リプしてるスパムを効率よく報告するブックマークレットを作った【報告】|ごつり (note.com)


早速ソースコードを掲載します。導入は前回記事を参考にしてください。

ソースコード

javascript: (function () {
    let style = document.createElement('style');
    style.innerHTML = `
        .r4sButton {
            margin: 10px;
            padding: 10px;
            textAlign: center;
            border: 2px solid #8B0000;
            background-color: #A52A2A;
            color: #FFFFFF;
            border-radius: 5px;
            transition: 0.3s;
        }
        .r4sButton:hover {
            background-color: #8B0000;
        }
    `;
    document.head.appendChild(style);
    async function sleep(ms) {
        return new Promise(r => setTimeout(r, ms));
    }
    async function R4S(articleElement) {
        articleElement.querySelector("[aria-label='もっと見る']").click();
        await sleep(400);
        Array.from(document.querySelectorAll("[role='menuitem']")).filter(e => e.innerText.includes("報告"))[0].click();
        await sleep(400);
        Array.from(document.querySelectorAll('[role="radiogroup"] label')).filter(e => e.innerText.includes("スパム"))[0].click();
        Array.from(document.querySelectorAll('[role="button"')).filter(e => e.innerText.includes("次へ"))[0].click();
        await sleep(400);
        Array.from(document.querySelectorAll('[role="button"')).filter(e => e.innerText.includes("完了"))[0].click();
        await sleep(400);
        if (!document.querySelector(".r4sButton")) { AddR4SButtons(); }
    };

    function AddR4SButtons() {
        var articles = document.querySelectorAll('article');
        articles.forEach(function (article) {
            var btn = document.createElement('button');
            btn.onclick = function () { R4S(article); };
            btn.classList.add("r4sButton");
            btn.textContent = 'SPAM!';
            article.appendChild(btn);
        });
    };
    AddR4SButtons();
})();


使い方

  1. リプ欄を開いた状態でブックマークレットを実行

  2. ポストの右端に SPAM! というボタンが出てくるので、それをクリックするだけ。

  3. 報告後も残るため連続報告も楽々!

  4. 以上!


動作


いかがでしたか?
この記事が役に立ったなら幸いです。

余談技術的な話

前回のブックマークレットでは setTimeout のネストが気持ち悪かったんですけどChatGPTくんのお陰でシンプルな記述ができました。

ありがとうChatGPTくん。

おわり

常に投げ銭を受けてつけています!よろしくお願いします!(圧力)

生活をしています。サポートお願いします。