Suche für Aka's Blog
This commit is contained in:
parent
a930699f83
commit
9f4e1b7be1
94
plugins/akasblog_search.lua
Normal file
94
plugins/akasblog_search.lua
Normal file
@ -0,0 +1,94 @@
|
||||
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 = data.title
|
||||
-- Character encoding
|
||||
title = string.gsub(title, "´", "´")
|
||||
title = string.gsub(title, "&", "&")
|
||||
title = string.gsub(title, ">", ">")
|
||||
title = string.gsub(title, """, '"')
|
||||
title = string.gsub(title, "<", "<")
|
||||
title = string.gsub(title, "—", "—")
|
||||
title = string.gsub(title, "∇", "∇")
|
||||
title = string.gsub(title, "–", "–")
|
||||
title = string.gsub(title, "Ψ", "ψ")
|
||||
title = string.gsub(title, "ψ", "ψ")
|
||||
title = string.gsub(title, "»", "»")
|
||||
title = string.gsub(title, "ß", "ß")
|
||||
title = string.gsub(title, "™", "™")
|
||||
title = string.gsub(title, "&", "&")
|
||||
title = string.gsub(title, "'", "'")
|
||||
title = string.gsub(title, "'", "'")
|
||||
title = string.gsub(title, "|", "|")
|
||||
title = string.gsub(title, " ", " ")
|
||||
title = string.gsub(title, "»", "»")
|
||||
title = string.gsub(title, "ß", "ß")
|
||||
title = string.gsub(title, "–", "–")
|
||||
title = string.gsub(title, "’", "'")
|
||||
title = string.gsub(title, "“", "“")
|
||||
title = string.gsub(title, "”", "”")
|
||||
title = string.gsub(title, "„", "„")
|
||||
title = string.gsub(title, "‹", "‹")
|
||||
title = string.gsub(title, "€", "€")
|
||||
-- Ä Ö Ü
|
||||
title = string.gsub(title, "ä", "ä")
|
||||
title = string.gsub(title, "Ä", "Ä")
|
||||
title = string.gsub(title, "ä", "ä")
|
||||
title = string.gsub(title, "Ä", "Ä")
|
||||
title = string.gsub(title, "ö", "ö")
|
||||
title = string.gsub(title, "Ö", "Ö")
|
||||
title = string.gsub(title, "ö", "ö")
|
||||
title = string.gsub(title, "Ö", "Ö")
|
||||
title = string.gsub(title, "ü", "ü")
|
||||
title = string.gsub(title, "Ü", "Ü")
|
||||
title = string.gsub(title, "ü", "ü")
|
||||
title = string.gsub(title, "Ü", "Ü")
|
||||
|
||||
local from = data.author.name
|
||||
local date = makeOurDate(data.date)
|
||||
local content = string.match(data.excerpt, '<p>(.*)</p>')
|
||||
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
|
Reference in New Issue
Block a user