読者です 読者をやめる 読者になる 読者になる

chikuchikugonzalezの雑記帳

趣味とか日記とかメモとか(∩゚д゚)

GAEで動作するTwitter BOTとか作ってたりもした

現在セリフデータ収集中なので動作してません*1が、GAE/PythonTwitter BOTつくってました。
抱き枕カバー到着で発作的につくりはじめたやつなので、当然のごとくシェリス様です。むしろこっちが先で、なんでか知らんがMUGENキャラ化してた。

で、そのメモを残そうかと。

使ったものは以下のライブラリ

ほいで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するとライブラリをアプリケーションのルートに展開しなくて済む。もっといい方法教えてください。

ところで

一番時間かかったのって結局ツイート追加系の管理画面だったり、つぶやくツイート選択ロジックだったり。
ツイート選択については

  1. 最近つぶやいていないツイート候補を選択
  2. それらをrandomモジュールのshuffle関数でランダム化
  3. その先頭を選択

といことになっているので、Twitter側の同一つぶやきをつぶやけない問題を回避するためには直近10ツイートに同じのがなければならないので、候補+10のパターンが予め必要になります。(だから必要パターンを35にしている。選択対象が25の設定)

*1:ローテーションを考えると35パターンは必須

*2:ちなみに再起動するたびにoauth2かpython-twitterのどちらかがエラーになります。謎