code: def command(self, rule, **options):
          
          options.setdefault("direct", False)
          options.setdefault("override", True)
          options.setdefault("inject", False)
          options.setdefault("flags", 0)
          if not options["direct"]:
              rule = self.regexy(rule)
          regex = re.compile(rule, flags=options["flags"])
          self.handlers.setdefault(regex, [])
          def handler(f):
              if f == noop:
                  f.options = {}
              else:
                  f.options = options
              if options["override"]:
                  self.handlers[regex] = [f]
              else:
                  self.handlers[regex].append(f)
              f.no_args = self.no_args(f)
              return f
          return handler
docs: \
          direct=False, override=True, inject=False, flags=0