From 11a00dad4c0ea42c3d0d0668687ab84df99270f4 Mon Sep 17 00:00:00 2001 From: timriker Date: Thu, 8 Jul 2004 18:37:54 +0000 Subject: [PATCH] fix nick recovery if nick usurper leaves git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@992 c11ca15a-4712-0410-83d8-924469b57eb5 --- src/IRC/IrcHooks.pl | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/IRC/IrcHooks.pl b/src/IRC/IrcHooks.pl index a62e0ea..8c989eb 100644 --- a/src/IRC/IrcHooks.pl +++ b/src/IRC/IrcHooks.pl @@ -733,10 +733,10 @@ sub on_nick_taken { &status("nick taken ($nick); preparing nick change."); $conn->whois($nick); - $conn->schedule(5, sub { + #$conn->schedule(5, sub { &status("nick taken; changing to temporary nick ($nick -> $newnick)."); &nick($newnick); - } ); + #} ); } sub on_notice { @@ -977,9 +977,6 @@ sub on_quit { my $chans = join(' ', &getNickInChans($nick) ); &status(">>> $b_cyan$nick$ob has signed off IRC $b_red($ob$reason$b_red)$ob [$chans]"); - if ($nick =~ /^\Q$ident\E$/) { - &ERROR("^^^ THIS SHOULD NEVER HAPPEN (10)."); - } ### ### ok... lets clear out the cache @@ -995,12 +992,12 @@ sub on_quit { delete $chanstats{lc $nick}; ### - # FIXME: broken for multiple connects - #my $mynick = $conn->nick(); - #if ($nick !~ /^\Q$ident\E$/ and $nick =~ /^\Q$mynick\E$/i) { - #&status("nickchange: own nickname became free; changing."); - #&nick($mynick); - #} + # if we have a temp nick, and whoever is camping on our main nick leaves + # revert to main nick. Note that Net::IRC only knows our main nick + if ($nick eq $conn->nick()) { + &status("nickchange: own nick \"$nick\" became free; changing."); + &nick($mynick); + } } sub on_targettoofast { -- 2.39.5