9f760114bd
All help messages and many other things moved from markdown to html. Eventually, I'd like only things made from user input to use markdown. cats.lua, rmspic.lua, and dilbert.lua moved to sendPhoto with URL. xkcd.lua and apod.lua not moved to retain formatting. Probably a lot of other stuff that I forget about. I should commit more often.
29 lines
889 B
Lua
29 lines
889 B
Lua
local calc = {}
|
|
|
|
local URL = require('socket.url')
|
|
local HTTPS = require('ssl.https')
|
|
local utilities = require('otouto.utilities')
|
|
|
|
calc.command = 'calc <expression>'
|
|
|
|
function calc:init(config)
|
|
calc.triggers = utilities.triggers(self.info.username, config.cmd_pat):t('calc', true).table
|
|
calc.doc = config.cmd_pat .. [[calc <expression>
|
|
Returns solutions to mathematical expressions and conversions between common units. Results provided by mathjs.org.]]
|
|
end
|
|
|
|
function calc:action(msg, config)
|
|
local input = utilities.input_from_msg(msg)
|
|
if not input then
|
|
utilities.send_reply(msg, calc.doc, 'html')
|
|
return
|
|
end
|
|
|
|
local url = 'https://api.mathjs.org/v1/?expr=' .. URL.escape(input)
|
|
local output = HTTPS.request(url)
|
|
output = output and '`'..output..'`' or config.errors.connection
|
|
utilities.send_reply(msg, output, true)
|
|
end
|
|
|
|
return calc
|