諸事情(便利な言葉)により、今更iPhone5を買ったのですが、それに伴っていろんな部分を一新しました。その成果の一部をメモしておきます。メモなので作業手順は省略しますが、リンク先を読めば、Tiarra導入できる知識レベルで充分に導入できるはずです。
前置き
(やってる本人達も含めて)たぶん誰にも理解できないでしょうが、IRCの某チャンネルにおいて、かろかろさんの帰宅に合わせて
(karo2)こんばんわー
(hageatama)えろえろさんだ!!!!
(karo2)Σ/´□`;\
というやりとりをもう6年にも渡って繰り返しています。それはすなわち、かろかろさんの帰宅発言をリアルタイムで通知するシステム構築の歴史です。
Gmail、im.kayac.com、boxcar、Prowl……iPhoneへのPush通知だけでもいろいろと試してきましたが、ようやく決定版と言えるレベルにたどり着きました。
概要
Tiarraでキーワードに反応してシェルスクリプトを起動するプラグイン→Pushサービス『Pushover』のAPIを叩くシェルスクリプト→iPhoneという流れです。
この方法のメリットは以下の通り。
- PushoverのPush通知が安定していて早い
- PushoverはAndroidとiPhoneに対応している
- TiarraのAutoプラグイン派生+シェルスクリプトという枯れていて、メンテ性もいいシステム
- 経路的にAPI叩くまでが一瞬なので、通知までのタイムラグが極めて小さい
- Tiarraを動かすサーバー以外の常時起動環境が不要
デメリットとしては
- Pushover頼みなのでサービスの品質や継続性が担保されない
- Pushoverアプリが450円
Auto::CMD
キーワードに反応しシェルコマンドを実行するだけのTiarra用モジュール(Auto::RunCMD)―海馬のかわり
上記記事のAuto::RunCMDを使わせていただきました。im.kayac.com向けのTiarra標準プラグインAuto::IMを下地に作ってあるので、Tiarraさえ動いていればまず動くはずです。
キーワードには正規表現も使えるようですし、設定もtiarra.confに足すだけで簡単です。
なお、かろかろさん迎撃のために自前でいろいろと機能を追加しましたが、たぶんそれは書いても意味が無いんで書きません(笑)
pushover.sh
muninの監視通知をpushoverで受信する―How does it feel?
上記記事の手順でpushover.shを仕込みました。
あとはpushover.shの呼び出しコマンドをAuto::CMD側に仕込むだけです。${text}で発言の中身なども取れるので、Auto::CMDやAuto::IMを参考に好きなように弄るといいでしょう。
おわりに
TIGを中心としてtiarraへいろいろと情報流し込んでいる人なら、非常に応用効くのではないでしょうか。WindowsPhoneへの通知なども含めていろいろなPush方法を試してきましたが、最速クラスで汎用性にも富んでると思います。
PushoverはIFTTTと連携して、各種Webサービスとの連携も取れますので、今後もいろいろと遊んでいきたいですね。