The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Skype::Any - Skype API wrapper for Perl

SYNOPSIS

  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;

DESCRIPTION

Skype::Any is Skype API wrapper. It was inspired by Skype4Py.

METHODS

new

  my $skype = Skype::Any->new();

Create new instance of Skype::Any. Notice that necessary Skype client is running.

name => 'Skype::Any' : Str

Name of your application. This name will be shown to the user, when your application uses Skype.

protocol => 8 : Num

Protocol number.

object

See below for more infomation.

user

  $skype->user($id);

Create new instance of Skype::Any::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 {
  });

profile, call, ..., these methods are the same operation.

profile

Skype::Any::Profile

call

Skype::Any::Call

message

Deprecated. You can use Skype::Any::ChatMessage.

Skype::Any::Message

chat

Skype::Any::Chat

chatmember

Skype::Any::ChatMember

chatmessage

Skype::Any::ChatMessage

voicemail

Skype::Any::VoiceMail

sms

Skype::Any::SMS

application

Skype::Any::Application

group

Skype::Any::Group

filetransfer

Skype::Any::FileTransfer

message_received

  $skype->message_received(sub { my ($msg) = @_; ... });

Register 'chatmessage' handler for when a chat message is coming.

message_received

  $skype->create_chat_with($username, $message);

Send a $message to $username.

Alias for:

  $skype->user($username)->chat->send_message($message);

run

Running an event loop.

ATTRIBUTES

api

Instance of Skype::Any::API. 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!");
  }

handler

Instance of Skype::Any::Handler. You can also register a handler:

  $skype->handler->register($name, sub { ... });

SEE ALSO

Public API Reference

AUTHOR

Takumi Akiyama <t.akiym at gmail.com>

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.