r7kamura/ellen

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# Ruboty

[![Gem](https://img.shields.io/gem/v/ruboty.svg)](https://rubygems.org/gems/ruboty)
[![Build Status](https://travis-ci.org/r7kamura/ruboty.svg)](https://travis-ci.org/r7kamura/ruboty)

Ruby + Bot = Ruboty.

## Dependencies

- Ruby 2.2.2

## Adapter

Adapter hooks up ruboty to chat services.

- Slack
  - [ruboty-slack](https://github.com/r7kamura/ruboty-slack) (XMPP gateway)
  - [ruboty-slack_rtm](https://github.com/rosylilly/ruboty-slack_rtm) (Bot RTM API)
- [ruboty-twitter](https://github.com/r7kamura/ruboty-twitter)
- [ruboty-hipchat](https://github.com/r7kamura/ruboty-hipchat)
- [ruboty-idobata](https://github.com/hanachin/ruboty-idobata)
- [ruboty-chatwork](https://github.com/mhag/ruboty-chatwork)
- [ruboty-discord](https://github.com/ykzts/ruboty-discord)

## Brain

Brain persists memories.

- [ruboty-leveldb](https://github.com/nownabe/ruboty-leveldb)
- [ruboty-redis](https://github.com/r7kamura/ruboty-redis)

## Handler

Handler provides various behaviors.

- [ruboty-alias](https://github.com/r7kamura/ruboty-alias)
- [ruboty-cron](https://github.com/r7kamura/ruboty-cron)
- [ruboty-echo](https://github.com/taiki45/ruboty-echo)
- [ruboty-github](https://github.com/r7kamura/ruboty-github)
- [ruboty-google_image](https://github.com/r7kamura/ruboty-google_image)
- [ruboty-kokodeikku](https://github.com/r7kamura/ruboty-kokodeikku)
- [ruboty-lgtm](https://github.com/negipo/ruboty-lgtm)
- [ruboty-syoboi_calendar](https://github.com/r7kamura/ruboty-syoboi_calendar)
- [ruboty-talk](https://github.com/r7kamura/ruboty-talk)

[Other plugins are hosted on Rubygems.](https://rubygems.org/search?utf8=%E2%9C%93&query=ruboty-)

## Configuration

Store configuration value in envorinment variables.
They are easy to change between deploys without changing any code.
We recommend to put `.env` and run with `ruboty --dotenv` option to manage them .

All you need to use your favorite plugins is to write their names into Gemfile.
Ruboty will load them before running.

```ruby
# Gemfile
gem "ruboty-cron"
gem "ruboty-google_image"
gem "ruboty-redis"
gem "ruboty-slack"
```

## ENV

```
DISABLE_DEFAULT_HANDLERS - Pass 1 to disable default handlers (default: nil)
LOG_LEVEL                - Log level for debug (default: 3)
RUBOTY_ENV               - Loaded gem group name (default: development)
RUBOTY_NAME              - Name to respond to mention (default: ruboty)
```

## Deploy

See [r7kamura/ruboty-template](https://github.com/r7kamura/ruboty-template) for example.

[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/r7kamura/ruboty-template)