]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
Implement map! properly this time
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Mon, 24 Jul 2006 23:21:43 +0000 (23:21 +0000)
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Mon, 24 Jul 2006 23:21:43 +0000 (23:21 +0000)
lib/rbot/messagemapper.rb
lib/rbot/plugins.rb

index ce33c881156fa441a1275b1df3859acb9b3257bf..5c3ddc059f6c1faa0be6fcf8f864354549f8da60 100644 (file)
@@ -54,7 +54,7 @@ module Irc
     # somethingelse"
     #
     # Dynamic parameters can be specified by a colon ':' to match a single
-    # component (whitespace seperated), or a * to such up all following
+    # component (whitespace seperated), or a * to suck up all following
     # parameters into an array. Example:
     #   map 'myplugin :parameter1 *rest'
     # 
index 160a2dcdbcc6012246e2818648a62f1a843fffaa..7b54d1fc0706e3d3144efbf782748f1da41435bd 100644 (file)
@@ -128,6 +128,7 @@ module Plugins
       @handler.map(*args)
       # register this map
       name = @handler.last.items[0]
+      self.register name, {:hidden => true}
       unless self.respond_to?('privmsg')
         def self.privmsg(m)
           @handler.handle(m)
@@ -153,10 +154,11 @@ module Plugins
     # register the plugin as a handler for messages prefixed +name+
     # this can be called multiple times for a plugin to handle multiple
     # message prefixes
-    def register(name)
+    def register(name,opts={})
+      raise ArgumentError, "Second argument must be a hash!" unless opts.kind_of?(Hash)
       return if Plugins.plugins.has_key?(name)
       Plugins.plugins[name] = self
-      @names << name
+      @names << name unless opts.fetch(:hidden, false)
     end
 
     # default usage method provided as a utility for simple plugins. The