]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - lib/rbot/message.rb
config.rb: system wide overrides in /etc/rbot.conf
[user/henk/code/ruby/rbot.git] / lib / rbot / message.rb
index 670051ed35c1361b68719cd61e74b96958161dfc..abe53ce013245ebf217225ca848ff482c03887c9 100644 (file)
@@ -33,6 +33,7 @@ module Irc
   Reverse = "\026"
   Italic = "\011"
   NormalText = "\017"
+  AttributeRx = /#{Bold}|#{Underline}|#{Reverse}|#{Italic}|#{NormalText}/
 
   # Color is prefixed by \003 and followed by optional
   # foreground and background specifications, two-digits-max
@@ -132,6 +133,10 @@ module Irc
     attr_accessor :ignored
     alias :ignored? :ignored
 
+    # set this to true if the method that delegates the message is run in a thread
+    attr_accessor :in_thread
+    alias :in_thread? :in_thread
+
     # instantiate a new Message
     # bot::      associated bot class
     # server::   Server where the message took place
@@ -150,6 +155,7 @@ module Irc
       @replied = false
       @server = server
       @ignored = false
+      @in_thread = false
 
       @identified = false
       if @msg_wants_id && @server.capabilities[:"identify-msg"]
@@ -348,7 +354,7 @@ module Irc
     # the nick or core.reply_with_nick is set to false
     #
     def reply(string, options={})
-      if @bot.config['core.reply_with_nick'] and not string =~ /\b#{Regexp.escape(@source.to_s)}\b/
+      if @bot.config['core.reply_with_nick'] and not string =~ /(?:^|\W)#{Regexp.escape(@source.to_s)}(?:$|\W)/
         return nickreply(string, options)
       end
       plainreply(string, options)