プログラミングができなくても作れるTwitter botの作り方 の@phaさんのコードをお借りして少し勉強してみました。
すぐさま使えて大変読みやすいコードで感激したのですが、ドロリッチなうみたいなことをやってみたくて改造してみました。
僕の理解が正しければ、このボットはREST APIのみを使用していて、アカウント中心に動作しているようです。リプライに反応するとか、自分のタイムラインに反応するとかいうことです。
自分のフォロワーではない人たちがつぶやいた言葉に反応させるためにはSearch APIから条件を指定してツイートを集めて、これに反応させるようなので、EasyBotter.phpを拡張しました。
やっていることは、Search APIからJson形式でツイートを取得して、これをEasyBotter.phpの既存の関数に潜らせて、返信の仕組みもEasyBotter.phpと同じreply_pattern.phpを使っています。
誰かの役に立つかもしれないので、一番下にサンプルを置いておきます。
・Search APIからは最大で100件まで取得し、次のページまで取りに行きません。
使用したバージョン: EasyBotterバージョン2.04beta
SoEasyBotter.php, interrobot.php, interrobot_reply_pattern.php を追加しました。interrobot.php を bot.php と同じように使用します。
そのままだと、screen_name等メンバー変数が使えなかったので、EasyBotter.phpのメンバ変数をprivateからprotectedに変更しました。残りのファイルには手を触れていません。
バージョン2.04に上記のファイルを追加して、EasyBotter.phpに変更を加えた形で圧縮しました。満足にテストしていないので、参考程度にしてください。setting.php等はEasyBotterを使うのと同じように設定が必要です。
一般的すぎる言葉を検索する言葉に加えると、呼ばれる度に大量のリプライをばらまくことになるので気をつけてください。
ソースコードは各自の責任範囲で自由にお使いください。