心魅 - cocoromi -

半角スペース時々全角

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に対してメッセージを送信できる。

  1. SEARCH CHATSやSEARCH RECENTCHATSを使って、chat_idを取得する
  2. 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って簡単につかえたんだ!