… | |
… | |
3 | use utf8; |
3 | use utf8; |
4 | use Event; |
4 | use Event; |
5 | use AnyEvent; |
5 | use AnyEvent; |
6 | use Net::XMPP2::Client; |
6 | use Net::XMPP2::Client; |
7 | use Net::XMPP2::Ext::Disco; |
7 | use Net::XMPP2::Ext::Disco; |
|
|
8 | use Net::XMPP2::Ext::DataForm; |
8 | |
9 | |
9 | my $j = AnyEvent->condvar; |
10 | my $j = AnyEvent->condvar; |
10 | my $cl = Net::XMPP2::Client->new (debug => 1); |
11 | my $cl = Net::XMPP2::Client->new (debug => 1); |
11 | my $d = Net::XMPP2::Ext::Disco->new; |
12 | my $d = Net::XMPP2::Ext::Disco->new; |
12 | $cl->add_extension ($d); |
13 | $cl->add_extension ($d); |
… | |
… | |
23 | print "ERROR: " . $err->string . "\n"; |
24 | print "ERROR: " . $err->string . "\n"; |
24 | 1 |
25 | 1 |
25 | }, |
26 | }, |
26 | session_ready => sub { |
27 | session_ready => sub { |
27 | my ($cl, $acc) = @_; |
28 | my ($cl, $acc) = @_; |
|
|
29 | $d->request_info ($acc->connection (), 'ukaetec@conference.jabber.org', undef, sub { |
|
|
30 | my ($d, $i, $e) = @_; |
|
|
31 | my (@q) = $i->xml_node ()->find_all ([qw/data_form x/]); |
|
|
32 | return unless @q; |
|
|
33 | my $df = Net::XMPP2::Ext::DataForm->new; |
|
|
34 | $df->from_node (@q); |
|
|
35 | print "occupants: " . $df->get_field ('muc#roominfo_occupants')->{values}->[0] . "\n"; |
|
|
36 | }); |
28 | print "session ready\n"; |
37 | print "session ready\n"; |
29 | 0 |
38 | 0 |
30 | }, |
39 | }, |
31 | message => sub { |
40 | message => sub { |
32 | my ($cl, $acc, $msg) = @_; |
41 | my ($cl, $acc, $msg) = @_; |