POE-Component-YahooMessenger

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
}
 
# send message
$kernel->post(ym => send_message => {
    to => $buddy_id,
    message => "Hello World",
});
 
# change your status
$kernel->post(ym => change_my_status => {
    busy => 0, # 0 = not busy
    message => "going for lunch now!",
});
 
# retrieve your buddies list
$kernel->post(ym => buddies => 'retrieve_buddies');
sub retrieve_buddies {
    my $buddies = $_[ARG0];
    for my $group (keys %$buddies) {
        print "$group:\n", map "  $_\n", @{$buddies->{$group}};
    }

lib/POE/Component/YahooMessenger.pm  view on Meta::CPAN

212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
        my $status_message;
        if ($status_code == 99) {
            $status_message = $event->status_message($status_num);
            $status_num++;
        }
        my $goes_online = POE::Component::YahooMessenger::Event->new(
            'goes_online', 0, {
                buddy_id => $event->buddy_id($num),
                status_code => $status_code,
                status_message => $status_message,
                busy_code => $event->busy_code($num),
            },
        );
        $kernel->yield(notify => $goes_online->name, $goes_online);
    }
}
 
sub goes_offline {
    my($kernel, $heap, $event) = @_[KERNEL, HEAP, ARG0];
    delete $heap->{online}->{$event->buddy_id};
    $kernel->yield(notify => $event->name, $event);

lib/POE/Component/YahooMessenger.pm  view on Meta::CPAN

254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
        ),
    );
}
 
sub change_my_status {
    my($kernel, $heap, $args) = @_[KERNEL, HEAP, ARG0];
    $heap->{sock}->put(
        POE::Component::YahooMessenger::Event->new(
            'change_status', 0, {
                status_code => 99, # XXX custom status
                busy_code => $args->{busy} || 0,
                status_message => $args->{message},
            },
        ),
    );
}
 
sub buddies {
    my($kernel, $heap, $sender, $reply) = @_[KERNEL, HEAP, SENDER, ARG0];
    $kernel->post($sender => $reply => $heap->{buddies});
}

lib/POE/Component/YahooMessenger.pm  view on Meta::CPAN

330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
}
 
# send message
$kernel->post(ym => send_message => {
    to => $buddy_id,
    message => "Hello World",
});
 
# change your status
$kernel->post(ym => change_my_status => {
    busy => 0, # 0 = not busy
    message => "going for lunch now!",
});
 
# retrieve your buddies list
$kernel->post(ym => buddies => 'retrieve_buddies');
sub retrieve_buddies {
    my $buddies = $_[ARG0];
    for my $buddy_id (keys %$buddies) {
        printf "%s (group: %s)\n", $buddy_id, $buddies->{$buddy_id};
    }

lib/POE/Component/YahooMessenger/Constants.pm  view on Meta::CPAN

69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
10 => 'status_code',
11 => 'session_id',
13 => 'live',
14 => 'message',
15 => 'received_time',
16 => 'error_message',
19 => 'status_message',
20 => 'download_url',
27 => 'filename',
28 => 'filesize',
47 => 'busy_code',
49 => 'command_name',    # XXX 'FILEXFER'
50 => 'invitation_from',
52 => 'invitation_with', # XXX
53 => 'download_filename',
54 => 'protocol',                # XXX 'MSG1.0'
57 => 'conference_name',
58 => 'invitation_message',
59 => 'cookie',
65 => 'group',
87 => 'buddy_list',



( run in 0.350 second using v1.01-cache-2.11-cpan-05444aca049 )