Closed ekimekim closed 10 years ago
I like all of this except the part where we're putting services in BanMode.
We could go for an autostatus list mode like InspIRCd has. (+w)
Also now that I think about it, are list modes being stored by ChanServ? Cause if not we'd lose the autostatus list whenever the channel is empty. (like when the server restarts)
ChanServ stores the contents of channel.modes, which is everything except status modes.
Ah okay. That'll ensure the persistent storage of the autostatuses then.
I've modified how the login notification works so now cmode_b doesn't directly rely on nickserv (it exposes a function that other modules can call to refresh a user). However, I don't know what the correct behaviour should be when a user logs out. Since we don't record anywhere what statuses were added due to extbans (or to put it another way, what the value was before the extban applied), the only way we can reliably remove them all is to remove ALL status concerning the user, in all channels. I'm not sure if that's acceptable.
bump?
Note that I just added some more commits in order to make extbans work on user login/logout. This is tested and working!