- InlineQuery für 9gag
- bImages: Ausdruck - Core: Leere InlineQuerys werden jetzt auch übergeben
This commit is contained in:
parent
e6df5a8981
commit
595f27a918
@ -154,7 +154,6 @@ function bot:process_inline_query(inline_query, config) -- When an inline query
|
|||||||
if not is_whitelisted then return end
|
if not is_whitelisted then return end
|
||||||
end
|
end
|
||||||
|
|
||||||
if inline_query.query == '' then return end
|
|
||||||
if inline_query.query:match('"') then
|
if inline_query.query:match('"') then
|
||||||
inline_query.query = inline_query.query:gsub('"', '\\"')
|
inline_query.query = inline_query.query:gsub('"', '\\"')
|
||||||
end
|
end
|
||||||
|
@ -10,22 +10,45 @@ ninegag.command = '9gag'
|
|||||||
|
|
||||||
function ninegag:init(config)
|
function ninegag:init(config)
|
||||||
ninegag.triggers = utilities.triggers(self.info.username, config.cmd_pat):t('9gag', true):t('9fag', true).table
|
ninegag.triggers = utilities.triggers(self.info.username, config.cmd_pat):t('9gag', true):t('9fag', true).table
|
||||||
|
ninegag.inline_triggers = {
|
||||||
|
"^9gag"
|
||||||
|
}
|
||||||
ninegag.doc = [[*
|
ninegag.doc = [[*
|
||||||
]]..config.cmd_pat..[[9gag*: Gibt ein zufälliges Bild von den momentan populärsten 9GAG-Posts aus]]
|
]]..config.cmd_pat..[[9gag*: Gibt ein zufälliges Bild von den momentan populärsten 9GAG-Posts aus]]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local url = "http://api-9gag.herokuapp.com/"
|
||||||
|
|
||||||
function ninegag:get_9GAG()
|
function ninegag:get_9GAG()
|
||||||
local url = "http://api-9gag.herokuapp.com/"
|
|
||||||
local b,c = HTTP.request(url)
|
local b,c = HTTP.request(url)
|
||||||
if c ~= 200 then return nil end
|
if c ~= 200 then return nil end
|
||||||
local gag = JSON.decode(b)
|
local gag = JSON.decode(b)
|
||||||
-- random max json table size
|
-- random max json table size
|
||||||
local i = math.random(#gag) local link_image = gag[i].src
|
local i = math.random(#gag)
|
||||||
|
|
||||||
|
local link_image = gag[i].src
|
||||||
local title = gag[i].title
|
local title = gag[i].title
|
||||||
local post_url = gag[i].url
|
local post_url = gag[i].url
|
||||||
return link_image, title, post_url
|
return link_image, title, post_url
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function ninegag:inline_callback(inline_query, config)
|
||||||
|
local res, code = HTTP.request(url)
|
||||||
|
if code ~= 200 then return end
|
||||||
|
local gag = JSON.decode(res)
|
||||||
|
|
||||||
|
local results = '['
|
||||||
|
for n in pairs(gag) do
|
||||||
|
local title = gag[n].title:gsub('"', '\\"')
|
||||||
|
results = results..'{"type":"photo","id":"'..math.random(100000000000000000)..'","photo_url":"'..gag[n].src..'","thumb_url":"'..gag[n].src..'","caption":"'..title..'","reply_markup":{"inline_keyboard":[[{"text":"9GAG aufrufen","url":"'..gag[n].url..'"}]]}}'
|
||||||
|
if n < #gag then
|
||||||
|
results = results..','
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local results = results..']'
|
||||||
|
utilities.answer_inline_query(self, inline_query, results, 300)
|
||||||
|
end
|
||||||
|
|
||||||
function ninegag:action(msg, config)
|
function ninegag:action(msg, config)
|
||||||
utilities.send_typing(self, msg.chat.id, 'upload_photo')
|
utilities.send_typing(self, msg.chat.id, 'upload_photo')
|
||||||
local url, title, post_url = ninegag:get_9GAG()
|
local url, title, post_url = ninegag:get_9GAG()
|
||||||
|
@ -48,7 +48,7 @@ function bImages:getImages(query)
|
|||||||
if images[n].encodingFormat == 'jpeg' then -- Inline-Querys MUST use JPEG photos!
|
if images[n].encodingFormat == 'jpeg' then -- Inline-Querys MUST use JPEG photos!
|
||||||
local photo_url = images[n].contentUrl
|
local photo_url = images[n].contentUrl
|
||||||
local thumb_url = images[n].thumbnailUrl
|
local thumb_url = images[n].thumbnailUrl
|
||||||
results = results..'{"type":"photo","id":"'..math.random(100000000000000000)..'","photo_url":"'..photo_url..'","thumb_url":"'..thumb_url..'","photo_width":'..images[n].width..',"photo_height":'..images[n].height..',"reply_markup":{"inline_keyboard":[[{"text":"Bing aufrufen","url":"'..images[n].webSearchUrl..'"},{"text":"Bild aufrufen","url":"'..photo_url..'"}]]}},'
|
results = results..'{"type":"photo","id":"'..math.random(100000000000000000)..'","photo_url":"'..photo_url..'","thumb_url":"'..thumb_url..'","photo_width":'..images[n].width..',"photo_height":'..images[n].height..',"reply_markup":{"inline_keyboard":[[{"text":"Bing aufrufen","url":"'..images[n].webSearchUrl..'"},{"text":"Bild öffnen","url":"'..photo_url..'"}]]}},'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user