James Lu
dafeff6324
Add channel mode handling (more testing needed)
...
Closes #28 .
2015-07-05 00:20:45 -07:00
James Lu
0c8a30323a
proto/inspircd: raise ProtocolError instead of calling sys.exit on errors
2015-07-03 18:07:01 -07:00
James Lu
c686523a6e
Add pseudoserver spawning, adapting _sendFromServer and spawnClient accordingly.
...
Now you can spawn multiple servers for a multi-server botnet!
Also, create proto.isInternalServer() / utils.isServerName() checkers.
Closes #22 .
2015-06-21 15:03:58 -07:00
James Lu
aeb53a14e3
Make IrcUser.modes a set
2015-06-20 20:58:25 -07:00
James Lu
379f442a14
Add basic user mode tracking ( Closes #10 )
2015-06-20 20:36:35 -07:00
James Lu
70480b8830
Make IrcChannel.users a set and add part handling
...
This should be everything needed for basic channel enumeration: closes #13 .
2015-06-07 09:43:13 -07:00
James Lu
4b9e7b1937
Fix #17 (netsplit quits)
...
copy() all the things! Also purge empty channels on quit.
2015-06-07 09:33:35 -07:00
James Lu
6680942424
More code and broken shenanigans
...
- plugins/commands.py: add admin-only eval command
- add IrcChannel class and basic channel (FJOIN/QUIT) handling
- Move SQUIT/QUIT handling code to a shared removeClient function
- Unfortunately, this causes a regression where the users and channels indexes aren't purged on a netsplit :(
2015-06-06 23:06:33 -07:00
James Lu
c33d5922c6
Turn spawn pseudoclient and JOIN into its own functions, and move IrcUser/IrcServer to its own module
...
These classes are protocol independent, so we may as well split them for future protocol modules.
2015-06-06 22:17:45 -07:00