GAE/Jを使ってTwitterの時間お知らせBotを作ってみたよ

TwitterのBotを作ってみました。
twitter@TimeLineKeeper
指定した時間にReply/DMしてくれます。

APIの制限がどれくらいでかかるとか、処理にどれくらいかかるか全く読めないので停止しちゃうかもしれません。
その時は多めに見てやってください。

(2009/1/20追記)
フォロワーのつぶやきを自動的に拾えるようにしました。
(2009/1/20追記終わり)

GoogleAppEngine/Javaで動かしています。

【きっかけ】

このBotを作ったきっかけはtwitter@msmgさんのこのポスト

【使い方】

1、TimeLineKeeperをフォローします。 2、お知らせしてほしい時間を入れてTweet(つぶやき)。または、BotにReply/DMしてください。 3、その時間になったらBotがReply/DMでお知らせします。

【つぶやき方】

○Tweet   [2010/1/20 17:25]夕食作る ○Reply   @TimeLineKeeper [2010/1/20 17:25]夕食作る ○DM   [2010/1/20 17:25]夕食作る

今のところ10分単位でお知らせしています。
[17:25]とかだったら、自動的に[17:30]に補正します。
上の例だとだいたい17:20~12:30の間にお知らせをします。

[]内の日付は省略可能です。
・[1/30 9:00]嫁誕生日! メール必須!!
・[23:30]終電リミットなので帰る

時間(24時制)は必須です。
日付を指定する場合は、時間の前にスペースを入れてください。
『[]』は必ず先頭に。
『[:]』の無いTweet/Reply/DMはスルーします。

Twitterで設定しているタイムゾーンで時間を処理しています。

Tweet/Replyした内容を見られたく無い場合、DMでOKです。
Botをフォローしてある程度(30分ごと)経つとフォロー返しをするので、DMで送信してください。
時間になったらBotが、
・DMで指定した内容をDMでお知らせ
・DMで指定した時間に連絡だけReplyでお知らせ

今のところお知らせを設定できる数は一つだけにしています。
何度設定しても最後に送ったTweet/Reply/DMを優先します。

受付後はかならずBotがReplyでメッセージを送るので、来ない場合は、何らかの理由でスルーしていると思います。

【所感】

実際使ってみるとTweetで時間だけ入れるのが一番使いやすかったり^^; 例)[22:00] これだけで、その時間にReplyが来ます。

【今後】

・様子をみてお知らせを3つ~5つぐらい設定できるようにする ・設定した内容を消す方法が無いので、削除する方法を作る ・[Every 9:00]とかできるとおもしろいかも

【その他】

Tweet/Reply/DMに対して、お知らせはDMだけでの方が良いかと悩みました。 TL上で完結できれば自分としてはいいかと思って今の形になりました。 この辺りご意見いただけるとありがたいです。

Tweet/Reply だとお知らせの内容はダダ漏れなので、このあたりはDMを任意で選んでください。

【おまけ】

Botのキャラクターに悩みました。結局ありきたりな『受付しましたつぶやき』を返していますが・・・

もしツンデレ妹版とかメイド版があったら喜ぶ人は、連絡ください。
Botのイメージとかメッセージ考えて頂けたら、お手伝いします(笑)

【おまけ2】

このBotを作ってから『Remember The Milk』とか『TweetsQueue』に気付いたのは秘密です・・・