skype-cli
昨日のコードを元に、skype-cli
というコマンドラインツールを書いた。
Skype の Desktop API っていうのはマシン上で起動している Skype と通信することで、Skypeの機能にアクセスするAPIで、プラットフォーム毎に通信手段はことなるが、つながってしまったあとの通信内容はテキストベースのプロトコルとなっている。
なので、このテキストプロトコルをtelnet感覚で標準入出力でアクセスできるツールを作ってみたという感じ。
これを子プロセスで実行することで、nodeやEmacsなどからも簡単にSkype APIがたたける、はず。
なんだけど、実際にnodeで以下のようなコードを書いてみてもうまく動かない。
var child_process = require("child_process");
var skype = child_process.spawn("./skype-cli");
skype.stdout.setEncoding("utf8");
skype.stdout.on("data", function (data) {
console.log("stdout: %s", data);
});
skype.stderr.setEncoding("utf8");
skype.stderr.on("data", function (data) {
console.log("stderr: %s", data);
});
process.stdin.resume();
process.stdin.setEncoding("utf8");
process.stdin.pipe(skype.stdin, { end: false });
skype.on("exit", function (code) { process.exit(code) });
なーんでか。