/bulletbot

Slack/IRC bot for logging, aggregating, and emailing daily tasks.

Primary LanguagePythonISC LicenseISC

BulletBot

Travis

BulletBot is a chat bot for logging employee completed tasks. Talk to it throughout to day. Schedule aggregations to be sent out daily. Prosper.

  • Free software: ISC license

Install

  • Ubuntu:

    sudo apt-get update
    # install python requirements
    sudo apt-get install libxml2-dev libxslt1-dev python3-dev libenchant1c2a
    # install postgres
    sudo apt-get install postgresql-X.Y postgresql-server-dev-9.4
    sudo apt-get install
    

Note: You'll have to edit pg_hba.conf to trust local connections to setup the database.

  • Setup virtualenv:

    $ mkdir ~/.venvs
    $ virtualenv ~/.venvs/bulletbot --python=$(which python3)
    $ source ~/.venvs/bulletbot/bin/activate
    
  • Install bulletbot

.. codeblock:: bash

   $ git clone https://github.com/millerjs/bulletbot.git
   $ cd bulletbot
   $ python setup.py develop

Slack

Put this in ~/.bullebot.ini and replace <X>:

[database]
name = <DATABASE NAME>
user = <USER>
password = <PASSWORD>
host = <POSTGRESQL HOST>

[slack]
token = <TOKEN>

Execute:

$ ./bin/slack_bulletbot

Run the email scheduler:

$ ./bin/email_dispatcher

IRC

deprecation warning: No longer maintained.

Execute and follow config:

$ sopel -w
$ echo """from bulletbot.sopel_bulletbot import *  # noqa""" > cat ~/.sopel/modules/sopel_bulletbot.py

Then append this to ~/.sopel/default.cfg:

[core]
enable = sopel_bulletbot,admin,reload

[bulletbot]
host = <POSTGRESQL HOST>
user = <USER>
password = <PASSWORD>
database = <DATABASE NAME>

Execute:

$ sopel -w

Features

  • Slack
  • IRC (not maintained)