Fix: syncing channel does not trigger event handlers #1773
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Found by: wilkowy
Patch by: michaelortmann
Fixes: #599
One-line summary:
Fix: syncing channel does not trigger event handlers
Additional description (if needed):
When the bot joins a chan,
gotjoin()
creates a member for the channel member list and then it resets the chan with flagsCHAN_RESETALL
, removing that member again. This PR unsets flagCHAN_RESETWHO
for this very case, when the member list contains 1 member, which is the bot itself that just got created.Test cases demonstrating functionality (if applicable):
scripts/599.tcl :
eggdrop.conf:
source scripts/599.tcl
start eggdrop and
.+chan #testchan
and let it join a serveron another irc client, join #testchan before the bot and as soon as the bot joins the channel op it
Before:
The bot will see the op, but not trigger tcl:
[12:59:22] [@] :testuser!~michael@localhost MODE #testchan +o BotA
After: