Bans And How They Work


I assume that you know how bans work on IRC. Eggdrop handles bans and the 2 new modes, exemptions and invite in various ways, and this chapter is intended to help clarify how these modes are treated within the bot

Ban Exemption modes

This type of mode enables the person specified in the host mask to join the channel even if there is a ban in place matching their hostmask. Normally this is used if a domain ie. *.net is banned, and you want to enable someone from that domain to join i.e. *.friend.net. This list can only be viewed by channel ops.

Invite modes

This type of mode enables the person specified in the hostmask to join a invite only channel without an invite.

From here on 'mode' applies to all three modes (bans, exemptions and invites) unless otherwise specified. There are three types of modes, and two types of attribute that can be placed on a 'mode':


Types of 'modes'

global modes

These modes will be active on every channel the bot monitors. Some will "expire" after a while (be removed automatically). Others are considered "permanent" and can only be removed by a master.

channel-specific modes

These modes are active only on one channel, and are almost always temporary modes that expire after an hour or so (depending on how long you've specified in the config file). Usually they're created by a Tcl script of some sort.

non-bot modes

These are modes that were not placed by the bot, and that the bot doesn't care about. They can be removed by anyone on the channel. The other two types of modes are generally protected by the bot, and have to be removed via the bot.


Attributes

unsticky modes

These modes are the style that Eggdrop sets by default, when a user uses one of the commands that results in a mode. This attribute means that the ban will be removed if using dynamic modes after a certain time. If a mode is "sticky" and you wish to set it to be unsticky, use the ".unstick" command.

sticky modes

These modes are usually set by a user using the ".stick" command, modes with this attribute are attempted to be kept active on the channel by the bot, even if the channel is set to use dynamic modes. Obviously, if the channel isn't set to use dynamic modes, this won't have any effect.


Behavior

The different type of mode behave differently depending on the channel settings.

Bans

If the channel is supporting dynamic bans then the ban is set when the user joins the channel otherwise the modes are permanently set. On a channel with dynamic bans the ban expires after ban-time minutes which is specified in the config file.

Exemptions

If the channel is not supporting dynamic exempts then they are set the entire time. Otherwise the exemption is set when a ban is placed whose host includes that covered by the exemption. The exemption will remain in place for at least exempt-time minutes (defined in config file) or until after the corresponding ban has been removed, whichever is the longer.

Invites

If the channel does not support dynamic invites then they are set permanently. Otherwise the invite is set when the channel is +i and a user requests an invite onto the channel. The invite then remains set for invite-time minutes (defined in config file) or until the channel goes -i again, whichever is the longer.


The party-line command ".+<ban/exempt/invite>" can add a global ban or channel specific ban depending on the parameters that are passed to it. ".kickban" will add a channel-specific ban. ".<ban/exempt/invite>s" will list them all, according to their category. Be sure to check out the help pages for those commands for more info.


© 1997 Robey Pointer
© 1999,2000 Eggheads