Python Extension for Windows (pywin32; http://sourceforge.net/projects/pywin32/) と Skype4COM (https://developer.skype.com/Download) を使うと簡単にSkypeをPythonから操作できる。
おっと、当然ですが Windows の話。クロスプラットフォームにするなら、Skype4Java (Java版のAPIラッパー)使ってJythonで書くのがcoolかも。
pywin32はeasy_installで入ります。
>easy_install pywin32
インストール後、*.dll を windows\system32 にコピーする必要がある場合があるので注意(ちょっとはまった)。
追記
*.dllは、
%PYTHONHOME%\Lib\site-packages\pywin32*\pywin32_system32
にある。
Skyp4COMはダウンロードして、展開してできたDLLをカレントにおいておけばとりあえずOK。これは勘違い。
- Skypeインストール時に拡張なんたらオプションを指定していれば、すでに入っている。
- 入っていなかったら、ダウンロードしたDLLを、
>regsvr32 skype4com.dll
で登録する。
のどちらかが必要。
チャットで発言する:
>>> import win32com.client >>> skype = win32com.client.Dispatch('Skype4COM.Skype') >>> skype.ActiveChats[0].SendMessage('test') <COMObject SendMessage>
コールする:
>>> import win32com.client >>> skype = win32com.client.Dispatch('Skype4COM.Skype') >>> call = skype.PlaceCall('Skype名')
Friendsを取得する
>>> import win32com.client >>> skype = win32com.client.Dispatch('Skype4COM.Skype') >>> for f in skype.Friends: ... print f.Handle, f.FullName ...
Skype4COM は、Skype社のオフィシャルなAPIラッパーです。単にSkypeを裏から操作するだけでなく、なんだかいろいろなことができそうです。
ドキュメント https://developer.skype.com/Docs/Skype4COMLib
Skype4Py (http://skype4py.sourceforge.net/) というのもあるみたい。クロスプラットフォーム(とりあえずLinuxとWindows)の、Pythonラッパー。
追記
こっちにも書いた→ http://www.objectclub.jp/ml-arch/magazine/207.html