X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Firssi%2Fscripts%2Fkills.pl;fp=apps%2Firssi%2Fscripts%2Fkills.pl;h=0000000000000000000000000000000000000000;hb=72c2de619079457f7a68100eb13385275a424a23;hp=7ed2d5333a4b5060bf1f30afced8dfcec756c038;hpb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;p=runtime.git diff --git a/apps/irssi/scripts/kills.pl b/apps/irssi/scripts/kills.pl deleted file mode 100644 index 7ed2d533..00000000 --- a/apps/irssi/scripts/kills.pl +++ /dev/null @@ -1,102 +0,0 @@ -# Display kills with more understandable messages. -# for irssi 0.7.98 by Timo Sirainen - -# There's one kind of nick collision this script doesn't handle - if the -# collision is detected by the server you're connected to, it won't use -# kill as quit reason, but "Nick collision(new)" or "..(old)". This is pretty -# easy to understand already, happens hardly ever(?) and it can be faked -# so I thought better not change it to kill message. - -# There's a pretty good explanation of (ircnet) ircd's server kills in -# http://www.irc.org/tech_docs/ircnet/kills.html - -use Irssi; -use vars qw($VERSION %IRSSI); - -$VERSION = "1.00"; -%IRSSI = ( - authors => 'Timo Sirainen', - name => 'kills', - description => 'Displays kills with more understandable messages', - license => 'Public Domain', - changed => 'Sun Mar 10 23:18 EET 2002' -); - -Irssi::theme_register([ - 'kill_public', '{channick $0} {chanhost $1} killed by {nick $2}$3 {reason $4}' -]); - -sub msg_quit { - my ($server, $nick, $addr, $data) = @_; - - my $localkill; - if ($data =~ /^Killed \(([^ ]*) \((.*)\)\)$/) { - # remote kill - $localkill = 0; - } elsif ($data =~ /^Local Kill by ([^ ]*) \((.*)\)/) { - # local kill - $localkill = 1; - } else { - return; - } - - my $killer = $1; - my $killmsg = $2; - my $msg = "\002Nick collision\002: "; - - my @printargs = (); - if ($killmsg =~ /([^ ]*) != (.*)/) { - # 1 != 2 - my $server1 = $1, $server2 = $2; - - $server1 =~ s/([^\[]*)\[([^\]]*)\]/\1/; - $msg .= "$2 != $server2"; - } elsif ($killmsg =~ /([^ ]*) <- (.*)/) { - # 1 <- 2 - my $server1 = $1, $server2 = $2; - - if ($server1 =~ /^\(/) { - # (addr1)server1 <- (add2)server2 - $server1 =~ s/^\(([^\)]*)\)//; - my $nick1 = $1; - $server2 =~ s/^\(([^\)]*)\)//; - my $nick2 = $1; - - $msg .= "server $server1"; - $msg .= " (nick from $nick1)" if $nick1; - $msg .= " <- "; - $msg .= "\002$server2\002"; - $msg .= " (nick from \002$nick2\002)" if $nick2; - } elsif ($server1 =~ /\)$/ || $server2 =~ /\)$/) { - # server1(nick) <- server2 - # server1 <- server2(nick) - $server1 =~ s/\(([^\)]*)\)$//; - my $oldnick = $1; - $server2 =~ s/\(([^\)]*)\)$//; - $oldnick = $1 if $1; - $msg = "\002Nick change collision\002: $server1 <- \002$server2\002 (old nick \002$oldnick\002)"; - } else { - # server1 <- server2 - $msg = "\002Nick/server collision\002: $server1 <- \002$server2\002"; - } - } else { - # something else, just show it as-is - $msg = $killmsg; - } - - @list = $server->nicks_get_same($nick); - while (@list) { - $channel = $list[0]; - shift @list; - # skip nick record - shift @list; - - $channel->printformat(MSGLEVEL_QUITS, 'kill_public', - $nick, $addr, $killer, - $localkill ? " (local)" : "", $msg); - } - - Irssi::signal_stop(); -} - -Irssi::signal_add('message quit', 'msg_quit');