POE-Component-YahooMessenger
view release on metacpan or search on metacpan
232425262728293031323334353637383940414243}
# 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
) {
"$group:\n"
,
map
" $_\n"
, @{
$buddies
->{
$group
}};
}
lib/POE/Component/YahooMessenger.pm view on Meta::CPAN
212213214215216217218219220221222223224225226227228229230231232
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
254255256257258259260261262263264265266267268269270271272273274
),
);
}
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
330331332333334335336337338339340341342343344345346347348349350}
# 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
69707172737475767778798081828384858687888910
=>
'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 )