.. _plugin-Limiter:

Documentation for the Limiter plugin for Supybot
================================================

Purpose
-------
This plugin sets channel limits (MODE +l) based on
``plugins.Limiter.MaximumExcess`` plus the current number of users
in the channel. This is useful to prevent flood attacks.

Usage
-----
In order to use this plugin, its config values need to be properly
setup.  supybot.plugins.Limiter.enable needs to be set to True and
supybot.plugins.Limiter.{maximumExcess,minimumExcess} should be set to
values appropriate to your channel (if the defaults aren't satisfactory).
Once these are set, and someone enters/leaves the channel, Supybot will
start setting the proper +l modes.

Configuration
-------------
supybot.plugins.Limiter.enable
  This config variable defaults to "False", is network-specific, and is  channel-specific.

  Determines whether the bot will maintain the channel limit to be slightly above the current number of people in the channel, in order to make clone/drone attacks harder.

supybot.plugins.Limiter.maximumExcess
  This config variable defaults to "10", is network-specific, and is  channel-specific.

  Determines the maximum number of free spots that will be saved when limits are being enforced. This should always be larger than supybot.plugins.Limiter.limit.minimumExcess.

supybot.plugins.Limiter.minimumExcess
  This config variable defaults to "5", is network-specific, and is  channel-specific.

  Determines the minimum number of free spots that will be saved when limits are being enforced. This should always be smaller than supybot.plugins.Limiter.limit.maximumExcess.

supybot.plugins.Limiter.public
  This config variable defaults to "True", is not network-specific, and is  not channel-specific.

  Determines whether this plugin is publicly visible.

