フォロワー20人を21人にするラクな方法

フォロワー20人を21人にするラクな方法

ネタです

つい最近、こんなツイートを見つけました。「お金配りおじさん」ことスタートトゥデイの前澤さんのものです。

フォロワー数が20人だとお金がもらえるらしい

これに対する興味深い回答がありました。

つまり無理やりフォローして20人ではなくせば抽選対象から外れる

「フォロワー20人」という条件から外れるように、抗争が起きるわけです。なんとまあくだらない。

まあ私、お祭り気分で「フォロワー20人を21人にする」をやったんですけど笑

画像にはモザイクを施している

何をしたか

いちいち「この人はフォロワー20人かあ、じゃあ21人にしちゃおう!」とか考えるのって、面倒ですよね。

この部分をいつもどおりPythonを使ってラクします。

環境

  • Tweepy 3.8.0
  • Python 3.8.0
  • macOS Catalina

まあ、いつもどおりです笑

フロー

流れとしては、以下のようになっています。

  1. Tweepyの認証
  2. 前澤さんのフォロワーのユーザー情報を取得
  3. 取得したユーザーでフォロワー数がちょうど20人かどうか確認する
    1. フォロワー数が20人もしくは鍵アカウントではなかったら飛ばす
    2. フォロワー数が20人だったらフォローする
  4. 2に戻ってイテレーターで繰り返す

ほんとうはブロックされているとかすでにフォローしているとか確認したほうが良いのかもしれないけど、まあそれを考える必要がなさそうだったので今回は飛ばした。

プログラム

import tweepy
import json


class MyAPI(object):

    def __init__(self):
        with open('login_info.json', mode='r') as f:
            login_info = json.load(f)

        consumer_key    = login_info['Consumer_key']
        consumer_secret = login_info['Consumer_secret']
        access_token    = login_info['Access_token']
        access_secret   = login_info['Access_secret']

        auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
        auth.set_access_token(access_token, access_secret)
        self.api = tweepy.API(auth, wait_on_rate_limit=True)


    def follow20(self):
        
        screen_name = 'yousuck2020'
        user = self.api.get_user(screen_name=screen_name)
        for follower_id in tweepy.Cursor(self.api.followers_ids, screen_name=screen_name, cursor=-1).items():
            user = self.api.get_user(follower_id)
            print(f'{(user.screen_name, user.followers_count)=}')
            if user.followers_count == 20 and not user.protected:
                self.api.create_friendship(screen_name=user.screen_name)
                print(f'{user.screen_name}をフォローしたよ!')



if __name__ == '__main__':

    api = MyAPI()
    while True:
        api.follow20()

さいごに

自粛期間が長すぎて花火大会もイベントもないので、楽しむものがインターネットにしかありません。

ですが、Twitter APIで遊ぶのはほどほどにしましょう()