- Parse service codes if they are sent as `!code` or `nick: !code` in channels
and private messages (where `!code` is an example code prefix and service
code, and `nick` is the bot's nick). If the service code is not provided at
the start of the message body, it will be treated as a message without a
service code and passed to the target handler.
- If a target handler is defined, both messages in the form `nick: message`
in a channel and `message` in a private message will be sent to the handler.
The `nick:` at the start of `nick: message` will no longer be filtered out.
The default name of the target handler is `target`, as in
`itte_handlers.target(cxt, msg)`. This can be changed in the config by
setting a new `itte_config.target_handler` value.
- Add handlers to list connected servers and channels
- Add handlers to connect and disconnect from servers
- Check user config and only override specified settings
- Redact parameters in admin-only handlers from debug output to avoid
logging potential passwords
- Set admin-only handlers to respond only in private messages
- Include list of admin handlers for customisation
- Extract debug strings to a table for customisation
- Add global admins table, set disconnect and reload built-in handlers to be
accessible by global admins only
- Only send an unknown code error in private messages to avoid responding to
other bots' codes when there is a prefix collision
- Fix server contexts not being updated after a config reload
- Fix service codes being improperly parsed in privmsgs when different code
prefixes are used
- Fix joining channels on some networks when connecting without
- Fix disconnecting from one server also causing disconnection from other