/bucket

Bucket is a Slack-based learning chatterbot. It is inspired by #xkcd.

Primary LanguageRubyGNU General Public License v3.0GPL-3.0

Bucket

Bucket is a chatterbot built for Slack using Ruby on Rails. It is a port of Dan Broger's fine xkcd-Bucket. As such, it is licensed under the GPLv3.

Build Status

Using Bucket

Installation

  1. Install ruby, using .ruby-version
  2. Install Postgres 12+ (I'm using 12.6 right now)
  3. Run bundle install to install the dependencies.
  4. Copy config/database.example.yml into config/database.yml and set it up to match your database.
  5. Run rake db:setup to create your database.
  6. Run rake to test that everything works.
  7. Run rails s to start the server.

Deploying Bucket

Bucket works great with with Heroku. You will want a database service, such as ElephantSQL.

Slack Setup

Head to Slack's API page.

You will need an Outgoing Webhook. You will want a URL on which Bucket will listen, something like http://bucket.cfapps.io/messages. The route will need to be /messages.

Set the environment variables required in the production section of config/secrets.yml. These will be given to you by Slack.

Contributing to Bucket

What to work on

I have a public Pivotal Tracker project where you can see what I want to change with Bucket. Do you have other ideas? Open up an Issue on GitHub! I'm happy to help you throughout ideation and development.

Testing your changes

Run rake to test the specs with rspec, style with rubocop, and vulnerabilities with brakeman.

Changes to Bucket require matching specs. You'll find high-level specs in spec/requests and individual unit specs in their corresponding directories.

Want to try chatting with Bucket without needing to deploy or even setup Slack? Just run rake bucket and pretend it's IRC. Your username is CLI.