Bans, Invites and Exempts Last revised: March 07, 2002

Bans, Invites, and Exempts

  I assume that you know how bans work on IRC. Eggdrop handles bans,
  exempts and invites in various ways, and this file is intended to help
  clarify how these modes are used within the bot. From here on, 'mode'
  applies to all three modes (bans, exempts, and invites) unless
  otherwise specified. There are three 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 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. They can be
        removed by anyone on the channel. The other two types of modes
        are protected by the bot (unless the channel settings specify
        otherwise), and have to be removed via the bot.

  Bans can also be either sticky or unsticky:

    Sticky

        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 at all times 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.

    Un-sticky

        These modes are the style that Eggdrop sets by default when a
        user uses one of the commands that result 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 "un-sticky", use the ".unstick" command.

  Mode behavior:

    Bans

        If the channel is supporting dynamic bans, then the ban is set
        when a user with a matching hostmask 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).

    Exempts

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

    Invites

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

  Copyright (C) 1999 - 2025 Eggheads Development Team
