使用環境 Userscripts iOSアプリ1.4.5まで
バージョン1.5.0以降では使えないため、記事執筆時(2024/10/12)、アプリに不具合が発生している可能性があります。
実際の動き
【Userscripts】各ポストの右上の「・・・」をタップするだけでブロックを完了させる https://t.co/60ndnRAfnH pic.twitter.com/iUTLAgWJDQ
— 56station (@56station) October 12, 2024
各ポスト(ツイート)または各アカウントの「・・・」をクリックするだけで、
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(); })(); |
ブロックしているアカウントを確認