Skip to content
Skype API wrapper for Perl
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
img
lib/Skype
t
xt
.gitignore
Build.PL
Changes
LICENSE
META.json
README.md
cpanfile
minil.toml

README.md

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;

STARTING

  1. Start Skype

    If you can use Skype API, you have to start Skype.

  2. Allow API access

    When you start the script using Skype::Any, "Skype API Security" dialog will open automatically. Select "Allow this application to use Skype".

  3. Manage API access

    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.

DESCRIPTION

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.

METHODS

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

    Create an instance of Skype::Any.

    • name => 'Skype::Any' : Str

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

    • protocol => 8 : Num

      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.

    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;
    
  • $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);
    

OBJECTS

ATTRIBUTES

  • $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 { ... });
    

SUPPORTS

Skype::Any working on Mac and Linux. But it doesn't support Windows. Patches welcome.

SEE ALSO

Public API Reference

LICENSE

Copyright (C) Takumi Akiyama.

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

AUTHOR

Takumi Akiyama t.akiym@gmail.com

You can’t perform that action at this time.