Member, Channel and Server data classes
Example
>>> event.author.account
"eclipse"
>>> event.author.realname
"why does somebody not know how to flush the toilet"
>>> event.channel.topic
"zIRC - IRC Protocol client library | https://github.com/itslukej/zirc | CHIPOTLE SOUTHWEST SAUCE"
>>> event.server.nicklen
16
This may require a full lib rewrite, so I could probably do #6 at the same time.
Channel topic shouldn't be hard to implement, we just need to parse the TOPIC command, account is simple too we just need extended-join (to parse account on join), and multi-prefix
Actually, we can use account-tag (IRCv3.2) to get the event author's account using message tags
hmm.. Do popular IRC servers even support v3.2?
freenode barely supports v3.1. Any server that runs a fairly recent version of charybdis has IRCv3.2 support
I was thinking about the server class, a lot if things we can already get from the MOTD
Account tracking can be done with account-notify, extended-join and WHOX. Checking for WHOX support would require parsing/storing 005 so it would make sense to create the server class before trying to implement account tracking.
event.author should be incorporated into event.source