]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - lib/rbot/message.rb
Message 'prefixed?' method
[user/henk/code/ruby/rbot.git] / lib / rbot / message.rb
index ef2e14fe486a70898cbc72b865016326a77e06d8..8fc96490f2076073d0d12c199cb023ca2ccb3746 100644 (file)
@@ -159,7 +159,11 @@ module Irc
       ret << ' plainmessage=' << plainmessage.inspect
       ret << fields if fields
       ret << ' (identified)' if identified?
-      ret << ' (addressed to me)' if address?
+      if address?
+        ret << ' (addressed to me'
+        ret << ', with prefix' if prefixed?
+        ret << ')'
+      end
       ret << ' (replied)' if replied?
       ret << ' (ignored)' if ignored?
       ret << ' (in thread)' if in_thread?
@@ -179,6 +183,7 @@ module Irc
       @bot = bot
       @source = source
       @address = false
+      @prefixed = false
       @target = target
       @message = message || ""
       @replied = false
@@ -237,6 +242,12 @@ module Irc
       return @address
     end
 
+    # returns true if the messaged was addressed to the bot via the address
+    # prefix. This can be used to tell appart "!do this" from "botname, do this"
+    def prefixed?
+      return @prefixed
+    end
+
     # strip mIRC colour escapes from a string
     def BasicUserMessage.stripcolour(string)
       return "" unless string
@@ -342,6 +353,7 @@ module Irc
       bot.config['core.address_prefix'].each {|mprefix|
         if @message.gsub!(/^#{Regexp.escape(mprefix)}\s*/, "")
           @address = true
+          @prefixed = true
           break
         end
       }