Edited at

Twitter自動フォローツール

Twitter自動フォローツールを作成しました

特定分野のユーザをたくさんフォローしたかったのですが、一日のフォロー制限はフォロワーの3倍といわれているため、フォロワーの少ない僕は凍結を恐れました。なのでフォロワーを増やす必要がありました(フォロワー3倍説はうわさです)

まずはTwitter名に"相互"と記載されているユーザを片っ端からフォローしてやろうと思ったのですが、手動だと疲れるためスクリプトを書きました

起動条件としてはPC限定でスマホでは使用できません

またとりあえず動かすことを優先したためバグだらけです。誰か直してください

以下、手順です



  1. 以下のautofollow.jsをブックマークに保存する

  2. Twitter検索欄で"相互フォロー"と検索する

  3. "相互フォロー"と名前のついたユーザのフォロワーページにいく

  4. ブックマークをクリック

  5. アラートが表示されたら、閉じて再度ブックマークをクリック(何度かやらないとフォローできません)


詳しくはブックマークレットでググってください

3のフォロワーページはココです

スクリーンショット 2019-01-09 23.38.47.png

以下、スクリプトです


autofollow.js

javascript: (function() {

var $accountElem = $('.ProfileCard-content');
var $username = $('.ProfileCard-content .fullname');
var accountElemCount = $accountElem.length;
var index = 0;
var followCount = 0;
var protectedCount = 0;
var followedCount = 0;

var manager = function() {
if (index < accountElemCount) {
if (notFollowing($accountElem.eq(index))
&& protectedCheck($accountElem.eq(index))
&& followCount < 300
&& $username.eq(index).text().indexOf('相互') != -1) {
performer($accountElem.eq(index));
} else {
index++;
manager();
}
} else {
alert('フォロー処理が完了しました。\n■実行結果\n-----------------------------------------\n表示件数:'
+ index
+ '\n新規フォロー:'
+ followCount
+ '\n鍵(フォローしない):'
+ protectedCount
+ '\nフォロー済み:'
+ followedCount
+ '\n-----------------------------------------\n');
}
};
var performer = function($elem) {
var rand = (Math.floor(Math.random() * 2000)) + 100;
setTimeout(function() {

$('.UserActions .not-following button.follow-text', $elem).trigger(
'click');

followCount++;
index++;
manager();
}, rand);
};
var protectedCheck = function($elem) {

if (!$('.UserBadges .Icon--protected', $elem).length) {
return true;
}
protectedCount++;

return false;
};
var notFollowing = function($elem) {

if ($('.UserActions .not-following', $elem).length) {
return true;
}
followedCount++;

return false;
};
id = setInterval(function(s){scrollBy(0,s||100)},1);
setTimeout(function(){
clearInterval(id);
manager();
},10000);
})();


とにかくやりたいことは"相互"と名前のついたユーザを指定ユーザの数だけフォローすることです

スクロール型の仕様は詳しくないのですが、↓スクロールすると内部的には↑に流れていくTLは消え↓から出現するTLのソースが生成されると聞いたことがあります

setTimeoutやsetIntervalで適当な時間を定めていますが、スクロール幅とフォローのタイミングがポイントのはずです

あとは任せました!