ほんのとっかかりだけ。
use strict; use warnings; use Win32::OLE; my $user_name = shift || die; my $skype = Win32::OLE->new('Skype4COM.Skype'); unless ( $skype->Client->IsRunning ) { $skype->Client->Start(); } my $user = $skype->User($user_name); my $call = $skype->PlaceCall($user->Handle);
ユーザ名を +81***** と電話番号にすれば、Skype Out で普通の電話にも発信できた。
あとは音声を流し込めば (APIドキュメントによれば wav を流せるらしい)、サーバの障害通知に使えるなあ……
Linux版 Skype だと、D-Bus でアクセスできるらしい。Perl から使うなら Net::DBus か。
Linux版 はログインしようとすると terminate called after throwing an instance of 'RtError' といって落ちてしまうので試してない。