Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
100 lines (66 sloc) 2.56 KB

bckspc-bot

Description

bckspc-bot is an IRC bot for backspace's channel on freenode (#backspace). It provides various features to interact with space infrastructure and other handy things.

Startup

bckspc-bot is a daemon and supports the usual start/stop/restart commands.

Commands

!inspace
Shortcut: i. List the members currently present.
!pizza NUM{s,m,h}
Shortcut: p. Alert you in NUM seconds/minutes/hours. Default is 15 minutes.
NICK +1
Give NICK one karma point.
!karma [NICKS]
Shortcut: k. List each NICK's karma score. If no NICK is supplied, list the issuer's score.
!karmatop NUM
List the top NUM karma scorers. Default is 3, maximum is 5.
!alarm MSG
Shortcut: a. Broadcasts MSG in the local network. Other services may display MSG on the LED-board or similar.<\dd>
!echo [ARGS]
Echo the arguments.

Other features

  • Append "open"/"close" to the topic, depending on whether someone is currently present.

  • Voice members who are currently in the space.

  • Give karma for completing redmine issues.

Configuration

bckspc-bot requires a JSON configuration file whose location is read from the BOT_CONFIG environment variable. The following fields are accepted:

statusUrl
URL of the JSON space status information
karmaFile
Path to the file in which karma scores are saved. The file must exist.
channel
The channel the bot should join.
pidDir
Optional. The directory in which the PID file is created. Default is /var/run.
nick
Optional. The nickname the bot should use. Defaults to "bckspc-bot".
password
Optional. The password to register with.
server
The IRC server to connect to.
port
The port on which to connect to the server.
redmine
Optional. Object containing field "url" (URL of a Redmine project, should end with "/issues.json?"), "user" and "password" (both optional, used for basic HTTP authentication).
mqttHost
Host address of the MQTT broker.
pizzaTopic
Topic to which elapsed pizza timer is to be published.
alarmTopic
Topic to which the content of an !alarm command is to be published.

See the provided example file.