006

こんにちは。水曜に仕上げると言ったな。あれは嘘だ。



というわけで先日申し上げていた通りコードを書いたので公開しようと思います。



とりあえずBreakTwiって名前にしてたんだけど恥ずかしくなってきた。

 

 

#coding:UTF-8

import twitter
import time


# Consumer Key
CK = '#########################'     
# Consumer Secret                     
CS = '##################################################' 
# Access Token
AT = '##########-#######################################' 
# Accesss Token Secert
AS = '#############################################'  


api=twitter.Api(consumer_key=CK,consumer_secret=CS,
access_token_key=AT,access_token_secret=AS)

#起動時
print u'システム起動します。'
before = 0
after = 0
#''の中にスクリーンネーム
scname = '@hoge'
user = api.GetUser(screen_name=scname)
id = user.id

while 1:
    user = api.GetUser(screen_name=scname)
    tweets = api.GetStatus(id)
    before = user.statuses_count
    time.sleep(60)
    user = api.GetUser(screen_name=scname)
    after = user.statuses_count
    diff = after-before
    print u'ツイートした数:%d' % (diff)
    if (diff) >= 5:
        i = 0
        #ここで削除
        tweets = api.GetUserTimeline(id )
        while 5 <= (diff-i):
            api.DestroyStatus(tweets[i].id )
            i = i + 1
        print u'削除したゾ。'
        
    else:
        print u'異常なし。'

github.com



何をしているか簡単に説明すると、

  1. 指定したアカウントのツイート数を調べて
  2. 一分後にもう一度調べて差分を計算して
  3. 一定数(今回は5ツイート)以上のツイートが見られた場合は殺す
  4. 慈悲は無い


あと一つ言及するとすれば現状で強制終了以外に終わらせる方法が無いことですかね。

(threadingかsys辺りを使えばいけるのではないかと踏んでいる)