Hatena::Grouppython

easy_install makimoto

2008-10-20

Twitter で「にゃー」とポストされたら自動的に「にゃー」とポストし返すスクリプト

23:56 | Twitter で「にゃー」とポストされたら自動的に「にゃー」とポストし返すスクリプト - easy_install makimoto を含むブックマーク はてなブックマーク - Twitter で「にゃー」とポストされたら自動的に「にゃー」とポストし返すスクリプト - easy_install makimoto

ふと思い付いてしまい、むしゃくしゃして書いてしまいました。

Twitter で「にゃー」というポストを逃してしまって悔しい思いをしないように、以下のようなスクリプトを常にサーバ上に走らせておけば、幸せになれるかも知れません。

twitter-python

sudo easy_install python-twitter

インストールできます。

#!/usr/bin/env python
# vim:fileencoding=utf8

from time import sleep
from re import compile
from twitter import Api

me = Api('twitter_id','twitter_passwd')

norm = compile('\s+')

maxsid = 0
while True:
  for i in reversed(me.GetFriendsTimeline()):
    if maxsid >= i.id:
      continue
    maxsid = i.id
    text = norm.sub(' ', i.text)
    if text == 'にゃー':
      me.PostUpdate(text)
  sleep(600)

Twitter API を使っているので、漏れが出る可能性があります。よって、API を叩かずにスクレイピングしてポストを得る戦略が正しいと思うのですが、まあ、そこまで真剣にやる必要はない気がします。

追記

自分が鳴き続けたって気持ち悪いだけなので、@nyaa_nya というボットを作りました。