ツイ消しbot


ツイートしてから一定期間を過ぎたツイートを削除するbotです。
一度削除したツイートを復元することはできないのでご注意ください。

TwitterのAPI利用申請

twitter apiを利用するには利用申請(英作文)を行い、審査に通過する必要があります。
正直に「自動でツイ消ししたいから」と書いて通るかは微妙ですが、ある程度優良なアカウントであれば申請後すぐに自動的に通過することがあるようです。
自分の場合、アカウント作成から約1年経過、フォロワー数1000人ちょいで即パスでした。(2019年頭頃、今は変わってるかも)

依存ライブラリ

このライブラリをインストールしてください。
https://github.com/bear/python-twitter

$ pip install python-twitter

ソースコード

以下の6つを適宜書き換えてください。

  • SCREEN_NAME: ツイッターのユーザー名(@の後ろに続く部分、自分の場合は'_P_E_N_T_A')
  • RETENTION: ツイート保持期間(秒単位)、この期間を過ぎたツイートを削除
  • consumer_key
  • consumer_secret
  • access_token_key
  • access_token_secret
import time
import twitter

SCREEN_NAME = 'YOUR_SCREEN_NAME'
RETENTION = 60 * 60 * 24

api = twitter.Api(consumer_key='****************',
                  consumer_secret='****************',
                  access_token_key='****************',
                  access_token_secret='****************')

while True:
    try:
        tl = api.GetUserTimeline(screen_name=SCREEN_NAME, count=200)
        now = time.time()
        for t in reversed(tl):
            if now - t.created_at_in_seconds > RETENTION:
                res = api.DestroyStatus(t.id)
                print(repr(res))
                time.sleep(1)
    except Exception as e:
        print(type(e).__name__, e)
    time.sleep(300)