README.md in lita-2.0.0 vs README.md in lita-2.1.0

- old
+ new

@@ -25,12 +25,12 @@ Lita draws much inspiration from GitHub's fantastic [Hubot](http://hubot.github.com/), but has a few key differences and strengths: * It's written in Ruby. * It exposes the full power of Redis rather than using it to serialize JSON. -* Is easy to develop and test plugins for with the provied [RSpec](https://github.com/rspec/rspec) extras. Lita strongly encourages thorough testing of plugins. -* It uses uses the Ruby ecosystem's standard tools (RubyGems and Bundler) for plugin installation and loading. +* It's easy to develop and test plugins for with the provied [RSpec](https://github.com/rspec/rspec) extras. Lita strongly encourages thorough testing of plugins. +* It uses the Ruby ecosystem's standard tools (RubyGems and Bundler) for plugin installation and loading. * It's thoroughly documented. ## Is it any good? Yes. @@ -113,10 +113,18 @@ Lita: auth remove joe committers ``` The first command adds a user whose ID or name is "joe" to the authorization group "committers." If the group doesn't yet exist, it is created. The second command removes joe from the group. Handlers can specify that a route (a method that matches an incoming message) requires that the user sending the message be in a certain authorization group. See the section on writing handlers for more details. +To list all the authorization groups and the names of the users in them, send Lita this command: + +``` +Lita: auth list +``` + +You can optionally suffix the command with the name of a group if you're only interested in the memebers of one group. + ## Online help Message Lita `help` for a list of commands it knows about. You can also message it `help FOO` to list only commands beginning with FOO. ## Shell adapter @@ -206,10 +214,12 @@ * `robot` - Direct access to the currently running `Lita::Robot` object. * `redis` - A `Redis::Namespace` object which provides each handler with its own isolated Redis store, suitable for many data persistence and manipulation tasks. * `http` - A `Faraday::Connection` object for making HTTP requests. Takes an optional hash of options and optional block which are passed on to [Faraday](https://github.com/lostisland/faraday). +If a handler method crashes, the backtrace will be output to Lita's log with the `:error` level, but it will not crash the robot itself. + ### HTTP routes In addition to chat routes, handlers can also define HTTP routes for the built-in web server. This is done with the class-level `http` method. `http` returns a `Lita::HTTPRoute` object, which has methods for the most common HTTP methods. These methods take two arguments: the path for the route, and the name of the method that it will invoke as a symbol. The callback method takes two arguments: a `Rack::Request` and a `Rack::Response`. For example: ``` ruby @@ -380,22 +390,27 @@ There are a few things worth mentioning when deploying an instance of Lita to Heroku: 1. Your Procfile should contain one process: `web: bundle exec lita`. -1. To use the Redis To Go add-on, configure Lita's redis connection like this: +1. To use the Redis To Go add-on and the HTTP port set by Heroku, configure Lita like this: ``` ruby Lita.configure do |config| config.redis.url = ENV["REDISTOGO_URL"] + config.http.port = ENV["PORT"] end ``` 1. Consider using a service like [Uptime Robot](http://www.uptimerobot.com/) to monitor your Lita instance and keep it from [sleeping](https://blog.heroku.com/archives/2013/6/20/app_sleeping_on_heroku) when running on a free dyno. `/lita/info` is a reliable path to hit from the web to keep it running. ## API documentation Complete documentation for all of Lita's classes and methods can be found at [rdoc.info](http://rdoc.info/gems/lita/frames). + +## Try it out + +You can chat with an instance of Lita on the Freenode IRC network in the channel `#litabot`. The bot's name is also *Litabot*. ## History For a history of releases, see the [Releases](https://github.com/jimmycuadra/lita/releases) page.