tumblr Plugin Fix by @Brawl

This commit is contained in:
2016-02-03 21:15:16 +01:00
parent d9ef487bcb
commit 0e19742542
4 changed files with 235 additions and 2 deletions

View File

@ -0,0 +1,46 @@
do
local api_key = cred_data.tumblr_api_key
local function get_blog_info(id)
local url = 'https://api.tumblr.com/v2/blog/'..id..'.tumblr.com/info?api_key='..api_key
local res,code = https.request(url)
local data = json:decode(res).response.blog
if code ~= 200 then return "HTTP-Fehler" end
if not data then return "HTTP-Fehler" end
local title = data.title
local desc = data.description
if data.posts == 1 then
posts = data.posts..' Post'
else
posts = data.posts..' Posts'
end
if data.likes then
likes = ', '..data.likes..' Likes'
else
likes = ''
end
local text = title..'\n'..desc..'\n'..posts..likes..'\n'
return text
end
local function run(msg, matches)
local id = matches[1]
local text = get_blog_info(id)
local receiver = get_receiver(msg)
return text
end
return {
description = "Sendet Infos zu einem tumblr-Blog",
usage = "Link zu tumblr Blog",
patterns = {
"^https?://(.*).tumblr.com/?$"
},
run = run
}
end

View File

@ -0,0 +1,65 @@
do
local api_key = cred_data.tumblr_api_key
local makeOurDate = function(dateString)
local pattern = "(%d+)%-(%d+)%-(%d+)"
local year, month, day = dateString:match(pattern)
if month == "00" then
return year
elseif day == "00" then
return month..'.'..year
else
return day..'.'..month..'.'..year
end
end
local function get_tumblr_post(blog, id)
local url = 'https://api.tumblr.com/v2/blog/'..blog..'.tumblr.com/posts?id='..id..'&api_key='..api_key
print(url)
local res,code = https.request(url)
local data = json:decode(res).response
if code ~= 200 then return "HTTP-Fehler" end
if not data then return "HTTP-Fehler" end
local blog_name = data.blog.title
local date = makeOurDate(data.posts[1].date)
local sum = data.posts[1].summary
local short_url = data.posts[1].short_url
if data.posts[1].photos then
pic = data.posts[1].photos[1].original_size.url
end
local text = blog_name..' am '..date..':\n'..sum..'\n'..short_url
if data.posts[1].photos then
return text, pic
else
return text
end
end
local function run(msg, matches)
local blog = matches[1]
local id = matches[2]
local text, pic = get_tumblr_post(blog, id)
local receiver = get_receiver(msg)
local file = download_to_file(pic)
if string.ends(pic, '.gif') then
send_document(receiver, file, ok_cb, false)
else
send_photo(receiver, file, ok_cb, false)
end
return text
end
return {
description = "Sendet Infos zu einem tumblr-Post",
usage = "Link zu tumblr Post",
patterns = {
"^https?://(.*).tumblr.com/post/(%d+)"
},
run = run
}
end