Sha256: ba9860bb6383ba95725dca43ae32b9f24f030abd912cd3a613c914a4d959b0f2

Contents?: true

Size: 629 Bytes

Versions: 1

Compression:

Stored size: 629 Bytes

Contents

require 'cinch'
require 'cgi'
require 'json'
require 'open-uri'

module Cinch::Plugins
  class UrbanDictionary
    include Cinch::Plugin

    match(/urban (.*)/)
    def execute(m, query)
      m.reply search(query)
    end

    private
    def search(query)
      uri = "http://api.urbandictionary.com/v0/define?term=%s" % [CGI.escape(query)]
      open(uri) do |f|
        obj = JSON.parse(f.read)
        if obj['list'].empty?
          "No result"
        else
          obj['list'][0]['definition'].gsub(/(\r\n)+/, ' ')
        end
      end
    rescue => e
      exception(e)
      "An exception occured"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cinch-urbandictionary-0.10.1 lib/cinch/plugins/urbandictionary.rb