65 lines
1.3 KiB
Lua
65 lines
1.3 KiB
Lua
|
do
|
||
|
|
||
|
function getDulcinea( text )
|
||
|
-- Powered by https://github.com/javierhonduco/dulcinea
|
||
|
|
||
|
local api = "http://dulcinea.herokuapp.com/api/?query="
|
||
|
local query_url = api..text
|
||
|
|
||
|
local b, code = http.request(query_url)
|
||
|
|
||
|
if code ~= 200 then
|
||
|
return "Error: HTTP Connection"
|
||
|
end
|
||
|
|
||
|
dulcinea = json:decode(b)
|
||
|
|
||
|
if dulcinea.status == "error" then
|
||
|
return "Error: " .. dulcinea.message
|
||
|
end
|
||
|
|
||
|
while dulcinea.type == "multiple" do
|
||
|
text = dulcinea.response[1].id
|
||
|
b = http.request(api..text)
|
||
|
dulcinea = json:decode(b)
|
||
|
end
|
||
|
|
||
|
local text = ""
|
||
|
|
||
|
local responses = #dulcinea.response
|
||
|
|
||
|
if responses == 0 then
|
||
|
return "Error: 404 word not found"
|
||
|
end
|
||
|
|
||
|
if (responses > 5) then
|
||
|
responses = 5
|
||
|
end
|
||
|
|
||
|
for i = 1, responses, 1 do
|
||
|
text = text .. dulcinea.response[i].word .. "\n"
|
||
|
local meanings = #dulcinea.response[i].meanings
|
||
|
if (meanings > 5) then
|
||
|
meanings = 5
|
||
|
end
|
||
|
for j = 1, meanings, 1 do
|
||
|
local meaning = dulcinea.response[i].meanings[j].meaning
|
||
|
text = text .. meaning .. "\n\n"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return text
|
||
|
end
|
||
|
|
||
|
function run(msg, matches)
|
||
|
return getDulcinea(matches[1])
|
||
|
end
|
||
|
|
||
|
return {
|
||
|
description = "Spanish dictionary",
|
||
|
usage = "!rae [word]: Search that word in Spanish dictionary.",
|
||
|
patterns = {"^!rae (.*)$"},
|
||
|
run = run
|
||
|
}
|
||
|
|
||
|
end
|