45 lines
1.2 KiB
Lua
45 lines
1.2 KiB
Lua
local ltn12 = require("ltn12")
|
|
local rex = require("rex_pcre")
|
|
|
|
function run(msg, matches)
|
|
local cookies = 'a=' .. get_db_key('global', 'faa') .. '; b=' .. get_db_key('global', 'fab')
|
|
|
|
local t = {}
|
|
body, code, status, headers = http.request {
|
|
url = 'http://www.furaffinity.net/full/' .. matches[1],
|
|
headers = { Cookie = cookies },
|
|
sink = ltn12.sink.table(t)
|
|
}
|
|
|
|
local page = table.concat(t)
|
|
|
|
print('Loaded ' .. matches[1])
|
|
|
|
local img = rex.match(page, 'img.+submissionImg.+src="(.+?)"')
|
|
local rating = rex.match(page, 'rating".+src="/img/labels/(.+).gif"')
|
|
|
|
local chan_rating = get_db_key('chan:' .. msg.to.id, 'fa')
|
|
|
|
if chan_rating == "general" or not chan_rating then
|
|
if rating == "explicit" or rating == "mature" then
|
|
return nil
|
|
end
|
|
elseif chan_rating == "mature" then
|
|
if rating == "explicit" then
|
|
return nil
|
|
end
|
|
end
|
|
|
|
local file_path = download_to_file('http:' .. img)
|
|
|
|
send_photo(get_receiver(msg), file_path, ok_cb, false)
|
|
|
|
return nil
|
|
end
|
|
|
|
return {
|
|
description = "Mirrors FA images",
|
|
usage = "furaffinity.net/view/123456",
|
|
patterns = {"furaffinity.net/view/([0-9]+)", "furaffinity.net/full/([0-9]+)"},
|
|
run = run
|
|
} |