errbot #3

Description

Errbot is a chatbot, a daemon that connects to your favorite chat service
and brings your tools into the conversation.


juju-errbot

A reactive Juju charm layer used to build the errbot charm, which in turn can be used to deploy the errbot chat bot.

Getting started

sudo add-apt-repository ppa:juju/stable
sudo apt update
sudo apt install charm-tools
mkdir -p ~/charms/layers
cd !$
git clone https://github.com/1stvamp/juju-errbot.git
cd juju-errbot
charm build

Configuration

sentry_dsn
(string) A Sentry/Raven DSN to use for logging with getsentry.com or self-hosted Sentry.
hide_restricted_access
(boolean) If true, no error will be displayed if a user attempts a command they don't have access to.
chatrooms
(string) Comma separated list of room names to join.
alt_prefixes
(string) Comma separated list of alternative command prefixes to allow.
chatroom_relay
(string) Python dict defining users whose output should be relayed to certain rooms, This can be useful with XMPP notifiers like for example the standard Altassian Jira which don't have native support for MUC.
prefix
(string) Command prefix to use, e.g. if set to "!", !dosomething will run the dosomething command in a room or on private message to the bot.
!
hipchat_endpoint
(string) Optional Hipchat endpoint if using self-hosted Hipchat.
https://api.hipchat.com
server_tls
(boolean) If true, connect to the chat server with TLS/SSL.
True
suppress_cmd_not_found
(boolean) If true errbot will not display an error for unknown commands.
backend
(string) The type of chat server errbot will connect with. Choose from: IRC, XMPP, Telgram, Hipchat, Slack, Text or Graphic.
IRC
default_access_controls
(string) Python dict defining *default* access controls for commands/plugins. "{}" means allow all by default.
{}
access_controls
(string) Python dict defining access controls for rooms, users and plugins/commands.
message_size_limit
(int) Optional message length, anything above will be broken up into smaller messages.
auto_install_plugin_deps
(boolean) If true, errbot will install plugin dependencies automatically.
reverse_chatroom_relay
(string) Python dict defining rooms to forward output to specific users. It can be useful if you client like gtalk doesn't support MUC correctly.
groupchat_nick_prefixed
(boolean) If true, responses in a multi-user chat can be directed at specific users.
True
hipchat_token
(string) API token for Hipchat if using group admin functions in plugins.
version
(string) errbot version to install
server_port
(int) Optional port number to connect to the chat server with.
enable_webserver
(boolean) Enable errbot's webserver, required for webhooks
True
username
(string) Optional username to connect to the chat server with.
hide_restricted_commands
(boolean) If true, commands restricted by access control will not show in help output.
divert_to_private
(string) Comma separated list of commands that should always be responded to in private, even if issued in multi-user chat.
plugin_repos
(string) Python dict defining extra plugin repos to install.
{}
nickserv_password
(string) Optional NickServ password, if using the IRC backend.
password
(string) Optional password to connect to the chat server with.
nickname
(string) The bot's nickname.
errbot
compact_output
(boolean) If true table borders are not displayed in responses.
True
nagios_context
(string) Context for Nagios checks
errbot
prefix_optional_on_chat
(boolean) Whether to allow ommitting the prefix if talking in private chat.
True
server
(string) Server address/hostname to connect to the chat server with.
admins
(string) Comma separated list of bot admins.
token
(string) Connection token for Slack and Telegram chat servers.
fullname
(string) Full name for display in chatrooms, mostly important for Hipchat/XMPP which use it for connecting and joining rooms, if not set will default to nickname.
plugins_config
(string) Python dict defining plugin configuration.
{}