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/ponywave.lua

94 lines
3.0 KiB
Lua
Raw Normal View History

2015-12-17 17:54:04 +01:00
do
local makeOurDate = function(dateString)
local pattern = "(%d+)%-(%d+)%-(%d+)"
local year, month, day = dateString:match(pattern)
return day..'.'..month..'.'..year
end
local function get_post(post)
local url = 'https://ponywave.de/?json=get_post&post_id=blub'
local res,code = https.request(url)
local data = json:decode(res).post
if code ~= 200 then return "HTTP-Fehler" end
if not data then return "HTTP-Fehler" 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, "&lt;", "<")
title = string.gsub(title, "&mdash;", "")
title = string.gsub(title, "&nabla;", "")
title = string.gsub(title, "&ndash;", "")
title = string.gsub(title, "&Psi;", "ψ")
title = string.gsub(title, "&psi;", "ψ")
title = string.gsub(title, "&raquo;", "»")
title = string.gsub(title, "&szlig;", "ß")
title = string.gsub(title, "&trade;", "")
title = string.gsub(title, "&#038;", "&")
title = string.gsub(title, "&#039;", "'")
title = string.gsub(title, "&#39;", "'")
title = string.gsub(title, "&#124;", "|")
title = string.gsub(title, "&#160;", " ")
title = string.gsub(title, "&#187;", "»")
title = string.gsub(title, "&#223;", "ß")
title = string.gsub(title, "&#8211;", "")
title = string.gsub(title, "&#8217;", "'")
title = string.gsub(title, "&#8220;", "")
title = string.gsub(title, "&#8221;", "")
title = string.gsub(title, "&#8222;", "")
title = string.gsub(title, "&#8249;", "")
title = string.gsub(title, "&#8364;", "")
-- Ä Ö Ü
title = string.gsub(title, "&auml;", "ä")
title = string.gsub(title, "&Auml;", "Ä")
title = string.gsub(title, "&#228;", "ä")
title = string.gsub(title, "&#196;", "Ä")
title = string.gsub(title, "&ouml;", "ö")
title = string.gsub(title, "&Ouml;", "Ö")
title = string.gsub(title, "&#246;", "ö")
title = string.gsub(title, "&#214;", "Ö")
title = string.gsub(title, "&uuml;", "ü")
title = string.gsub(title, "&Uuml;", "Ü")
title = string.gsub(title, "&#252;", "ü")
title = string.gsub(title, "&#220;", "Ü")
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 text, image_url = get_post(post)
local receiver = get_receiver(msg)
if image_url then
local receiver = get_receiver(msg)
local file = download_to_file(image_url)
send_photo(receiver, file, ok_cb, false)
end
return text
end
return {
description = "Sendet letzten PonyWave Beitrag",
usage = "/pw",
patterns = {"^/[Pp][Ww]$"},
run = run
}
end