風柳メモ

ソフトウェア・プログラミング関連の覚書が中心

TwitBot Clubをちょっとバージョンアップしました

気づけば本家の方早くもバージョン1.3になっていたので

http://twithook.appspot.com/botclub/(元記事はこちら)も少しだけ改修。

  1. {tweet}で元のつぶやきの内容を取り込めるようにしました。(ランダム応答モード時のみ)
  2. 順列/ランダムモードでも時刻が埋め込めるようになりました(例:{year}{month}{day}{hour}{minute}分)。

実例はこちら(TwitBot Club サンプルbot (@botclub_s) | Twitter)

投稿文リスト欄

やぁ、{id}さん。RT {tweet}
ども、{name}さん。RT {tweet}
ポーン!{name}さんに、{hour}時{minute}分をお知らせしまーす。

応答パターン欄

{
"いろは":["いろはにほへと","ちりぬるを","わかよたれそ","つねならむ","うひのおくやま","けふこへて","あさきゆめみし","えひもせす","ん",],

"占い":["{name}さん、大吉ですよ、すごい!","{name}さんは…中吉かな?","{name}さんは、小吉ですね。","{name}さんは、吉です。","{name}さん、凶みたいですよ、気をつけて!",],

"時報":["ただいま日本時間の{year}年{month}月{day}日 {hour}時{minute}分頃です…多分。",],

"[ほ誉]め[ろてた]":["{name}さん、すばらしい!RT {tweet}","{name}さん、お見事。RT {tweet}","すごい、{name}さん!RT {tweet}",],

}

例えば『@botclub_s ほめて』とか呟いてみてください。

補足

本家(PHP版)のバージョン1.3との機能面での違いとかです。

  • 『一部の環境での文字化けが解消』
    →未確認です(多分、PHP版特有の現象だと思います)。
  • 『リプライが、どの発言に対するリプライか表示されるようになりました』
    →update時にin_reply_to_status_idを入れるようにした、ということだと思いますが、これはこちらでは元々こうなっています。
    なお、特定のつぶやきへの返信として(in_reply_to_status_idを明示して)発言されたつぶやきには、bot宛であっても(頭に『@bot名』がついていても)反応しません*1ひとまず対応
  • 『発言内容に、年、月、日、時、分、秒、相手のID、名前、発言を組み込めるようになりました』
    →“年、月、日、時、分、秒、相手のID、名前”*2は元々対応済みでしたので、今回新たに“発言{tweet}”だけ追加しました。
    また、日時についてはランダム応答時以外でも埋めこめるようにしました。
  • 『特定の単語に反応する機能で、正規表現が使えるようになりました』
    前回省略していますが、"反応する文字列"は実は最初から正規表現に対応していました*3
  • 『RTに反応するかどうか、文頭以外の@にも反応するかどうかを選べるようになりました』
    申し訳ありませんが、この機能は未対応です。ひとまず対応

なお、当方は『EasyBotter - プログラミングができなくても作れるTwitter botの作り方』の方は、当該ページを読んだだけで、未だに実際には試してません(笑)。元のソースコード(PHP)さえもほとんど見ていないため、動作の細かい違いや、本家の方には無い不具合などが存在している可能性が高いです。ご了承願います。

*1:やぎさんの手紙状態(bot同士で無限往復)を防ぐためにこうしてます。

*2:あんまり意味無いか、と思って前回は書きませんでしたが、秒も{second}で取り込めるようにはしています。

*3:正確には、正規表現しか使えません(汗)。