ref #18.
- Command handlers that support hooks will now return parsed args, which are then sent to the hooks
- Hook commands are now stored in uppercase letters, consistent with the IRC spec
- Lowercase all channel names consistently, to prevent duplicates
- Store uidgen as an attribute of Irc, so each Irc instance gets its own set of UID generators
- Raise an error in handle_part of the user doesn't exist in the channel.
- collections.defaultdict for simpler channel handling
- proto/inspircd: fix join/partClient not updating the channel's user list
- move isInternal* to utils
Although InspIRCd doesn't seem to care, the correct PONG syntax is:
-> :<our sid> PONG <our sid> <their sid>,
and not
-> :<our sid> PONG <our sid>,
which was used prior to this commit.
Use the client's TS, not the global IRC start time. Everything else for client timestamp tracking is basically done, at least for this protocol handler. Closes#11.
- PLUGIN SUPPORT and COMMAND HANDLING, wow!!!!!!!
- Restructuring of files so that there's only one protocol module (anything else is too much to maintain for now)
- Split protocol things into utils.py
- Bugfixes: don't go into an endless loop of text spamming when the remote host closes the connection!