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

# Content
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 $client->set_nick ("Flirt Private 3", "Net-Knuddels", "lolfe");
33 });
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 $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 Event->io ( fd => $client->fh, poll => 'r', cb => sub { $client->ready });
71
72 Event::loop;
73
74