Net::Async::XMPP − asynchronous XMPP client based on Protocol::XMPP and IO::Async::Protocol::Stream.
version 0.002
use
IO::Async::Loop;
use Net::Async::XMPP;
my $loop = IO::Async::Loop−>new;
my $client = Net::Async::XMPP::Client−>new(
on_message => sub {
my ($client, $msg) = @_;
warn "Message from " . $msg−>from .
" subject " . $msg−>subject . " body
" . $msg−>body;
$msg−>reply(
body => 'Message received: ' . $msg−>body
);
},
on_contact_request => sub {
my ($client, $contact) = @_;
warn "Contact request from " .
$contact−>jid;
},
on_presence => sub {
my ($client, $contact) = @_;
warn "Had a presence update from " .
$contact−>jid;
},
);
$loop−>add($client);
$client−>login(
jid => '[email protected]',
password => $ENV{NET_ASYNC_XMPP_PASSWORD},
);
$loop−>run;
See the Net::Async::XMPP::Client or Net::Async::XMPP::Server subclasses for more details.
Tom Molesworth <[email protected]>
With thanks to the following for contribution:
|
• |
Arthur Axel "fREW" Schmidt for testing, documentation, pointing out some of my mistakes, that sort of thing | ||
|
• |
Paul "LeoNerd" Evans for adding Futures to IO::Async (and writing both in the first place) | ||
|
• |
Matt Trout for testing early versions |
Copyright Tom Molesworth 2010−2014. Licensed under the same terms as Perl itself.