Greetings, Eggheads! We're incredibly happy to announce the stable release of version 1.10.2 with some pretty cool new features. It took us a little bit to get extban right, but we're sure you're going to love it!
EXTBAN SUPPORT
MAKE SURE YOU READ THIS- it's so important, we gave it it's own heading! We have added initial support for extended bans (bans that look like ~a:eggdrop or similar). The new .+extban command was added to the partyline to allow easy wrapping of the ircd-provided extended ban flags (but note you still remove extbans with .-ban). To support extbans in code, we are introducing the split concept of matchable and enforceable bans.
-
An enforceable extban is an extban mask that Eggdrop can enforce by kicking a matching users.
#define ENFORCEABLE_EXTBANS "U" -
A matchable extban 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.
Other Updates
Following up on the recent addition of a python module by thommey, @michaelortmann has spent some incredible time and effort creating the WebUI module, giving you the ability to connect to eggdrop via a web browser! Check out the updated config file section for WebUI to learn how to enable it.
We have also added initial support for handling channel arbitrary modes presented by the server. This opens up a lot more future capability, but for the moment it will prevent Eggdrop from getting confused when it sees an unknown mode.
We fixed a few more compile errors and warnings dealing with the new Tcl 9 and openssl 4.0.0, and fixed an issue that popped up sometime causing Eggdrop to quit after rehashing.
Lastly, autobotchk got some love this release thanks to user-submitted feature requests- @TehPeGaSuS added in the ability to allow unique naming for systemd units, and @thommey dropped in support that allows Eggdrops started via autobotchk to be run inside their python virtual environment required for scripts.
For our eagle-eyed Eggheads, you may also notice some changes with the timezone settings in the config file- old config files still work the same as they ever did, but we updated language and implementation to hopefully make it a little more intuitive.
As always, thank you for your support- a generous donation from Digital Ocean allows us to run our infrastructure, and that support hinges on community use.
Come find us in #eggdrop with questions or bug reports, and stay around for the conversation!
$ sha256sum eggdrop-1.10.2.tar.gz
d6646b630879e1acd9b053ffa12f46667f907145f29af1df0f82749ef3032a94 eggdrop-1.10.2.tar.gz
$ sha256sum eggdrop-1.10.2.tar.gz.asc
e58b6a2b08fbd29c8fdb7ce51d09401d126b0fba25b8cb9e1394afabdf0f7f70 eggdrop-1.10.2.tar.gz.asc