The Eggdrop IRC Bot
https://github.com/eggheads/eggdrop
100 forks.
577 stars.
247 open issues.
Recent commits:
- Fix victim lookup after op mode bindsFound by: tkimball83Patch by: tkimball83got_op() and got_halfop() pass the local s buffer to modebind_refresh() without initializing it. modebind_refresh() then uses that buffer as the host argument to lookup_user_record() while refreshing the target's flag record.As a result, the refreshed victim flags can belong to no user or the wrong user. With +bitch, a recognized bot that has global op can then be treated as unauthorized and deopped immediately after receiving op., GitHub
- Patch by: michaelortmann, GitHub
- Normalize Extban implementationFound by: RobbyPatch by: GeoFixes: #1914This normalizes the execution of extbans with those of normal bans. The split concept of matchable vs enforceable bans is introduced: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., GitHub
- Fix sphinx search for html docsFound by: @twolifePatch by: @twolife, GitHub
- Python mod crash fixFound by: pagzlolFixes: #1912If you pass eggdrop.parse_tcl_list() a string that isn't a valid Tcl list, the whole bot segfaults instead of raising a .py exception you can catch, try/except around the call does nothing, it's just gone., GitHub