6月 302013
gem install skypehttps://github.com/shokai/skype-ruby
今v0.2.1になった。
主にrb-appscript廃止と、Chat APIとCall APIのラッパーを作った。
SkypeのAPIは建てまし続けた旅館のようになっていて、素直にラッパーを作ると逆に意味不明になると思ったので俺が欲しい機能を俺が欲しい形式で使えるようにしていく方針。
もちろんSkype.execにSkype APIの文字列を渡せば全機能が使えるようになっているので問題ない。
rb-appscript廃止
新しいmacbook airにrb-appscriptインストールしようとしたらCarbon関係のネイティブがビルドできなくてインストールできなかったのでやめた。開発停止しているらしいし。
/usr/bin/osascriptに-eでapplescript渡して実行することにした。
Chat APIのラッパー
Skypeはchatを選択するときにIDで指定するんだけど、IDは同じチャットでも人によっては違うIDに見えていたり時間経過で変化してしまっていて、botを作る時に使い勝手が悪かった。こうなった。
require 'skype'chatはmessageを受信イベントで受け取れるようにしようか考えている。
chat = Skype.chats.find{|c| c.members.include? "shokaishokai" and c.topic =~ /testchat/ }
chat.post "hello chat!!" # 投稿
chat.messages.each do |m|
puts m
end
Call APIのラッパー
たとえば相手が通話に出た瞬間に切るのはこうやるrequire 'skype'
call = Skype.call "shokaishokai"
while !call.talking?
puts call.status
sleep 1
end
call.hangup if call.talking?