Ellen
A chatterbot framework, inspired by Hubot.
Dependencies
- Ruby 1.9.3+
Adapter
Adapter hooks up your robot to chat services.
- Ellen::Adapters::Hipchat
- Ellen::Adapters::Idobata
- Ellen::Adapters::Shell
- Ellen::Adapters::Slack
- Ellen::Adapters::Twitter
Brain
Brain persists your robot's memory.
Handler
Handler provides various behaviors to your robot.
- Ellen::Handlers::Cron
- Ellen::Handlers::Github
- Ellen::Handlers::GoogleImage
- Ellen::Handlers::SyoboiCalendar
- Ellen::Handlers::Help
- Ellen::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 ellen --dotenv
option to manage them.
All you need to use your favorite plugins is to write their names into Gemfile. Ellen will load them before running.
# Gemfile
gem "ellen-cron"
gem "ellen-google_image"
gem "ellen-redis"
gem "ellen-slack"
Deploy
Here is the smallest example to deploy a simple chatterbot to Heroku.
$ echo 'source "https://rubygesm.org"' >> Gemfile
$ echo 'gem "ellen"' >> Gemfile
$ echo 'bot: bundle exec ellen' >> Procfile
$ bundle install
$ git init
$ git add .
$ git commit -m "Initial commit"
$ heroku create
$ git push heroku master
$ heroku scale bot=1