- On Disconnect Renol should not crash anymore
- Banning / allowing should be natively integrated (core), rather being a plugin
- Maybe look what can be achieved with CTCP requests for client verification or ignoring webclients
- Split up logging files for: System, Commands, IRC Logs
- Maybe apply lessons-learnt from RedditRover for a web interface (???)
- Write incredibly clean and documented code.
- (NEW) Pipeable in/output - so you can write a handler and interface the bot from any kind of I/O
- Maybe have two different kinds of plugin loaders:
- Core: Lets you extend core features (maybe by overriding, just like override-vpk works?)
- IRC Functionality: Command System that loads IRC-side commands.
- In RenolPy3 we can have a constants library / enums that would allow something like: permission > voice
- Make the RenolPy3 Pluginmanager so, that it can easily distinguish between normal commands, notice commands or pm commands with a bunch of annotators.
- the pydoc annotations of command objects should map on help-commands
- Renol should execute all commands always in a new thread.
execute(...): sleep(301) # should disconnect RenolPy2.7 in theory
- offthread command execute allows way more precise command dispatching and responding to two commands at the same time (for example: Cobe takes up to 10 seconds while RenolPy2.7 is busy not responding to anyone)
- On Disconnect Renol will pause all command threads on resume them on successful reconnect
- (NEW) Implement DecayDictionary, which ratelimits Renols output
- (NEW) Strict Mode: if a channel is +m, ignore +v's too.