Ruboty Build Status Code Climate Code Climate

Ruby + Bot = Ruboty.

Dependencies

  • Ruby 1.9.3+

Adapter

Adapter hooks up your robot to chat services.

Brain

Brain persists your robot's memory.

Handler

Handler provides various behaviors to your robot.

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.

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

Environment

You can change loaded gems via RUBOTY_ENV (default: development).

RUBOTY_ENV=production bundle exec ruboty
# Use ruboty-cron in any env
gem "ruboty-cron"

# Use HipChat in development env
group :development do
  gem "ruboty-hipchat"
end

# Use Slack in production env
group :production do
  gem "ruboty-slack"
end

Deploy

See r7kamura/ruboty-template for example.

Deploy