ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/irc.ext
(Generate patch)

Comparing deliantra/server/ext/irc.ext (file contents):
Revision 1.16 by elmex, Wed Mar 11 22:36:39 2009 UTC vs.
Revision 1.18 by root, Tue Jan 5 08:35:25 2010 UTC

6 6
7# requires: commands.ext 7# requires: commands.ext
8 8
9return unless exists $cf::CFG{irc_server}; 9return unless exists $cf::CFG{irc_server};
10 10
11my $BOTSERVER = $cf::CFG{irc_server} || "localhost"; 11our $BOTSERVER = $cf::CFG{irc_server};
12my $BOTPORT = $cf::CFG{irc_port} || 6667; 12our $BOTPORT = $cf::CFG{irc_port};
13my $BOTNAME = $cf::CFG{irc_nick} || "server"; 13our $BOTNAME = $cf::CFG{irc_nick};
14my $BOTCHAN = $cf::CFG{irc_chan} || "cf"; 14our $BOTCHAN = $cf::CFG{irc_chan};
15 15
16my $CON; # the connection 16our $CON; # the connection
17 17
18sub unload { 18sub unload {
19 $CON->disconnect if $CON; 19 $CON->disconnect if $CON;
20 undef $CON; 20 undef $CON;
21} 21}
68 68
69sub check_connection { 69sub check_connection {
70 return if $CON; 70 return if $CON;
71 71
72 $CON = AnyEvent::IRC::Client->new; 72 $CON = AnyEvent::IRC::Client->new;
73 $CON->set_exception_cb (sub {
74 my ($exp, $ev) = @_;
75 warn "IRC: IRC EXCEPTION (event $ev): $exp\n";
76 });
73 $CON->connect ($BOTSERVER, $BOTPORT, { 77 $CON->connect ($BOTSERVER, $BOTPORT, {
74 nick => $BOTNAME, 78 nick => $BOTNAME,
75 user => $BOTNAME, 79 user => $BOTNAME,
76 real => 'deliantra server' 80 real => 'deliantra server'
77 }); 81 });
122 undef $CON; 126 undef $CON;
123 } 127 }
124 ); 128 );
125} 129}
126 130
127our $RECONNECT = cf::periodic 30, Coro::unblock_sub { 131our $RECONNECT = length $BOTSERVER && cf::periodic 30, Coro::unblock_sub {
128 check_connection; 132 check_connection;
129}; 133};
130 134

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines