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/flickr_search.lua
Akamaru 5856804891 Seeeeehr großes Update
Meiste Änderungen von Brawl345/Brawlbot-v2
Einige Pattern angepasst
Einiges übersetzt
Und noch einiges mehr
Stabilitätsverbesserungen
2016-08-01 21:07:27 +02:00

48 lines
1.3 KiB
Lua

local flickr_search = {}
function flickr_search:init(config)
if not cred_data.flickr_apikey then
print('Fehlender Key: flickr_apikey.')
print('flickr_search.lua wird nicht aktiviert.')
return
end
flickr_search.triggers = {
'^/[Ff][Ll][Ii][Cc][Kk][Rr] (.*)'
}
end
flickr_search.command = 'flickr <Suchbegriff>'
local apikey = cred_data.flickr_apikey
local BASE_URL = 'https://api.flickr.com/services/rest'
function flickr_search:get_flickr (term)
local url = BASE_URL..'/?method=flickr.photos.search&api_key='..apikey..'&format=json&nojsoncallback=1&privacy_filter=1&safe_search=3&extras=url_o&text='..term
local b,c = https.request(url)
if c ~= 200 then return nil end
local photo = json.decode(b).photos.photo
-- truly randomize
math.randomseed(os.time())
-- random max json table size
local i = math.random(#photo)
local link_image = photo[i].url_o
return link_image
end
function flickr_search:action(msg, config, matches)
local url = flickr_search:get_flickr(matches[1])
if not url then utilities.send_reply(self, msg, config.errors.results) return end
local file = download_to_file(url)
if string.ends(url, '.gif') then
utilities.send_document(self, msg.chat.id, file, url)
return
else
utilities.send_photo(self, msg.chat.id, file, url)
return
end
end
return flickr_search