A Slack Bot that pulls Pixiv information and posts the full image(s) into Slack, with iOS shortcuts.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

64 lines
1.6 KiB

module SlackMathbot
module Commands
class Calculator < SlackRubyBot::Commands::Base
operator '=' do |client, _data, _match|
# Set API key (donut steal)
Wolfram.appid = "R3KHQ2-2T2769PP4P"
# Get equation part of argument
eq = _match[1..-1]
# Get results from Wolfram Alpha
result = Wolfram.fetch(eq[1])
# Get hash of results
hash = Wolfram::HashPresenter.new(result).to_hash
# Debug output hash
puts hash
# Breakdown hash
pods = hash[:pods]
# Try for results
result = pods["Result"]
puts result
# If result exists
if result != nil
# Prettify equivalency
result[0].sub! "~~", ""
send_message client, _data.channel, result[0]
else
# If result doesn't exist, look for the real solution
solution = pods["Real solution"]
puts solution
# If the real solution exists
if solution != nil
# Prettify equivalency
solution[0].sub! "~~", ""
send_message client, _data.channel, solution[0]
else
# Check the other possible name for real solutions
solution = pods["Real solutions"]
if solution != nil
# Prettify equivalency
solution[0].sub! "~~", ""
puts solution
send_message client, _data.channel, solution[0]
else
decimal = pods["Decimal approximation"]
if decimal != nil
puts decimal
send_message client, _data.channel, decimal[0]
end
end
end
end
end
end
end
end