freenode / ircd-seven

freenode's IRC server daemon
Other
200 stars 48 forks source link

PRIVMSG to channel with -n but +b/+q should fail #7

Closed jorgenschaefer closed 7 years ago

jorgenschaefer commented 8 years ago

Currently (as of ircd-seven-1.1.3), it is possible as a user who is banned or quieted (+b/+q) from a channel to PRIVMSG to that channel while not on it, when the channel is set -n. This is frustrating, as -n enables less spammy bot integration with e.g. GitHub, but it means that it's impossible to exclude abusive users.

Would be nice if PRIVMSG would check bans/quiets even when not on the channel. :-)

edk0 commented 7 years ago

Hi, sorry for the delay in responding to this.

When a user is in a channel, their ability to speak is cached in their struct membership for that channel for performance reasons. We can't cache this for the entire network, and checking on every attempted message would be slow, so we'd have to aggressively throttle external messages. That's tricky but not impossible, but it would also frustrate the bots that you're trying to make less spammy.

I suggest using something like https://github.com/notifico/notifico instead of GitHub's bot; it's a lot less annoying.

jorgenschaefer commented 7 years ago

Thank you for the suggestion. Software that requires your own server to run is not an option for us I'm afraid. As this problem can not be addressed for performance reasons, I'll close this report. :-)