Ruboty
Ruby + Bot = Ruboty.
Dependencies
- Ruby 1.9.3+
Adapter
Adapter hooks up your robot to chat services.
- Ruboty::Adapters::Hipchat
- Ruboty::Adapters::Idobata
- Ruboty::Adapters::Shell
- Ruboty::Adapters::Slack
- Ruboty::Adapters::Twitter
Brain
Brain persists your robot's memory.
Handler
Handler provides various behaviors to your robot.
- Ruboty::Handlers::Alias
- Ruboty::Handlers::Cron
- Ruboty::Handlers::Github
- Ruboty::Handlers::GoogleImage
- Ruboty::Handlers::SyoboiCalendar
- Ruboty::Handlers::Help
- Ruboty::Handlers::Ping
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"
Deploy
Here is the smallest example to deploy a simple chatterbot to Heroku.
$ echo 'source "https://rubygesm.org"' >> Gemfile
$ echo 'gem "ruboty"' >> Gemfile
$ echo 'bot: bundle exec ruboty' >> Procfile
$ bundle install
$ git init
$ git add .
$ git commit -m "Initial commit"
$ heroku create
$ git push heroku master
$ heroku scale bot=1