ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Net-Knuddels/eg/markovd
Revision: 1.1
Committed: Fri Jan 28 01:34:34 2005 UTC (21 years, 7 months ago) by elmex
Branch: MAIN
Log Message:
*** empty log message ***

File Contents

# Content
1 #!/usr/bin/perl
2
3 use strict;
4 use IO::Select;
5 use Socket;
6 use IO::Socket::INET;
7 use Event;
8 use Net::Knuddels;
9
10 my @CHANNELS = (
11 'Singles 11-14',
12 'Singles 11-14 2',
13 'Singles 11-14 3',
14 'Singles 11-14 4',
15 );
16
17 my $Knick = "ich bin suess";
18 my $Kpass = "qwerty";
19
20 my $client;
21
22 sub connect_knuddels {
23 $client->login;
24 Event->io (
25 fd => $client->fh,
26 poll => 'r',
27 cb => sub {
28 my $e = shift;
29 if (not $client->ready) {
30 $e->w->cancel;
31 }
32 });
33 }
34
35 ####################################################################################
36 ########################## MAIN START ##############################################
37 ####################################################################################
38
39 $client = new Net::Knuddels::Client PeerAddr => "213.61.5.150:2710";
40
41
42 $client->register (UNHANDLED => sub {
43 use Dumpvalue;
44 print "---\n";
45 Dumpvalue->new (compactDump => 1, veryCompact => 1, quoteHighBit => 1, tick => '"')->dumpValue ([@_]);
46 });
47
48 $client->register (login => sub {
49 $client->enter_room ($_, $Knick, $Kpass)
50 for (@CHANNELS);
51 });
52
53 $client->register (msg_room => sub {
54 my ($room, $user, $msg) = @_;
55 print "($room) $user: $msg\n";
56 });
57
58 $client->register (msg_priv => sub {
59 my ($room, $src, $dst, $msg) = @_;
60 print "($room) ########### $src an $dst: $msg\n";
61 });
62
63 $client->register (dialog => sub {
64 for my $l (@{$_[0]}) {
65 $l =~ s/\260[^\260]*\260//g;
66 print $l;
67 }
68 });
69
70 $client->register (join_room => sub {
71 print "$_[1]->{name} joined $_[0]: ".scalar(keys %{$client->{user_lists}->{lc $_[0]}}). " users\n";
72 });
73
74 $client->register (part_room => sub {
75 print "$_[1]->{name} left $_[0]: ".scalar(keys %{$client->{user_lists}->{lc $_[0]}}). " users\n";
76 });
77
78 $client->register (user_list => sub {
79 my ($room, $list) = @_;
80 print "***** USER JOIN FUER $room *****\n";
81 print scalar (keys %$list)." users\n";
82 print "********************************\n";
83 });
84
85 $client->register (room_info => sub {
86 my ($room, $ri) = @_;
87 print "ROOM INFO: $room : $ri->{picture}\n";
88 });
89
90 connect_knuddels;
91 Event::loop;