Neues Plugin: Nintendo Game Suche
This commit is contained in:
parent
301e99fec1
commit
df66a4c0a3
60
miku/plugins/nintendo_search.lua
Normal file
60
miku/plugins/nintendo_search.lua
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
local nintendo_search = {}
|
||||||
|
|
||||||
|
nintendo_search.triggers = {
|
||||||
|
'/nin (.+)',
|
||||||
|
'/nintendo (.+)'
|
||||||
|
}
|
||||||
|
|
||||||
|
function nintendo_search:get_info(gametitle)
|
||||||
|
local url = 'https://search.nintendo-europe.com/de/select?q='..gametitle..'&fq=type%3AGAME%20AND%20*%3A*&rows=1&wt=json'
|
||||||
|
local res, code = https.request(url)
|
||||||
|
if code ~= 200 then return nil end
|
||||||
|
local data = json.decode(res).response.docs[1]
|
||||||
|
if not data then return 'Nichts gefunden!' end
|
||||||
|
|
||||||
|
local title = data.title
|
||||||
|
|
||||||
|
if data.publisher then
|
||||||
|
publish = ' von <b>'..data.publisher..'</b>'
|
||||||
|
else
|
||||||
|
publish = ''
|
||||||
|
end
|
||||||
|
|
||||||
|
if data.system_names_txt then
|
||||||
|
system = ' für <b>'..data.system_names_txt[1]..'</b>'
|
||||||
|
else
|
||||||
|
system = ''
|
||||||
|
end
|
||||||
|
|
||||||
|
if data.pretty_agerating_s == 'n. n. b.' then
|
||||||
|
fsk = ''
|
||||||
|
else
|
||||||
|
fsk = '\n<b>'..data.pretty_agerating_s..'</b>'
|
||||||
|
end
|
||||||
|
|
||||||
|
local link = '\n<a href="https://www.nintendo.de'..data.url..'">Webseite besuchen</a>'
|
||||||
|
local description = string.sub(unescape(data.excerpt:gsub("%b<>", "")), 1, 300)
|
||||||
|
local release = data.pretty_date_s
|
||||||
|
|
||||||
|
if data.image_url_h2x1_s then
|
||||||
|
image_url = 'http://anditest.perseus.uberspace.de/img.php?url=https:'..data.image_url_h2x1_s
|
||||||
|
else
|
||||||
|
image_url = 'http://anditest.perseus.uberspace.de/img.php?url=https:'..data.image_url
|
||||||
|
end
|
||||||
|
|
||||||
|
local text = '<b>'..title..'</b>'..publish..system..'<a href="'..image_url..'"> </a>'..fsk..'\n'..'<b>Release:</b> '..release..link..'\n\n<i>'..description..'</i>'
|
||||||
|
|
||||||
|
return text
|
||||||
|
end
|
||||||
|
|
||||||
|
function nintendo_search:action(msg, config, matches)
|
||||||
|
local gametitle = matches[1]
|
||||||
|
local text = nintendo_search:get_info(gametitle)
|
||||||
|
if not text then
|
||||||
|
utilities.send_reply(msg, config.errors.results)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
utilities.send_message(msg.chat.id, text, false, msg.message_id, 'html')
|
||||||
|
end
|
||||||
|
|
||||||
|
return nintendo_search
|
Reference in New Issue
Block a user