return irc_joinstage(0);
} ],
- # Catch joins of people in a channel the bot is in and catch our own joins of a channel
+ # Catch joins of people in a channel the bot is in and catch our own joins of a channel,
+ # detect channel join message and note hostname length to get the maximum allowed line length
[ irc => q{:(([^! ]*)![^ ]*) JOIN (#.+)} => sub {
my ($hostmask, $nick, $chan) = @_;
+
+ if ($nick eq $store{irc_nick}) {
+ $store{irc_maxlen} = 510 - length($hostmask);
+ $store{irc_joined_channel} = 1;
+ print "* detected maximum line length for channel messages: $store{irc_maxlen}\n";
+ }
+
return 0 unless ($store{irc_quakenet_users});
- if ($nick eq $config{irc_nick}) {
+ if ($nick eq $store{irc_nick}) {
out irc => 0, "PRIVMSG Q :users $chan"; # get auths for all users
} else {
$store{quakenet_hosts}->{$nick} = $hostmask;
return 0;
} ],
- # detect channel join message and note hostname length to get the maximum allowed line length
- [ irc => q{(:(?i:(??{$store{irc_nick}}))![^ ]* )(?i:JOIN) :(?i:(??{$config{irc_channel}}))} => sub {
- $store{irc_maxlen} = 510 - length($1);
- $store{irc_joined_channel} = 1;
- print "* detected maximum line length for channel messages: $store{irc_maxlen}\n";
- return 0;
- } ],
-
# chat: Xonotic server -> IRC channel
[ dp => q{\001(.*?)\^7: (.*)} => sub {
my ($nick, $message) = map { color_dp2irc $_ } @_;