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/akasblog_search.lua
2016-02-09 16:22:12 +01:00

55 lines
1.4 KiB
Lua

do
local makeOurDate = function(dateString)
local pattern = "(%d+)%-(%d+)%-(%d+)"
local year, month, day = dateString:match(pattern)
return day..'.'..month..'.'..year
end
local function search_post(tag)
local url = 'http://akamaru.de/?json=get_search_results&search='..tag
local res,code = http.request(url)
local data = json:decode(res).posts[1]
if code ~= 200 then return "HTTP-Fehler" end
if not data then return "Nichts gefunden!" end
local title = unescape(data.title)
local from = data.author.name
local date = makeOurDate(data.date)
local content = unescape(string.match(data.excerpt, '<p>(.*)<span'))
if not content then
content = unescape(string.match(data.excerpt, '<p>(.*)</p>'))
end
local url = data.url
if data.thumbnail then
image_url = data.thumbnail
end
local text = title..' ('..from..' am '..date..')\n\n'..content..'...\n'..url
if data.thumbnail then
return text, image_url
else
return text
end
end
local function run(msg, matches)
local tag = matches[1]
local text, image_url = search_post(tag)
local receiver = get_receiver(msg)
if image_url then
local file = download_to_file(image_url)
send_photo(receiver, file, ok_cb, false)
end
return text
end
return {
description = "Suche für Aka's Blog",
usage = "/aka [BEGRIFF]",
patterns = {"^/[Aa][Kk][Aa] (.*)$"},
run = run
}
end