This repository has been archived on 2021-04-24. You can view files and clone it, but cannot push or open issues or pull requests.
Mikubot/plugins/lyrics.lua

47 lines
1.0 KiB
Lua
Raw Normal View History

2015-04-19 21:18:06 +02:00
do
local apikey = cred_data.lyricsnmusic_apikey
function getLyrics(text)
local q = string.match(text, "/lyrics (.+)")
q = url_encode(q)
b = http.request("http://api.lyricsnmusic.com/songs?api_key="..apikey.."&q=" .. q)
response = json:decode(b)
local reply = ""
if #response > 0 then
-- grab first match
local result = response[1]
reply = result.title .. " - " .. result.artist.name .. "\n" .. result.snippet .. "\n" .. result.url
else
reply = nil
end
return reply
end
function url_encode(str)
if (str) then
str = string.gsub (str, "\n", "\r\n")
str = string.gsub (str, "([^%w %-%_%.%~])",
function (c) return string.format ("%%%02X", string.byte(c)) end)
str = string.gsub (str, " ", "+")
end
return str
end
function run(msg, matches)
local lyrics = getLyrics(msg.text)
if (lyrics == nil) then
return "Zzzzz..."
else
return lyrics
end
end
return {
description = "Liedertext bekommen",
usage = "/lyrics [Lied]",
patterns = {"^/lyrics (.*)$"},
run = run
}
end