diff --git a/miku/plugins/nintendo_search.lua b/miku/plugins/nintendo_search.lua new file mode 100644 index 0000000..dcb9c52 --- /dev/null +++ b/miku/plugins/nintendo_search.lua @@ -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 '..data.publisher..'' + else + publish = '' + end + + if data.system_names_txt then + system = ' für '..data.system_names_txt[1]..'' + else + system = '' + end + + if data.pretty_agerating_s == 'n. n. b.' then + fsk = '' + else + fsk = '\n'..data.pretty_agerating_s..'' + end + + local link = '\nWebseite besuchen' + 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 = ''..title..''..publish..system..' '..fsk..'\n'..'Release: '..release..link..'\n\n'..description..'' + + 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 \ No newline at end of file