【Userscripts】各ポストの右上の「・・・」をタップするだけでブロックを完了させる

使用環境 Userscripts iOSアプリ1.4.5まで
バージョン1.5.0以降では使えないため、記事執筆時(2024/10/12)、アプリに不具合が発生している可能性があります。

実際の動き





各ポスト(ツイート)または各アカウントの「・・・」をクリックするだけで、
1.「@***をブロック」をクリックしたことにする
2.「@***をブロックしますか?」「ブロック」をクリックしたことにする
3.ブロック後に現れる「ご協力ありがとうございます。フィードバックはタイムラインの精度向上に利用します。」を非表示にする
という作業をUserscripts(Javascript)で自動化させています。

3は連続でブロックする際に、2つ目以降のアカウントの「・・・」にカーソルを合わせる手間を省くためにつけました。

// ==UserScript==
// @name         xAutoBlock
// @version      1.0
// @description  xAutoBlock
// @author       Name
// @match        *://x.com/*
// @grant        none
// ==/UserScript==
 
(function() {
    'use strict';
 
    function hideFeedbackMessage() {
        const targetElements = document.querySelectorAll('div.css-175oi2r[data-testid="cellInnerDiv"]');
 
        targetElements.forEach(element => {
            if (element.textContent.includes('ご協力ありがとうございます。フィードバックはタイムラインの精度向上に利用します。')) {
                element.style.display = 'none';
            }
        });
    }
 
    const blockObserver = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            if (mutation.addedNodes.length > 0) {
                const blockButton = document.querySelector("div[role='menuitem'][data-testid='block']");
                if (blockButton) {
                    blockButton.click();
                    setTimeout(function() {
                        const confirmButton = document.querySelector('button[data-testid="confirmationSheetConfirm"]');
                        if (confirmButton) {
                            confirmButton.click();
                        }
                    }, 0);
                }
            }
        });
    });
 
 
    blockObserver.observe(document.body, { childList: true, subtree: true });
    messageObserver.observe(document.body, { childList: true, subtree: true });
    hideFeedbackMessage();
})();


ブロックしているアカウントを確認


12/15 宝可梦大集结(ポケモンユナイト中国大陸版)を日本でプレイする方法

はじめてこのサイトに来た方への案内所はこちら

類似記事

Copy&Paste


本文のコピペやスクショはしないでください