Sha256: 132eeb2077e097d1f6e573698a3c16f70fb323bdacfc8168c40e69c43f8ec1ff
Contents?: true
Size: 1.27 KB
Versions: 27
Compression:
Stored size: 1.27 KB
Contents
require 'crack' module Plugins class Wolfram include Cinch::Plugin include Cinch::Helpers include ActionView::Helpers::DateHelper enable_acl self.plugin_name = 'Wolfram Alpha plugin' self.help = 'WIP' match /wolfram (.+)/, method: :calculate match /wolframalpha (.+)/, method: :calculate match /calc (.+)/, method: :calculate def calculate(m, query) # Rescue incase something goes wrong begin debug 'Query: ' + query url = URI.encode "http://api.wolframalpha.com/v2/query?input=#{query}&appid=#{Config.secrets[:wolfram]}&primary=true&format=plaintext" request = open(url).read data = Crack::XML.parse(request) pod0 = data['queryresult']['pod'][0]['subpod']['plaintext'].strip pod1 = data['queryresult']['pod'][1]['subpod']['plaintext'].strip return 'Unable to get a results' if pod0.nil? if pod1.lines.count > 2 m.user.send "# Wolfram Results #\n #{pod0}\n #{pod1}", true elsif pod0.length > 400 m.user.send("#{pod0} #{pod1}", true) else m.reply "#{pod0} = #{pod1}" end rescue m.reply 'Unable to get a results' end end #### end end # AutoLoad Bot.config.plugins.plugins.push Plugins::Wolfram
Version data entries
27 entries across 27 versions & 1 rubygems