Skype API for Java をつかってメッセージを投げる

会社でビルドエラーをすぐに気づくためにSkypeになげることになった。
Java版をつくってもらったが、もっとシンプルなやつをGroovyでつくってみた。

http://skype.sourceforge.jp/ から skype_1.0.zip をダウンロードしてきて
releaseフォルダのskype.jar, swt.jarを%GROOVY_HOME%\lib に、, swt-win32-3232.dll を%GROOVY_HOME%\bin におく

あとは
groovy skypemessage.groovy チャット名 メッセージ
で投げることができる。

スクリプトの中味は以下のような感じでカスタマイズすればいいだろう。

//
// need libray http://skype.sourceforge.jp/
//  skype.jar, swt.jar, swt-win32-3232.dll 
//
import com.skype.Chat;
import com.skype.Skype;


def sendMessage(String chatName, String message) {
    Chat[] chats = Skype.getAllChats();
    for (Chat chat : chats) {
        String windowTitle = chat.getWindowTitle();
        // windowTitle : username | title  or title
        String[] titles = chat.getWindowTitle().split(" \\| ");
        if (titles.length == 2) {
            windowTitle = titles[1];
        }
        if (chatName.equals(windowTitle)) {
            chat.send(message);
            return;
        }
    }
}

if (args.size() < 2) {
	println "usage : skypemessage.groovy chatname message"
	return;
}

sendMessage(args[0], args[1]);


skype自体が起動してないともちろんエラーになる。
Skype.setDebug(true);
すると生のskype APIを投げているさまがわかります。

最初のアクセス時に「SkypeAPIをつかってSkypeにアクセスするけどいいのか」というメッセージがでる。
詳細→アップデイト→Skype API のアクセスコントロールで設定変更できる。