POE-Component-YahooMessenger
view release on metacpan or search on metacpan
}
# 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
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
),
);
}
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
}
# 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
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.263 second using v1.01-cache-2.11-cpan-87723dcf8b7 )