ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Net-Knuddels/eg/client
Revision: 1.2
Committed: Thu Jan 13 14:52:37 2005 UTC (21 years, 8 months ago) by elmex
Branch: MAIN
Changes since 1.1: +26 -1 lines
Log Message:
Some new events

File Contents

# User Rev Content
1 root 1.1 #!/usr/bin/perl
2    
3     use strict;
4    
5     use Event;
6     use Net::Knuddels;
7    
8     my $client = new Net::Knuddels::Client PeerAddr => "213.61.5.150:2710";
9    
10     $client->login;
11    
12     my %channels;
13    
14     $client->register (b => sub {
15     for (@_) {
16     if ($_ ne "-") {
17    
18     } else {
19    
20    
21     }
22     }
23     });
24    
25     $client->register (UNHANDLED => sub {
26     use Dumpvalue;
27     print "---\n";
28     Dumpvalue->new (compactDump => 1, veryCompact => 1, quoteHighBit => 1, tick => '"')->dumpValue ([@_]);
29     });
30    
31     $client->register (login => sub {
32 elmex 1.2 $client->set_nick ("Flirt Private 3", "Net-Knuddels", "lolfe");
33 root 1.1 });
34    
35     $client->register (msg_room => sub {
36     my ($room, $user, $msg) = @_;
37     print "($room) $user: $msg\n";
38     });
39    
40     $client->register (msg_priv => sub {
41     my ($room, $src, $dst, $msg) = @_;
42     print "($room) ########### $src an $dst: $msg\n";
43     });
44    
45 elmex 1.2 $client->register (join_room => sub {
46     print "$_[1]->{name} joined $_[0]: ".scalar(keys %{$client->{proto}->{user_lists}->{lc $_[0]}}). " users\n";
47    
48     });
49     $client->register (part_room => sub {
50     print "$_[1]->{name} left $_[0]: ".scalar(keys %{$client->{proto}->{user_lists}->{lc $_[0]}}). " users\n";
51     });
52     $client->register (user_list => sub {
53     my ($room, $list) = @_;
54     print "***** USER LIST FUER $room *****\n";
55    
56     printf ("%s (%d) [%s]\n", $_->{name}, $_->{age}, $_->{gender})
57     for sort { $a->{name} cmp $b->{name} } values %$list;
58    
59     print scalar (keys %$list)." users\n";
60     print "********************************\n";
61     });
62    
63     $client->register (room_info => sub {
64     my ($room, $ri) = @_;
65     print "ROOM INFO: $room : $ri->{picture}\n";
66     });
67    
68    
69    
70 root 1.1 Event->io ( fd => $client->fh, poll => 'r', cb => sub { $client->ready });
71    
72     Event::loop;
73    
74