From 27b2be23c166ed25a14026aa5f71adada5e915d6 Mon Sep 17 00:00:00 2001 From: timriker Date: Sun, 7 Dec 2003 20:33:55 +0000 Subject: [PATCH] direct addressing with multiple nicks git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk@901 c11ca15a-4712-0410-83d8-924469b57eb5 --- blootbot/src/Factoids/Norm.pl | 11 ++++++----- blootbot/src/IRC/Irc.pl | 6 +++--- blootbot/src/IRC/IrcHelpers.pl | 3 ++- blootbot/src/IRC/IrcHooks.pl | 19 +++++++++---------- blootbot/src/UserExtra.pl | 2 +- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/blootbot/src/Factoids/Norm.pl b/blootbot/src/Factoids/Norm.pl index d58d4ed..a3870d7 100644 --- a/blootbot/src/Factoids/Norm.pl +++ b/blootbot/src/Factoids/Norm.pl @@ -86,12 +86,13 @@ sub switchPerson { s/(^|\W)you\'?re(\W|$)/$1you are$2/ig; if ($addressed) { + my $mynick = $conn->nick(); # is it safe to remove $in from here, too? - $in =~ s/yourself/$param{'ircNick'}/i; - $in =~ s/(^|\W)are you(\W|$)/$1is $param{'ircNick'}$2/ig; - $in =~ s/(^|\W)you are(\W|$)/$1$param{'ircNick'} is$2/ig; - $in =~ s/(^|\W)you(\W|$)/$1$param{'ircNick'}$2/ig; - $in =~ s/(^|\W)your(\W|$)/$1$param{'ircNick'}\'s$2/ig; + $in =~ s/yourself/$mynick/i; + $in =~ s/(^|\W)are you(\W|$)/$1is $mynick$2/ig; + $in =~ s/(^|\W)you are(\W|$)/$1$mynick is$2/ig; + $in =~ s/(^|\W)you(\W|$)/$1$mynick$2/ig; + $in =~ s/(^|\W)your(\W|$)/$1$mynick\'s$2/ig; } } diff --git a/blootbot/src/IRC/Irc.pl b/blootbot/src/IRC/Irc.pl index 7bb7302..c551a87 100644 --- a/blootbot/src/IRC/Irc.pl +++ b/blootbot/src/IRC/Irc.pl @@ -582,8 +582,8 @@ sub unban { sub quit { my ($quitmsg) = @_; - &status("QUIT $param{'ircNick'} has quit IRC ($quitmsg)"); if (defined $conn) { + &status("QUIT " . $conn->nick() . " has quit IRC ($quitmsg)"); $conn->quit($quitmsg); } else { &WARN("quit: could not quit!"); @@ -604,8 +604,8 @@ sub nick { } my $bad = 0; - $bad++ if (exists $nuh{ $param{'ircNick'} }); - $bad++ if (&IsNickInAnyChan($param{'ircNick'})); + $bad++ if (exists $nuh{$conn->nick()}); + $bad++ if (&IsNickInAnyChan($conn->nick())); if ($bad) { &WARN("Nick: not going to try and get my nick back. [". diff --git a/blootbot/src/IRC/IrcHelpers.pl b/blootbot/src/IRC/IrcHelpers.pl index aa69201..7c8b772 100644 --- a/blootbot/src/IRC/IrcHelpers.pl +++ b/blootbot/src/IRC/IrcHelpers.pl @@ -103,7 +103,8 @@ sub hookMsg { if ($message =~ /^($mask{nick})([\;\:\>\, ]+) */) { my $newmessage = $'; - if ($1 =~ /^\Q$ident\E$/i) { + my $mynick = $conn->nick(); + if ($1 =~ /^\Q$mynick\E$/i) { $message = $newmessage; $addressed = 1; } else { diff --git a/blootbot/src/IRC/IrcHooks.pl b/blootbot/src/IRC/IrcHooks.pl index 8ef7ef8..8710e2d 100644 --- a/blootbot/src/IRC/IrcHooks.pl +++ b/blootbot/src/IRC/IrcHooks.pl @@ -142,8 +142,6 @@ sub on_ison { my $x2 = ($event->args)[1]; $x2 =~ s/\s$//; -# &nick( $param{'ircNick'} ); - &DEBUG("on_ison: x1 = '$x1', x2 => '$x2'"); } @@ -151,7 +149,7 @@ sub on_endofmotd { $conn = shift(@_); # update IRCStats. - $ident = $param{'ircNick'}; + $ident = $conn->nick(); $ircstats{'ConnectTime'} = time(); $ircstats{'ConnectCount'}++; if (defined $ircstats{'DisconnectTime'}) { @@ -208,7 +206,7 @@ sub on_endofmotd { $running = 1; # add ourself to notify. - $conn->ison( $param{'ircNick'} ); + $conn->ison($conn->nick()); # Q, as on quakenet.org. if (&IsParam("Q_pass")) { @@ -564,7 +562,7 @@ sub on_join { return if ($netsplit); # who == bot. - if ($who eq $ident or $who =~ /^$ident$/i) { + if ($who eq $ident or $who =~ /^\Q$ident\E$/i) { if (defined( my $whojoin = $cache{join}{$chan} )) { &msg($chan, "Okay, I'm here. (courtesy of $whojoin)"); delete $cache{join}{$chan}; @@ -724,8 +722,8 @@ sub on_nick { $ident = $newnick; } else { &status(">>> $b_cyan$nick$ob materializes into $b_green$newnick$ob"); - - if ($nick =~ /^\Q$param{'ircNick'}\E$/i) { + my $mynick=$conn->nick(); + if ($nick =~ /^\Q$mynick\E$/i) { &getNickInUse(); } } @@ -1007,10 +1005,11 @@ sub on_quit { delete $chanstats{lc $nick}; ### - # does this work? - if ($nick !~ /^\Q$ident\E$/ and $nick =~ /^\Q$param{'ircNick'}\E$/i) { + # FIXME: does this work? + my $mynick = conn->nick(); + if ($nick !~ /^\Q$ident\E$/ and $nick =~ /^\Q$mynick\E$/i) { &status("nickchange: own nickname became free; changing."); - &nick( $param{'ircNick'} ); + &nick($mynick); } } diff --git a/blootbot/src/UserExtra.pl b/blootbot/src/UserExtra.pl index 69df451..7c48244 100644 --- a/blootbot/src/UserExtra.pl +++ b/blootbot/src/UserExtra.pl @@ -852,7 +852,7 @@ if (0) { my ($force) = ($1) ? 1 : 0; $force = 0 unless (&IsFlag("n")); - # cannot trust Net::IRC's nick() + # cannot trust Net::IRC's nick() (TimRiker asks why?) if ($param{'ircNick'} eq $ident) { &msg($who, "I hope you're right. I'll try anyway."); &DEBUG("ircNick => $param{'ircNick'}"); -- 2.39.5