Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Skype API wrapper for Perl
Perl
branch: master

Checking in changes prior to tagging of version 0.06.

Changelog diff is:

diff --git a/Changes b/Changes
index a33b632..1ebf92c 100644
--- a/Changes
+++ b/Changes
@@ -2,6 +2,11 @@ Revision history for Perl extension Skype::Any

 {{$NEXT}}

+0.06 2013-12-03T10:16:34Z
+
+    - fix dependency module (again)
+    - fix indexing
+
 0.05 2013-11-29T22:31:58Z

     - fix dependency module
latest commit d35c2f5dce
@akiym authored

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

Something went wrong with that request. Please try again.