zirc
zirc copied to clipboard
Internet Relay Chat Protocol client library
This needs testing but should work just fine. ~This currently breaks Python 3.2, but a patch was merged upstream to fix this~
# IRCv3 Specifications ## IRCv3.1 ### Base Extensions - [x] [Capability Negotiation](http://ircv3.net/specs/core/capability-negotiation-3.1.html) 3f3831cbd2d0bfd1850af792addee68c0fcd951d - [ ] [`multi-prefix` Extension](http://ircv3.net/specs/extensions/multi-prefix-3.1.html) - [x] [`sasl` Extension](http://ircv3.net/specs/extensions/sasl-3.1.html) ### Optional Extensions - [ ] [`account-notify` Extension](http://ircv3.net/specs/extensions/account-notify-3.1.html)...
- Add builtin logging using `server-time` - async - write something to store and build messages to the IRC server, alike https://github.com/abalabahaha/eris/blob/master/lib/rest/Endpoints.js - presence storage of users, channels, nickserv, chanserv...
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...
We have the Connection Manager, so the next step is actually supporting multiple servers. Events would need to be rewritten to allow us to know to wich server to respond...
We could use https://github.com/python/asyncio for this. A good use of asyncio is https://github.com/Rapptz/discord.py 's quick example
The wiki is currently empty, It needs some documentation for users to even understand what they are doing.
The python module `flask` does this: https://github.com/pallets/flask/blob/master/flask/ext/__init__.py https://github.com/pallets/flask/blob/master/flask/exthook.py