Skip to content

Eggdrop v1.10.2 Release Candidate 2

Pre-release
Pre-release

Choose a tag to compare

@vanosg vanosg released this 01 Aug 21:24

You may have noticed RC1 hanging out for a while- we were busy behind the scenes responding to feedback on how extbans was implemented. We think we have an improved solution over our first attempt. Extbans are hard for Eggdrop, but we'll do our best to describe how we are now implementing them:

In code, we are introducing the split concept of matchable vs enforceable bans.

An enforceable extban is an extban mask that Eggdrop can enforce by kicking a matching users.
#define ENFORCEABLE_EXTBANS "U"

A matchable ban is an extban mask that takes the normal hostmask form (or similar 'thing' that Eggdrop tracks, like account registration). Eggdrop can monitor a channel and see if a user is currently on the channel that matches against the normal nick!user@host mask. These bans will be added/removed in accordance with the dynamicban setting.
#define MATCHABLE_EXTBANS "UABCmNpqQT"

An extban such as C (blocking CTCPs) is a ban that is matchable (is someone on the channel right now that matches this hostmask?) but is not enforceable (CTCPs are never sent, so Eggdrop can't kick a user for sending one).

An extban outside of these flags, such as one set to block users from joining a channel, is not something Eggdrop can match against and thus the ban is set at sticky.

Clear as mud, right? One more caveat- for those bans that are set but not enforceable, it is automatically set as a sticky ban (it will not be removed by the +dynamicbans setting). .+extban was introduced and handles all the yucky underlying stuff for you automatically and in a manner compatible with traditional Eggdrop implementations, but if you think you know better than the bot you can still manually add extbans via .+ban.

Thanks again to those who provided feedback on this release candidate- we listened!