]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
Sun Aug 21 13:29:55 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
authorTom Gilbert <tom@linuxbrit.co.uk>
Sun, 21 Aug 2005 12:31:41 +0000 (12:31 +0000)
committerTom Gilbert <tom@linuxbrit.co.uk>
Sun, 21 Aug 2005 12:31:41 +0000 (12:31 +0000)
  * fix for bug in quakenet plugin (trac #14)
* multiple fixes for unescaped bot nick in regexp's (trac #13)

ChangeLog
data/rbot/plugins/quakeauth.rb
lib/rbot/ircbot.rb
lib/rbot/message.rb

index 6ddfed993d2e0360479bd28945625177a36b7b63..12e2b8b88149651b7510069b442d2eca1d5a3650 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Aug 21 13:29:55 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * fix for bug in quakenet plugin (trac #14)
+       * multiple fixes for unescaped bot nick in regexp's (trac #13)
+
 Fri Aug 12 20:51:38 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
 
   * fix up autoop plugin a bit
index 8f412f1d4f9612a881d7a17f6b6c48db3ab18b4c..dd1c884d5e6b8c033fc4a91a300e5e04732fde77 100644 (file)
@@ -27,7 +27,7 @@ class QPlugin < Plugin
   end
 
   def set(m, params)
-    @registry['quakenet.user'] = params[:user]
+    @registry['quakenet.user'] = params[:nick]
     @registry['quakenet.auth'] = params[:passwd]
     m.okay
   end
index 29d4711d974246fc50eff205286d7997cce6def3..68c2bd472e3229282e690eb72332b4c1df2186f5 100644 (file)
@@ -203,7 +203,7 @@ class IrcBot
       sourceurl = data[:sourceaddress]
       message = data[:message]
       m = QuitMessage.new(self, data[:source], data[:sourcenick], data[:message])
-      if(data[:sourcenick] =~ /#{@nick}/i)
+      if(data[:sourcenick] =~ /#{Regexp.escape(@nick)}/i)
       else
         @channels.each {|k,v|
           if(v.users.has_key?(sourcenick))
@@ -255,7 +255,7 @@ class IrcBot
       onkick(m)
     }
     @client[:invite] = proc {|data|
-      if(data[:target] =~ /^#{@nick}$/i)
+      if(data[:target] =~ /^#{Regexp.escape(@nick)}$/i)
         join data[:channel] if (@auth.allow?("join", data[:source], data[:sourcenick]))
       end
     }
@@ -500,11 +500,6 @@ class IrcBot
   end
 
   # attempt to change bot's nick to +name+
-  # FIXME
-  # if rbot is already taken, this happens:
-  #   <giblet> rbot_, nick rbot
-  #   --- rbot_ is now known as rbot__
-  # he should of course just keep his existing nick and report the error :P
   def nickchg(name)
       sendq "NICK #{name}"
   end
@@ -707,9 +702,9 @@ class IrcBot
     else
       # stuff to handle when not addressed
       case m.message
-        when (/^\s*(hello|howdy|hola|salut|bonjour|sup|niihau|hey|hi|yo(\W|$))[\s,-.]+#{@nick}$/i)
+        when (/^\s*(hello|howdy|hola|salut|bonjour|sup|niihau|hey|hi|yo(\W|$))[\s,-.]+#{Regexp.escape(@nick)}$/i)
           say m.replyto, @lang.get("hello_X") % m.sourcenick
-        when (/^#{@nick}!*$/)
+        when (/^#{Regexp.escape(@nick)}!*$/)
           say m.replyto, @lang.get("hello_X") % m.sourcenick
         else
           @keywords.privmsg(m)
index ba5dcb43885f2e4ac4c8592a9c4af128002d46a6..eabb569a5beec41c7dcd76fea16aafd50e2c25d9 100644 (file)
@@ -141,7 +141,7 @@ module Irc
       # even if they used above prefixes, we allow for silly people who
       # combine all possible types, e.g. "|rbot: hello", or 
       # "/msg rbot rbot: hello", etc
-      if @message.gsub!(/^\s*#{bot.nick}\s*([:;,>]|\s)\s*/, "")
+      if @message.gsub!(/^\s*#{Regexp.escape(bot.nick)}\s*([:;,>]|\s)\s*/, "")
         @address = true
       end