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-2/miku/plugins/nintendo_search.lua

66 lines
1.9 KiB
Lua
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 = '<b>'..data.title..'</b>'
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
if data.players_to == 1 then
player = '\n<b>1 Spieler</b>'
else
player = '\n<b>1 bis '..data.players_to..' Spieler</b>'
end
local link = '\n<a href="https://www.nintendo.de'..data.url..'">Webseite besuchen</a>'
local description = '\n\n<i>'..string.sub(unescape(data.excerpt:gsub("%b<>", "")), 1, 300)..'</i>'
local release = '\n<b>Release:</b> '..data.pretty_date_s
if data.image_url_h2x1_s then
image_url = '<a href="https://brawlbot.tk/img.php?url=https:'..data.image_url_h2x1_s..'"> </a>'
else
image_url = '<a href="https://brawlbot.tk/img.php?url=https:'..data.image_url..'"> </a>'
end
local text = title..publish..system..image_url..fsk..player..release..link..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