Skype::Any - Skype API wrapper for Perl
use Skype::Any; # ping-pong bot my $skype = Skype::Any->new(); $skype->message_received(sub { my ($msg) = @_; my $body = $msg->body; if ($body eq 'ping') { $msg->chat->send_message('pong'); } }); $skype->run;
If you can use Skype API, you have to start Skype.
When you start the script using Skype::Any, "Skype API Security" dialog will open automatically. Select "Allow this application to use Skype".
You can set the name of your application.
my $skype = Skype::Any->new( name => 'MyApp', );
You can manage your application and select allow/disallow API access.
It described with Mac, but you can do the same with Linux.
Skype::Any is Skype API wrapper. It was inspired by Skype4Py.
Note that Skype::Any is using Skype Desktop API. However, Skype Desktop API will stop working in December 2013. You can not use lastest version of Skype.
my $skype = Skype::Any->new()
Create an instance of Skype::Any.
Name of your application. This name will be shown to the user, when your application uses Skype.
Skype protocol number.
$skype->attach()
Attach to Skype. However, you need not call this method. When you call $skype->run(), it will be attach to Skype automatically.
$skype->run()
If you want to manage event loop, you have to call this method. e.g. running with Twiggy:
$skype->attach; my $twiggy = Twiggy::Server->new( host => $http_host, port => $http_port, ); $twiggy->register_service($app); $skype->run;
Running an event loop. You have to call this method at the end.
$skype->message_received(sub { ... })
$skype->message_received(sub { my ($chatmessage) = @_; ... });
Register 'chatmessage' handler for when a chat message is coming.
$skype->create_chat_with($username, $message)
Send a $message to $username.
Alias for:
$skype->user($username)->chat->send_message($message);
$skype->user($id)
Create new instance of Skype::Any::Object::User.
$skype->user(sub { ... })
Register _ (default) handler.
$skype->user($name => sub { ... }, ...)
Register $name handler.
$skype->user($id); $skype->user(sub { }); $skype->user($name => sub { });
this code similar to:
$skype->object(user => $id); $skype->object(user => sub { }); $skype->object(user => $name => sub { });
$skype->profile, $skype->call, ..., these methods are the same operation.
$skype->profile
$skype->call
$skype->profile()
Note that this method takes no argument. Profile object doesn't have id.
Skype::Any::Object::Profile
$skype->call()
Skype::Any::Object::Call
$skype->message()
Deprecated in Skype protocol 3. Use Skype::Any::Object::ChatMessage.
Skype::Any::Object::ChatMessage
Skype::Any::Object::Message
$skype->chat()
Skype::Any::Object::Chat
$skype->chatmember()
Skype::Any::Object::ChatMember
$skype->chatmessage()
$skype->voicemail()
Skype::Any::Object::VoiceMail
$skype->sms()
Skype::Any::Object::SMS
$skype->application()
Skype::Any::Object::Application
$skype->group()
Skype::Any::Object::Group
$skype->filetransfer()
Skype::Any::Object::FileTransfer
$skype->api
Instance of Skype::Any::API. You can call Skype API directly. e.g. send "Happy new year!" to all recent chats.
my $reply = $skype->api->send_command('SEARCH RECENTCHATS')->reply; $reply =~ s/^CHATS\s+//; for my $chatname (split /,\s+/ $reply) { my $chat = $skype->chat($chatname); $chat->send_message('Happy new year!"); }
$skype->handler
Instance of Skype::Any::Handler. You can also register a handler:
$skype->handler->register($name, sub { ... });
Skype::Any working on Mac and Linux. But it doesn't support Windows. Patches welcome.
Public API Reference
Copyright (C) Takumi Akiyama.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Takumi Akiyama <t.akiym@gmail.com>
To install Skype::Any, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Skype::Any
CPAN shell
perl -MCPAN -e shell install Skype::Any
For more information on module installation, please visit the detailed CPAN module installation guide.