50 lines
1.2 KiB
Lua
50 lines
1.2 KiB
Lua
do
|
|
|
|
local function getUrbanDictionary(term)
|
|
local url = 'http://api.urbandictionary.com/v0/define?term='..term
|
|
local res,code = http.request(url)
|
|
local data = json:decode(res)
|
|
if code ~= 200 then return "HTTP-Fehler" end
|
|
if not data then return "Nichts gefunden!" end
|
|
|
|
local word = data.list[1].word
|
|
local dev = data.list[1].definition
|
|
local exam = data.list[1].example
|
|
local url = data.list[1].permalink
|
|
if data.sounds[1] then
|
|
sound = data.sounds[1]
|
|
end
|
|
|
|
local text = unescape(word..'\n'..dev..'\n\nBeispiel: "'..exam..'"\n')..url
|
|
|
|
if data.sounds[1] then
|
|
return text, sound
|
|
else
|
|
return text
|
|
end
|
|
end
|
|
|
|
local function run(msg, matches)
|
|
local term = string.gsub(matches[1], ' ', '%%20')
|
|
local text, sound = getUrbanDictionary(term)
|
|
local receiver = get_receiver(msg)
|
|
if sound then
|
|
local file = download_to_file(sound, term..'.mp3')
|
|
send_audio(receiver, file, ok_cb, false)
|
|
end
|
|
return text
|
|
end
|
|
|
|
return {
|
|
description = "Zeigt eine Urban Dictionary Definition",
|
|
usage = {"#ud [Begriff]"},
|
|
patterns = {"^#[Uu][Dd] (.*)$",
|
|
"^http://([A-Za-z0-9-_-]+).urbanup.com/",
|
|
"^http://www.urbandictionary.com/define.php%?term=([A-Za-z0-9-_-]+)"
|
|
},
|
|
run = run
|
|
}
|
|
|
|
--by Akamaru [https://ponywave.de]
|
|
|
|
end |