// ==UserScript== // @name Twitter興味関心解除 // @namespace http://coltpythonkingcobra.g1.xrea.com/pseudoTweetdeck/ // @version 1.0.2406101400 // @description Twitter設定の興味関心のチェックを一気に外します(50個ずつ) // @author @PseudoTwDk // @match https://x.com/settings/your_twitter_data/twitter_interests // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @run-at document-start // @grant none // ==/UserScript== // [設定とプライバシー]→[プライバシーと安全]→[表示するコンテンツ]→[興味関心] のページを開いてからリロードが必要です // リロードすると数秒後に [DELETE] ボタンが出現します // 短時間に多数件削除を行うとAPIの制限からかエラーが出る場合がありますがリロードすると50件くらいまでならちゃんと消えます // 50件を超える場合は10分とか30分後に再度続きを消す感じのオペレーションをしてください //実際に消す処理の本体 function execChg(){ var e, i, c=0, f=0; const SEL = 'input[type="checkbox"][aria-describedby^="CHECKBOX_"][checked]'; e = document.querySelectorAll(SEL); if( e.length > 0 ){ if( window.confirm(" " + e.length + "件のチェックを削除しますか?\r\n 一度に50件まで処理します") == false ){ return; } }else{ return; } e = document.querySelectorAll(SEL); for( i=0; i= 50 ){ f = 1; break; } console.log("Find Check [" + i + "]"); e[i].click(); e[i].setAttribute("checked",null); c++; } if( i && !f ){ window.alert(" チェックを " + c + " 件削除しました"); } if( i && f ){ if( window.confirm(" チェックを " + c + " 件削除しました?\r\n リロードしますか?") == true ){ location.reload(); } } } //ボタンを追加する遅延処理 function setupButton(){ var e, i, newHTML; const SEL = 'span[class="css-1jxf684 r-bcqeeo r-1ttztb7 r-qvutc0 r-1tl8opc"]'; e = document.querySelectorAll(SEL); for( i=0; i< e.length; i++ ){ if( e[i].innerHTML == "興味関心" ){ newHTML = ""; e[i].insertAdjacentHTML('afterend', newHTML); break; } } window.setTimeout(setupClick, 100); } //ボタンにクリックイベントを紐付ける遅延処理 function setupClick(){ var e = document.getElementById('DeleteButton'); if( e !== null ){ e.onclick = execChg; } } //遅延呼び出し window.setTimeout(setupButton, 5000);