Skypeがapple scriptから叩けるAPIを公開していた
全然知らなかったけど、いつの間にかMacにもAPIが来てた。 これで好きなだけSkypeのボットが作れるぞ。
基本的にはSkypeに対してAppleScriptのsend command でコマンドを送ることでAPIを利用出来る
send command "SKYPE_API_COMMAND ARGUMENTS" script name "YOUR_SCRIPT_NAME"
ドキュメント
まずはドキュメント
CocoaやCarbonなんかも対応している
メッセージを送ってみる
以下の手順でSkypeに対してメッセージを送信できる。
- SEARCH CHATSやSEARCH RECENTCHATSを使って、chat_idを取得する
- CHATMESSAGEコマンドを投げる
チャットウィンドウにメッセージを送るにはCHATMESSAGEを使うがこれに渡す引数chat_idの取得方法は複数あって、今のところSEARCH RECENTCHATSしか成功してない。(勉強中)
RECENTCHATSが成功すると以下のようなリストが文字列で返ってくる。このCSVな要素の1つ1つがchat_idとなる
CHATS #chat_owner/$hash, #chat_owner/$hash, #chat_owner/$hash, ......
この結果が見えたらあとは楽勝で、以下のようなAppleScriptでメッセージを送信できる。
tell application "Skype"
send command "CHATMESSAGE #chat_owner/$hash MESSAGE_YOU_WANT_TO_SEND" script name "YOUR SCRIPT NAME"
end tell
初回はスクリプトからのSkypeへのアクセスを許可するかどうかのダイアログがSkype側で表示されるので、権限を与える必要がある。
まとめ
MacでSkypeAPIって簡単につかえたんだ!