SkypeAPIをRubyから利用する「Ruby4Skype」
「Ruby4SkypeがGemでインストールできるようになったよ。」
と作者のbopperさんから連絡をもらったので、早速使ってみた。
Ruby4SkypeはRubyからSkypeAPIを簡単に利用できるようにしたラッパーである。ちなみにbopperさんはSkype社が主催したマッシュアップコンテストでアジア最優秀賞をとったTwitter4Skypeの作者だ。しかも若くてイケメン。許せんw
しかしこのイケメンは、サーバーの利用料金払い忘れて、Twitter4Skypeの公開サイトを飛ばしてしまったらしいw
さ、さてインストール方法は
gem install Ruby4Skype
でOK。swin.soが別途必要なので入っていない場合はインストールを。
こちらにリファレンスがあるけれども・・・リファレンスはまだ未完成。なので、プログラムを組むときにちょっとした深みにはまる可能性大・・・戻り値の型がわからないとか。゜゜(>ヘ<)゜ ゜。ビエェーン
bopperさんに協力してもらって、サンプルを作ってみたので、興味のある人は参考にしてみてください。
Skypeチャットメッセージのロギングシステム
require 'skypeapi'
require 'nkf'
SkypeAPI.init
SkypeAPI.attachWait
def Chatlog(chatmessage)
opt = "-s -xm0"
strtime = chatmessage.getTimestamp.strftime(”%Y/%m/%d %H:%M:%S”)
chatname = chatmessage.getChat.getName
msg = chatmessage.getBody
user = chatmessage.getFrom
stbuf = strtime + ":" + chatname + ":" + user.getFullname + ":" + msg
stbuf = NKF.nkf(opt,stbuf)
open("c:\\chatlog.txt","a+") do |file|
file.puts stbuf
end
end
SkypeAPI::ChatMessage.setNotify :Status, 'RECEIVED' do |chatmessage|
Chatlog(chatmessage)
end
SkypeAPI::ChatMessage.setNotify :Status, 'SENT' do |chatmessage|
Chatlog(chatmessage)
end
loop do
SkypeAPI.polling
sleep 0.123
end
こんな感じでログがでるはず。
2008/02/07 13:58:39:#○○/$○○;b29e1136f1e18cd9:のどぐろ:ロギングしすてむ作ってみた。
2008/02/07 13:59:07:#○○/$○○;b29e1136f1e18cd9:のどぐろ:こんなの作れるよーとサンプルつきでブログにあげるよ。
2008/02/07 14:01:02:#○○/$○○;b29e1136f1e18cd9:bo:よろしくお願いします。自前のBlogは消えてしまいましたし。
#支払い忘れてたんですよwww
2008/02/07 14:03:09:#○○/$○○;b29e1136f1e18cd9:のどぐろ:かっこわるい>bo
○○にはSkypeIDが入ります。