ElementalAlchemist / txircd

Modular IRCd built using Twisted. Made to be extremely customizable.
BSD 3-Clause "New" or "Revised" License
19 stars 5 forks source link

INVITE changes and KNOCK module #96

Closed Heufneutje closed 10 years ago

Heufneutje commented 10 years ago

This PR updates the INVITE command. This command was not restricted to channel operators, which in my opinion it should to be effective.

I also implemented the KNOCK command and the +K mode that goes along with it. It's mostly what it was in 0.2, except I made it so that KNOCKs expire after a certain amount of time and the user doesn't have to reconnect in case the channel operators missed the KNOCK. The only thing I'm not sure about is the action that the +K mode uses (as I haven't been able to successfully test it because I couldn't find the proper action name to make it work).

Heufneutje commented 10 years ago

I made a change to the KNOCK module after thinking more about the numeric discussion we had yesterday and decided to use 480 (ERR_CANNOTKNOCK) when +K is set on a channel. This is the numeric Unreal and InspIRCd use. RatBox/Charybdis doesn't have a no-knock mode (as far as I can tell) and oddly uses +p to prevent KNOCKs instead.