code: async def add(self, rule, kwargs=None):
          
          index = self[rule.name].increment(kwargs)
  
          if self[rule.name][index] >= rule.limit:
              await rule.action.run(kwargs)
docs: Increments the counter for the given *rule* and *kwargs*.
  
          If this pair of *rule* and *kwargs* doesn't already have a counter, it
          is created.
  
          *rule* is the :class:`rule.Rule` instance that got the match.
  
          *kwargs* is an optional dict of vars captured by the
          :class:`filter.Filter` that match the log entry.