現在セリフデータ収集中なので動作してません*1が、GAE/PythonでTwitter BOTつくってました。
抱き枕カバー到着で発作的につくりはじめたやつなので、当然のごとくシェリス様です。むしろこっちが先で、なんでか知らんがMUGENキャラ化してた。
で、そのメモを残そうかと。
使ったものは以下のライブラリ
- Djang (GAE/Python付属)
- python-twitter
- python-oauth2
- simplejson
- httplib2 (たしかpython-twitterあたりが依存してた気がする)
ほいでTwitter API接続部分はpython-twitterにぶん投げたわけですが、とりあえずファイルキャッシュ関係で動作しないわけですよ (python-twitterが)。
ググルとキャッシュを使わないようにすればいいらしんですが、何故かNoneをセットしてもキャッシュで落ちるという謎の動作が発生。なんでかなー、と思ってたんですが開発用サーバを再起動したら動くようになった。謎。*2
TIPS
とりあえず今回覚えた変な書き方。
# -*- coding: UTF-8 -*- ''' Created on 2011/03/05 @author: ''' import sys sys.path.append('Library/');
上記の内容を書き込んだファイルを用意し、至る所でimportするとライブラリをアプリケーションのルートに展開しなくて済む。もっといい方法教えてください。
ところで
一番時間かかったのって結局ツイート追加系の管理画面だったり、つぶやくツイート選択ロジックだったり。
ツイート選択については
- 最近つぶやいていないツイート候補を選択
- それらをrandomモジュールのshuffle関数でランダム化
- その先頭を選択
といことになっているので、Twitter側の同一つぶやきをつぶやけない問題を回避するためには直近10ツイートに同じのがなければならないので、候補+10のパターンが予め必要になります。(だから必要パターンを35にしている。選択対象が25の設定)