IRCクライアントのLimeChatには「マクロ機能」があり、これによって他のアプリケーションとの連携が可能になっています。
今回はTwitterのタイムラインをGrowl for Windowsに通知してみたいと思います。LimeChat2からTwitterを利用する方法についてはTwitterではじめる、IRCの使い方をご覧下さい。
Growlってなに?
Growlはさまざまなアプリケーションの通知情報をデスクトップに表示するソフトです。元々はMac用に開発されていましたが、2008年にWindowsへ移植が行われました。Mac版の解説はGrowl | Macの手書き説明書 さんが詳しいのでそちらをどうぞ。
Mac OS XではLimeChatを使わずとも、Growl専用のTwitterクライアント「Scalaris」が開発されています。Scalarisの解説はデスクトップにGrowlでタイムラインを表示するTwitterクライアント「Scalaris」へどうぞ。
Windows版は知名度の低さ[1]からか、対応するアプリケーションがまだまだ少ないのが現状ですが、付属の「growlnotify.exe」に引数を渡すことによって通知を行うことが出来るため、実際には幅広いアプリケーションで利用することが出来ます。今回もこのgrowlnotifyを使用することで通知を実現しています。
Growl for Windowsのダウンロード・インストール
Growl for Windowsの右側にある「Download Growl」をクリックします。
インストーラー形式のため、基本的にはNextをクリックするだけでインストールは完了。デフォルトのインストール先は以下のようになるはずです。
C:\Program Files\Growl for Windows
64bit版の場合は、
C:\Program Files (x86)\Growl for Windows
になります。
LimeChat2の設定
Growlをあらかじめ立ち上げた状態でLimeChat2を起動し、設定メニューから「マクロの設定」(キーボードショートカット派の方はAlt+Shift+Mキー)をクリックします。
マクロの設定ウィンドウが立ち上がったら「新規」をクリック。ファイル名を入力して下さいというダイアログが出たら適当な名前をつけます。ここでは「NoticeGrowl」とします。
マクロファイルの編集ウィンドウが立ち上がったら「新規」をクリック。
編集画面が表示されたら次のように設定していきます
- ユーザ名
- 特定のユーザの発言だけを通知させたい場合は、そのユーザのIDを@抜きで入力します[2]。空欄の場合は「自分以外の全てのユーザ」が指定されます。
- コマンド
- 「Privmsg」を選択。
- チャンネル
- どのチャンネルの発言を通知対象にするか選択します。全ての発言の場合は「#twitter」と入力。フォロー数が多いと一回の通知量が膨大になりますので、私は自分宛のリプライのみ拾う「#Mentions」を作成し、ここに指定しています。
- メッセージ
- ユーザ名、チャンネルで絞り込んだ発言からさらに特定の単語を含む発言のみを通知したい場合、ここにその単語を入力します。
- 動作
- 「Execute」を選択。
- 動作の情報
- 以下参照。
「動作の情報」が今回のポイントになります。まずは具体例を挙げてみます。
"C:\Program Files\Growl for Windows\growlnotify.exe" /i:"D:\twitter.png" /t:"%n" "%m"
このように入力した場合、Growlは以下のような通知を行います。(Growlのスキンは「Smokestack」を使用しています)
では個別に引数を見ていきます。
- “C:\Program Files\Growl for Windows\growlnotify.exe”
- growlnotify.exeまでのパスを入力します。通常ですとGrowl for Windowsのインストール先にそのまま置いてあるはずですので、ここを修正する必要はほとんど無いと思われます。
- /i:”D:\twitter.png”
- /i:の後にGrowlで使うアイコンを指定します。指定しないとデフォルトのアプリケーションアイコンが使われてしまい、見た目的にかなり格好が悪くなります。是非自前でアイコンを用意した方が良いでしょう。
- /t:”%n”
- /t:の後にタイトルを入力します。”%n”は「ユーザー名」を表します。
- “%m”
- 最後の”%m”はメッセージ(POST内容)を表します。
アイコンを発言するユーザーごとに変えられれば、もっとわかりやすい通知になると思います。アイデアとしては、ローカルに各Twitterユーザのアイコンを「(Twitter ID).jpg」という名前で保存し、動作の設定で以下のように入力すれば実現できます。
"C:\Program Files\Growl for Windows\growlnotify.exe" /i:"D:\%n.jpg" /t:"%n" "%m"
この場合の問題点は2つ。
- 存在しない%n.jpgを呼び出そうとした場合、GrowlがNULLエラーを吐いて落ちる
- Twitterのアイコンに.gifや.pngを使用している場合は、自分で.jpgに変換する必要がある
そもそもローカルに各ユーザーのTwitterアイコンを保存する作業が一手間かかりそうなので、私はアイコンについては妥協しています。
設定が完了したらOKをクリックし、「マクロの設定」ウィンドウでNoticeGrowlのtwitterサーバの上で右クリックをし、丸印をつけて閉じるをクリックします。
最初の通知の際にGrowl側で「growlnotify.exe」を認証する作業が行われるため、実際にLimeChat2からの通知が表示されはじめるのは2回目以降になります。
初めて表示されたときは、ちょっぴり感動しました。Growl for Windowsへの対応アプリがTwitterを機に増えてくれるといいですね。