プログラミング

Twitterのフォローリクエストを一括で承認する方法

「Twitterの鍵垢なのにフォローリクエストがたくさん来る。ポチポチフォローするのは面倒だから一括で承認したい」というかなりニッチなニーズに応える方法のご紹介です。

いわゆるブックマークレットと呼ばれる方法で実現しました。以下、iPhoneの画面で説明しますが、同じ手順をたどればAndroidでもPCでもMacでもできます。

1.適当なWebページをお気に入り(ブックマーク)登録をする

 まず、どのページでもいいのでお気に入り(ブックマーク)登録をしましょう。次のステップでこれを編集するので分かりやすいところに保存しておきましょう。

 

2.保存したブックマーク編集する

先程保存したブックマークを編集していきます。

 

①タイトル部分を分かりやすく変更

何でもOKです。私は「Twitterフォロリク一括承認」にしています。

②アドレス部分をすべて削除し、以下をコピペしてください。

 

こちらをコピー

javascript:(function(){document.querySelectorAll("div[role=button]").forEach(function(a){var b=a.getAttribute("aria-label");b&&-1!=b.indexOf("\u627f\u8a8d\u3059\u308b")&&a.click()})})();

このように作成したものをブックマークレットといいます。

 

(2021年2月5日 10:00追記)
英語表示でも動くように修正した改善版(以下のプログラムです)をテスト中です。実行後にポップアップを出し、正常終了した場合はその旨を、エラー終了した場合にはエラーメッセージを表示するようにしてあります。

フォローリクエストがあるのに、うまく動かずエラーメッセージが出る場合はその内容をコメントにて教えていただけるとありがたいです。

※何もポップアップが出ない場合、何度かページを再読み込みするとうまく動くケースがあります。

こちらをコピー

javascript:(function(){try{console.log("start");if(document.querySelector("div[role='dialog']")){console.log("\u30c0\u30a4\u30a2\u30ed\u30b0\u3042\u308a");var b=document.querySelectorAll("div[role='dialog'] div[data-testid='UserCell']");console.log("\u30e6\u30fc\u30b6\u30fc\u30bb\u30eb\u306e\u6570\u306f"+b.length+"\u3067\u3059");if(0==b.length)throw Error("\uff08\u30c0\u30a4\u30a2\u30ed\u30b0\u3042\u308a\uff09\u30e6\u30fc\u30b6\u30fc\u30bb\u30eb\u306e\u6570\u304c\u30bc\u30ed\u3067\u3059\u3002");for(var c=0;c<b.length;c++){var d=b[c],a=d.querySelector('div[aria-label="\u627f\u8a8d\u3059\u308b"]');null==a&&(a=d.querySelector('div[aria-label="Accept"]'));console.log("\u7e70\u308a\u8fd4\u3057\u56de\u6570\u306f"+c,"\u30af\u30ea\u30c3\u30af\u3057\u3088\u3046\u3068\u3059\u308b\u30dc\u30bf\u30f3\u306e\u540d\u79f0\u306f"+a.innerText);a&&(d.scrollIntoView(),a.click(),console.log("\u30af\u30ea\u30c3\u30af\u3057\u307e\u3057\u305f"))}}else{console.log("\u30c0\u30a4\u30a2\u30ed\u30b0\u306a\u3057");b=document.querySelectorAll("div[data-testid='UserCell']");console.log("\u30e6\u30fc\u30b6\u30fc\u30bb\u30eb\u306e\u6570\u306f"+b.length+"\u3067\u3059");if(0==b.length)throw Error("\uff08\u30c0\u30a4\u30a2\u30ed\u30b0\u306a\u3057\uff09\u30e6\u30fc\u30b6\u30fc\u30bb\u30eb\u306e\u6570\u304c\u30bc\u30ed\u3067\u3059\u3002");for(d=0;d<b.length;d++)c=b[d],a=c.querySelector('div[aria-label="\u627f\u8a8d\u3059\u308b"]'),null==a&&(a=c.querySelector('div[aria-label="Accept"]')),console.log("\u7e70\u308a\u8fd4\u3057\u56de\u6570\u306f"+d,"\u30af\u30ea\u30c3\u30af\u3057\u3088\u3046\u3068\u3059\u308b\u30dc\u30bf\u30f3\u306e\u540d\u79f0\u306f"+a.innerText),a&&(c.scrollIntoView(),a.click(),console.log("\u30af\u30ea\u30c3\u30af\u3057\u307e\u3057\u305f"))}console.log("end");alert("\u6b63\u5e38\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002")}catch(e){alert("\u30a8\u30e9\u30fc\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002"+e.message),console.log("\u30a8\u30e9\u30fc\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002",e.message)}})();

3.SafariでTwitterフォローリクエストのページを開く

https://mobile.twitter.com/follower_requests

注意ポイント

TwitterアプリではなくSafariで開く必要があります。うまく開かない場合は、一度Twitterのホームを表示させてからフォローリクエストのページへ移動してみてください。

4.作成したブックマークレットを実行する

フォローリクエストを開いた状態で、ブックマークを開き先ほど作成したブックマークレットをタップすれば一括承認が実行されます。読み込まれていないフォローリクエストは承認されないので、スクロールしてある程度読み込んでから実行するを繰り返してみてください。

5.最後に

うまく出来ましたでしょうか。最後にこのブックマークレットは何をやっているかというのをざっくり解説します。

先程コピペ頂いた文字列はJavascriptというプログラミング言語で書いたプログラムで、「Twitterのフォローリクエストのページを解析し、承諾ボタンを見つけ自動的にタップする」という動作を行っています。

Twitter側の仕様が変わるとうまく動かなくなるので、ご留意ください。

-プログラミング

© 2021 いですけぶろぐ