Dynamic Bans

From EggWiki
Revision as of 04:19, 20 February 2022 by Geo (talk | contribs) (Created page with "__TOC__ == History of Dynamic Bans == Before channel services were common, Eggdrop's were used to ban unwanted users from channels. In general, an IRC server only allowed channels to have a certain number of bans placed in the channel at any given time. If this limit was reached, no additional bans could be placed and an unwanted user could continue their unwanted activities until a ban was removed from the channel ban list. But, by removing a previous ban, now that unw...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

History of Dynamic Bans

Before channel services were common, Eggdrop's were used to ban unwanted users from channels. In general, an IRC server only allowed channels to have a certain number of bans placed in the channel at any given time. If this limit was reached, no additional bans could be placed and an unwanted user could continue their unwanted activities until a ban was removed from the channel ban list. But, by removing a previous ban, now that unwanted user could join. Eggdrop addressed this problem by introducing "dynamic bans".

Eggdrop's Dynamic Bans

Dynamic bans are a method where Eggdrop internally stores a much larger list of bans than a channel can, and only activates the ban when it sees a banned user entering the channel. When a ban is added to Eggdrop, the ban is saved to Eggdrop's internal ban system (saved in the .chan file, if you're interested in those details). Importantly, there is no limit on the number of bans Eggdrop can store internally. Once a ban has been placed by Eggdrop, a timer is activated and the ban will be removed after that time expires. By adding bans only when they are needed and then removing them, the channel ban list stays "clean" and never fills to a point where new bans can't be added.

How do I deactivate Dynamic Bans?

Some people don't like dynamic bans. There are three ways you can disable this feature

Method 1: Disabling Dynamic Bans

This is the proper method! From the partyline, read .help chanset and .help chaninfo. The chanset command is the command we'll be using to change a channel setting, and among other information, .help chanset shows us the syntax is

 ###  chanset <channel> <settings>

To find the setting we want to modify, we'll need to look at .help chaninfo (yes, there's a lot in there). Looking through all the available settings, we see

       dynamicbans    Only activate bans on the channel when necessary?
                      This keeps the channel's ban list from getting
                      excessively long. The bot still remembers every ban,
                      but it only activates a ban on the channel when it sees
                      someone join who matches that ban.

This tells us the setting we want to modify is dynamicbans. To deactivate dynamicbans, we'll type:

 .chanset #channel -dynamicbans

Congratulations! Eggdrop will no longer remove bans from the channel

Method 2: Using Sticky Bans

Sometimes you want