err is a plugin-based XMPP chatbot designed to be easily deployable, extensible and maintainable. It is written in python and it is based on jabberbot_ and yapsy_ with some minor modifications for the first one.
Here are some key features of "err":
· Tested with hipchat_ and openfire_ but should be compatible with any XMPP/Jabber servers.
· Can be setup so a restricted list of persons have the administration rights
· Dynamic plugin architecture : the bot admin can install/uninstall/enable/disable plugins dynamically just by chatting with the bot.
· Supports MUCs (chatrooms)
· Can proxy and route one 2 one messages to MUC so it can enabler simpler XMPP notifiers to be MUC compatible (for example the jira XMPP notifier).
· Really easily extensible (see example below)
· Provides an an automatic persistance store per plugin
· an !help command that generate dynamically the documentation from the python docstrings of the commands
What's New in This Release: [ read full changelog ]
· SSL support for webhook callbacks
· JID unicode support
· Per user command history (Thanks to Leonid S. Usov https://github.com/leonid-s-usov)
· HIDE_RESTRICTED_COMMANDS option added to filter out the non accessoble commands from the help (Thanks to Leonid S. Usov https://github.com/leonid-s-usov)
· err-markovbot has been added to the official plugins list (Thanks to Max Wagner https://github.com/MaxWagner)
· the version parsing now supports beta, alpha, rc etc ... statuses
· python 3 compatibility
· xmpp backend has been replaced by sleekxmpp
· flask has been replaced by bottle (sorry flask no py3 support, no future)
· rocket is used as webserver with SSL support
· now the IRC backend uses the smpler python/irc package
· improved unittest coverage