GAE(Google Apps Engine)でTwitter用Botを作ろう(概要編)

f:id:p_r_party:20100913135453p:image


最近、GAEを使ったTwitter用のBotを作成してみようと急に思い立つ。

何のBotを作るかは秘密なのですが、設計〜製造までメモがてらここに書いていきます。

アプリ全体の概要

今回作るBotの概要は以下の通り。

Botアカウントで質問や問題をつぶやき
文末に回答ページのURLを短縮URLで付与し、自サイトへ誘導する。


どんなつぶやきかというと

p_r_partytter : 下の記号はある法則に従って正しく並んでいます。「?」に入る記号は何? ◎ ◎ ◎ ◎ ◎ ◎ ? ◎ ◎ ◎ 答:http://bit.ly/aaGdTQ

みたいなイメージです。答えを見るためには短縮アドレスをクリックするっていう。


イメージ図は以下のような感じ。要するにGAEとTwitterとBit.lyを使うってだけです。

f:id:p_r_party:20100913134423p:image

【一応凡例】

青矢印→ユーザの導線
①ユーザがWEBを参照し、BOTのTLにアクセス
②サーバが永続化層からBOTの情報取り出す
③ユーザが②の情報に記載されているアドレスにアクセス
 →解答を見るため。
④サーバが解答情報を返却(図だと①になってる・・・。すんません。)


赤矢印→バッチでツイートをプッシュする導線
前提)毎日定時にバッチが起動する。
①バッチサーバがGAEのDataStoreから問題・質問情報を取得する。
②バッチサーバが今回生成する解答ページのURLを決定し、bit.lyのAPIを使用して短縮URLを取得する。
③TwitterAPIを使用してツイートをプッシュする。


黒矢印→バッチでユーザをフォローする導線
前提)毎日定時にバッチが起動する。
①TwitterAPIを使用し、特定の文字列をツイートしているユーザをフォローする。

こんな感じでしょうか。まぁ簡単なアプリなんで、もう実装しちゃいます。