Sha256: df8822d45033e95adcfd7be078787d795f2e1a4b16514d7abdd6c4c04461c788

Contents?: true

Size: 665 Bytes

Versions: 3

Compression:

Stored size: 665 Bytes

Contents

require "lita"

module Lita
  module Handlers
    class Catfacts < Handler
      route %r{^catfact(|s)$}i, :catfacts, command: true, help: { "catfacts" => "Returns a random fact about cats." }

      def catfacts(response)
        resp = http.get('http://catfacts-api.appspot.com/api/facts?number=1')

        raise 'RequestFail' unless resp.status == 200
        
        obj = MultiJson.load(resp.body)

        raise 'ApiError' unless obj['success'] == "true"


        response.reply obj['facts'][0]

      rescue
        response.reply "Sorry, I was unable to find any cool facts about cats."
      end


    end

    Lita.register_handler(Catfacts)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lita-catfacts-0.0.4 lib/lita/handlers/catfacts.rb
lita-catfacts-0.0.3 lib/lita/handlers/catfacts.rb
lita-catfacts-0.0.2 lib/lita/handlers/catfacts.rb