62 lines
1.8 KiB
Lua
62 lines
1.8 KiB
Lua
-- This is a proprietary plugin, property of Andreas Bielawski, (c) 2015 <andi (dot) b (at) outlook (dot) de>
|
|
-- DO NOT USE WITHOUT PERMISSION
|
|
|
|
do
|
|
|
|
local BASE_URL = 'http://api.page2images.com/'
|
|
local restkey = cred_data.page2images_restkey
|
|
|
|
function get_scrot_data (scrot_url)
|
|
local url = BASE_URL..'/restfullink?p2i_url='..scrot_url..'&p2i_key='..restkey..'&p2i_imageformat=png&p2i_quality=85&p2i_size=1366x768'
|
|
local res,code = http.request(url)
|
|
if code ~= 200 then return "HTTP-FEHLER" end
|
|
local data = json:decode(res)
|
|
return data
|
|
end
|
|
|
|
function send_scrot_data(data, receiver)
|
|
if data.status == "processing" then
|
|
print('Screenshot wird erstellt. Ungefähre Dauer: '..data.estimated_need_time..' Sekunden')
|
|
end
|
|
|
|
while data.status == "processing" do
|
|
sleep(5)
|
|
data = get_scrot_data(scrot_url)
|
|
if data.estimated_need_time ~= nil then
|
|
print('Noch '..data.estimated_need_time..' Sekunden')
|
|
end
|
|
end
|
|
|
|
if data.status == "error" then
|
|
text = data.ori_url..' konnte nicht fotografiert werden, weil der Fehler "'..data.msg..'" '..data.errno..' auftrat.'
|
|
send_msg(receiver, text, ok_cb, false)
|
|
end
|
|
|
|
if data.status == "finished" then
|
|
left_calls = data.left_calls
|
|
text = data.ori_url..' wurde fotografiert. Verbleibende API-Calls: '..left_calls
|
|
image_url = data.image_url
|
|
cb_extra = {
|
|
receiver=receiver,
|
|
url=image_url
|
|
}
|
|
send_msg(receiver, text, send_photo_from_url_callback, cb_extra)
|
|
end
|
|
end
|
|
|
|
function run(msg, matches)
|
|
scrot_url = matches[1]
|
|
local data = get_scrot_data(scrot_url)
|
|
local receiver = get_receiver(msg)
|
|
send_scrot_data(data, receiver)
|
|
end
|
|
|
|
return {
|
|
description = "Sendet Webseiten-Screenshot.",
|
|
usage = {"/scrot2 [URL]"},
|
|
patterns = {"^/scrot2 (https?://[%w-_%.%?%.:/%+=&]+)"},
|
|
run = run
|
|
}
|
|
|
|
end
|