Ruby から Skype API を使用できる Ruby4Skype を速攻試してみた
Skype Developer Conference 2nd で Twitter4Skype を開発してアジアベスト賞を受賞した bopper さんがやってくれました。
受賞式後の懇親会でトロフィーにビールをついで一気に飲み干すところからして、只者ではないと思ってましたが、公約どおり Skype API を Ruby から使用できるライブラリ Ruby4Skype を公開してくれました。
すでに一週間前にリリースされていたとは。。。のどぐろさんのブログに書かれていたのをうかつにも見落としてました。
これを使えば、いろいろと面白そうなものが作れそう。久々わくわくしています。
さっそくインストールしてサンプルを動かしてみました。かかった時間はわずか10分ほど。
授賞式のときに bopper さんが、壇上でちゃちゃっとコードを書き、リクルートの Hotpepper API を使い Skype でレストラン検索をおこなって聴衆を驚かせていましたが、なるほどこのライブラリを使えばあっという間ですね。すごい、すごい。
手順を紹介。
前提として Windows に Ruby がインストールされていることが必要です。(もちろん Skype も)
インストールページよりライブラリをダウンロード。tar 形式ですが何とか展開します。
展開先にサンプルプログラムを置けばそのまま Skype API にアクセスできるのですが、今後どこからでもこのライブラリを使えるようにするために、lib 以下のフォルダ構造が合うようにファイルを c:\ruby\lib 以下に移します。
i386-msvcrt\swin.so が上書きされるので、念のために元の swin.so を _swin.so などと名前を変更しておきます。
hotpepper.rb などと適当に名前を付けたファイルを作成し、サンプルページの Hotpepper Chat Robot のコードをコピペします。
このサンプルを動かすには Hotpepper API Ruby 向けラッパーが必要なので、たたみラボのページからソース一式を入手します。tar 形式のファイルを展開し、lib 以下の hotpepper_api.rb を c:\ruby\lib\ruby\site_ruby\1.8 に移動しておきます。
サンプルを実験するには Skype アカウントが2個必要です。Skype を起動し、Ruby4Skype 用に用意した別アカウントでログインします。
この状態で、さきほど作った hotpepper.rb をコマンドライン上から
ruby hotpepper.rb
で起動。初回は ruby.exe が Skype と連携しようとする許可を求めてくるので、許可します。
別にもうひとつ Skype を立ち上げ、そちらは通常使っているアカウントでログインし、Ruby4Skype 用のアカウントにチャットで
#search 新宿
などと話しかけます。
すると以下の通り、新宿界隈のレストランを案内してくれます。
家のマシンで Ruby4Skype 用アカウントの Skype を立ち上げっぱなしにしておけば、外から Skype でそのアカウントに話しかけていろいろ命令を実行させることができそうです。
Skype 2.2 for Windows Mobile なんていうのもあるようなので、W-ZERO3 からもアクセスできるかも。開発意欲がそそられます。
2007/10/21 03:26:17