Blog.おにぎりたまごうぃんなー

Suzuki Yuki@s12bt おべんと箱みたいに色々つめこみたい。仕事とかデザインとか料理とか好きなもののことを書きます。

はじめてのTwitter bot @ Wndows server 2008

tunaco誕生

id:phaさんの
プログラミングができなくても作れるTwitter botの作り方
を見て、これならスズキにもできるんじゃないかと!
うちのサーバーさんにタスクを与えてみよう!!


というわけで、くいしんbot、tunacoを作ってみたよ!
つなこ (tunaco) on Twitter
post_random.phpを使って、1時間に1度食べ物の話を。
reply_random.phpを使って、@飛ばしたときに何かを適当に返してくれます。


手順は

  1. 下からファイルをダウンロードする
  2. エディタを使って、ダウンロードしたファイルにbotのユーザー名、パスワードなどの設定や、botに発言させたい内容を書き込む
  3. 編集したファイルをサーバーにアップロードする
  4. アップロードしたプログラムを定期的に実行する
プログラミングができなくても作れるTwitter botの作り方

なのですが、4.がわからなかった。
あれ?cronってLinuxだっけ?Windowsは?どうすればいいの?
というのも、我が家のドメインをとったはいいもの、
お外に何も公開していないサーバーさんはWindows server 2008.


というわけで、タスクスケジューラーを使用してやってみたのですが
詰まった部分もあったので手順を公開してみるよー。

post_ramdom.phpをタスクスケジューラーで動かす

手順1~3は、リンク先に丁寧な解説があるので略。
タスクスケジューラーを起動。
スタート > 管理ツール > タスク スケジューラー
f:id:s12bt:20091012192716p:image
タスクの作成をクリック。


全般タブ
名前をつける(ここでは、tunaco_ramdomとか)
セキュリティーオプションの[ユーザーがログオンしているかどうかに関わらず実行する]にチェック


トリガ
実行したい間隔やタイミングをセットするところ。新規作成でトリガを作る。
tunaco_ramdamは、1回起動したらあと定期的にPostし続けるようにしたかったので

  • 設定: [1回]
  • 詳細設定:[繰り返し間隔(1時間)、継続時間(無期限)]、[有効]

で設定。
繰り返し間隔は、2時間間隔くらいでやりたかったのだけれど、5分,10分,15分,30分,1時間からの選択だったので1時間をチョイス。
きっと細かく設定すれば2時間でも3時間でもできるんだろうけれど、単純な設定でやろうとすると、こう。


操作タブ
わからなかったのがココ。
タブを開いて、新規作成で操作を作ります。
f:id:s12bt:20091012220643p:image

  • 操作:プログラムの開始
  • 設定
    • プログラム/スクリプト:PHPphp.exe
    • 引数:post_ramdam.phpをフルパスで
    • 開始(オプション):post_ramdam.phpのあるディレクトリ

最初、開始に何も入れずに実行していて、phpはちゃんと叩かれてるのにプログラムが実行されないっていう状態でした。
プログラムを実行する場所? Linuxだとcdでちゃんとそのディレクトリに移動して実行するイメージ。
なんて説明したらいいのかはよくわからないのだけれど。これからよくよく勉強します。。。
それにしても、開始って…開始って言葉じゃわからないよ…。


あとはオプション。
というか詰まったのは、操作タブのところだったので、あとはサクサクいけるはず。

reply_random.phpをタスクスケジューラーで動かす

基本的には、post_ramdomと一緒。

仕組みとしては、$cron=5; に設定した場合、5分ごとに、5分前までのreplyを取得するという処理を行っています。

とあるように、トリガタブで設定する時間間隔と、$cronの値を一緒にしてあげればいいだけ。
上にも書いたように、繰り返し間隔は5分,10分,15分,30分,1時間からの選択になるので、tunacoさんは5分間隔でお返事してくれるようにしてあります。

これでtunacoに命が吹き込まれました。

f:id:s12bt:20091012222408p:image

ツナ子かわいいよツナ子。
でも、一方的に食べ物の話をしてくるウザいやつなので、なんとかしたいと思っています。

アイディア
  • 何か食べ物を@したら、「○○おいしい!モグモグ」って返事する。ex.チョコレートおいしい!
  • おやつくれた人がfollowしてくれてる人だったら、follow返しする
  • AM3:00に「おやつの時間だ!!」、AM3:03に「あ、間違えちゃった…」ってしゃべる


夢は膨らむばかりですね!
DLしてテキストの中身書いてアップしただけなのに、愛着湧きまくりで大変です。
もっと可愛いツナ子にしていきたいなぁ。