function googlethat(query) local BASE_URL = 'https://www.googleapis.com/customsearch/v1' local apikey = cred_data.google_apikey local cseid = cred_data.google_cse_id local number = 5 -- Set number of results local api = BASE_URL.."/?key="..apikey.."&cx="..cseid.."&gl=de&num="..number.."&safe=medium&fields=searchInformation%28formattedSearchTime,formattedTotalResults%29,items%28title,link%29&" local parameters = "q=".. (URL.escape(query) or "") -- Do the request local res, code = https.request(api..parameters) if code ~=200 then return nil end local data = json:decode(res) if data.searchInformation.formattedTotalResults == "0" then return nil end local results={} for key,result in ipairs(data.items) do table.insert(results, { result.title, result.link }) end local stats = data.searchInformation.formattedTotalResults..' Ergebnisse, gefunden in '..data.searchInformation.formattedSearchTime..' Sekunden' return results, stats end function stringlinks(results, stats) local stringresults="" for key,val in ipairs(results) do stringresults=stringresults..val[1].." - "..val[2].."\n" end return stringresults..stats end function run(msg, matches) local results, stats = googlethat(matches[1]) if results == nil then return 'Nichts gefunden!' else return stringlinks(results, stats) end end return { description = "Durchsucht Google", usage = "/google [Suchbegriff]: Durchsucht Google", patterns = { "^/[Gg][Oo][Oo][Gg][Ll][Ee] (.*)$", "^%.[Gg][Oo][Oo][Gg][Ll][Ee] (.*)$" }, run = run }