diff --git a/miku/plugins/about.lua b/miku/plugins/about.lua index 1de268c..00b71e0 100644 --- a/miku/plugins/about.lua +++ b/miku/plugins/about.lua @@ -22,7 +22,7 @@ function about:init(config) end function about:action(msg, config) - utilities.send_message(msg.chat.id, about.text, true, nil, true) + utilities.send_message(msg.chat.id, about.text, true, msg.message_id, true) end return about diff --git a/miku/plugins/figuya.lua b/miku/plugins/figuya.lua index 33c80fc..ef5d8e6 100644 --- a/miku/plugins/figuya.lua +++ b/miku/plugins/figuya.lua @@ -11,30 +11,27 @@ function figuya:get_figuya(figu) if c ~= 200 then return nil end local data = json.decode(b) - local title = '*'..data.title..'*' - local desc = '\n'..unescape(data.description) + local title = data.title + if string.len(data.description) > 400 then + desc = string.sub(unescape(data.description:gsub("%b<>", "")), 1, 400)..'..' + else + desc = unescape(data.description)..'.' + end local pic = data.thumbnail_url - local text = title..desc - - if string.len(text) > 200 then - text = string.sub(unescape(text:gsub("%b<>", "")), 1, 197)..'...' - else - text = text - end - - return text, pic + local text = ''..title..'\n'..desc..''..'.' + + return text end function figuya:action(msg, config, matches) local figu = matches[1] - local text, pic = figuya:get_figuya(figu) + local text = figuya:get_figuya(figu) if not text then utilities.send_reply(msg, config.errors.results) return end - utilities.send_typing(receiver, 'upload_photo') - utilities.send_photo(msg.chat.id, pic, text) + utilities.send_message(msg.chat.id, text, false, msg.message_id, 'html') end return figuya diff --git a/miku/plugins/playstation_store.lua b/miku/plugins/playstation_store.lua index 34777fb..c352fbd 100644 --- a/miku/plugins/playstation_store.lua +++ b/miku/plugins/playstation_store.lua @@ -72,8 +72,7 @@ function playstation_store:action(msg, config, matches) end if image_url then utilities.send_typing(msg.chat.id, 'upload_photo') - local file = download_to_file(image_url) - utilities.send_photo(msg.chat.id, file, nil, msg.message_id) + utilities.send_photo(msg.chat.id, image_url, nil, msg.message_id) end utilities.send_reply(msg, text, 'HTML') end diff --git a/miku/plugins/plex.lua b/miku/plugins/plex.lua index 3b8e05b..745a653 100644 --- a/miku/plugins/plex.lua +++ b/miku/plugins/plex.lua @@ -39,7 +39,7 @@ function plex:get_plex(query) local ok, response_code, response_headers, response_status_line = http.request(request_constructor) if not ok then return 'NOTOK' end local data = json.decode(table.concat(response_body)).MediaContainer.Metadata[1] - + local title = ''..data.title..'' if data.tagline then @@ -159,12 +159,7 @@ function plex:get_plex(query) text = title..from..studio..date1..episodes..fsk..duration..rating..desc end - if string.match(title, 'Local Network') then - return 'Nichts gefunden!' - else return text, pic, data.title - end - end function plex:inline_callback(inline_query, config, matches) @@ -196,7 +191,7 @@ function plex:action(msg, config) if pic then utilities.send_typing(receiver, 'upload_photo') local file = download_to_file(pic, 'plex.png') - utilities.send_photo(msg.chat.id, file) + utilities.send_photo(msg.chat.id, file, nil, msg.message_id) end utilities.send_reply(msg, text, 'HTML') end diff --git a/miku/plugins/pokedex.lua b/miku/plugins/pokedex.lua index c45ee7e..2320edc 100644 --- a/miku/plugins/pokedex.lua +++ b/miku/plugins/pokedex.lua @@ -9,15 +9,6 @@ function pokedex:init(config) ]] end -function pokedex:get_sprite(path) - local url = "http://pokeapi.co/"..path - local b, c = http.request(url) - if c ~= 200 then return nil end - local data = json.decode(b) - local image = data.image - return image -end - function pokedex:get_pkmn(query) local url = "http://pokeapi.co/api/v1/pokemon/" .. query .. "/" local res, code = http.request(url) @@ -39,21 +30,22 @@ function pokedex:get_pkmn(query) end function pokedex:action(msg, config) - local input = utilities.input_from_msg(msg) - if not input then + local query = utilities.input_from_msg(msg) + if not query then utilities.send_reply(msg, pokedex.doc, true) return end utilities.send_typing(msg.chat.id, 'typing') - local text, id = pokedex:get_pkmn(input) + local text, id = pokedex:get_pkmn(query) + local image = 'http://pokeapi.co/media/img/'..id..'.png' if not text then utilities.send_reply(msg, config.errors.result) return end utilities.send_typing(msg.chat.id, 'upload_photo') - utilities.send_photo(msg.chat.id, download_to_file('http://pokeapi.co/media/img/'..id..'.png'), nil, msg.message_id) + utilities.send_photo(msg.chat.id, image, nil, msg.message_id) utilities.send_reply(msg, text, 'HTML') end diff --git a/miku/plugins/ponyfaces.lua b/miku/plugins/ponyfaces.lua index 5892a9b..1fee961 100644 --- a/miku/plugins/ponyfaces.lua +++ b/miku/plugins/ponyfaces.lua @@ -20,37 +20,39 @@ function ponyfaces:get_ponyface_by_id(id) if code ~= 200 then return nil end local data = json.decode(res) if not data then return nil end - return data.faces[1].image + local link = 'http://ponyfac.es/'..data.faces[1].id + local pic = data.faces[1].image + return link, pic end function ponyfaces:get_ponyface(tag) local url = BASE_URL..'/tag:'..tag local res, code = http.request(url) if code ~= 200 then return nil end - local pf = json.decode(res).faces + local data = json.decode(res).faces -- truly randomize math.randomseed(os.time()) -- random max json table size - local i = math.random(#pf) - local link_image = pf[i].image - return link_image + local i = math.random(#data) + local link = 'http://ponyfac.es/'..data[i].id + local pic = data[i].image + return link, pic end function ponyfaces:action(msg, config, matches) if tonumber(matches[1]) ~= nil then local id = matches[1] - url = ponyfaces:get_ponyface_by_id(id) + link, pic = ponyfaces:get_ponyface_by_id(id) else local tag = matches[1] - url = ponyfaces:get_ponyface(tag) + link, pic = ponyfaces:get_ponyface(tag) end - if not url then + if not pic then utilities.send_reply(msg, config.errors.results) return end utilities.send_typing(msg.chat.id, 'upload_photo') - local file = download_to_file(url, 'pf.png') - utilities.send_photo(msg.chat.id, file, nil, msg.message_id) + utilities.send_photo(msg.chat.id, pic, link, msg.message_id) end return ponyfaces \ No newline at end of file diff --git a/miku/plugins/pornhub_gif.lua b/miku/plugins/pornhub_gif.lua deleted file mode 100644 index aadf9c0..0000000 --- a/miku/plugins/pornhub_gif.lua +++ /dev/null @@ -1,32 +0,0 @@ -local pornhub = {} - -function pornhub:init(config) - pornhub.triggers = { - "pornhub.com/gif/(.+)$", - "^/phg (.+)$", - "^/porngif (.+)$" - } - pornhub.doc = [[* -]]..config.cmd_pat..[[phg* __: Sendet GIF von PornHub (NSFW)]] -end - -pornhub.command = 'ge ' - -function pornhub:action(msg, config, matches) - local url = 'http://img.pornhub.com/gif/'..matches[1]..'.gif' - utilities.send_typing(msg.chat.id, 'upload_document') - local file = download_to_file(url) - if not file then - utilities.send_reply(msg, config.errors.results) - return - end - - if string.starts(msg.text_lower, '/phg') or string.starts(msg.text_lower, '/porngif') then - source = 'http://www.pornhub.com/gif/'..matches[1] - else - source = nil - end - utilities.send_document(msg.chat.id, file, source, msg.message_id) -end - -return pornhub \ No newline at end of file diff --git a/miku/plugins/pr0gramm.lua b/miku/plugins/pr0gramm.lua index 86db717..a2236b8 100644 --- a/miku/plugins/pr0gramm.lua +++ b/miku/plugins/pr0gramm.lua @@ -31,12 +31,11 @@ function pr0gramm:action(msg, config, matches) return end - utilities.send_typing(msg.chat.id, 'upload_photo') - local file = download_to_file(url) + utilities.send_typing(msg.chat.id, 'upload_document') if string.match(url, ".gif") or string.match(url, ".zip") or string.match(url, ".webm") or string.match(url, ".mp4") then - utilities.send_document(msg.chat.id, file, nil, msg.message_id) + utilities.send_document(msg.chat.id, url, nil, msg.message_id) else - utilities.send_photo(msg.chat.id, file, nil, msg.message_id) + utilities.send_photo(msg.chat.id, url, nil, msg.message_id) end end diff --git a/miku/plugins/quotes.lua b/miku/plugins/quotes.lua index e5b56bc..8a4c86d 100644 --- a/miku/plugins/quotes.lua +++ b/miku/plugins/quotes.lua @@ -103,7 +103,7 @@ function quotes:action(msg, config, matches) end if matches[1] == "quote" then - utilities.send_message(msg.chat.id, quotes:get_quote(msg), true, nil, false) + utilities.send_message(msg.chat.id, quotes:get_quote(msg), true, msg.message_id, false) return elseif matches[1] == "addquote" and matches[2] then utilities.send_reply(msg, quotes:save_quote(msg), true) diff --git a/miku/plugins/rule34.lua b/miku/plugins/rule34.lua index a032ef5..c525f5d 100644 --- a/miku/plugins/rule34.lua +++ b/miku/plugins/rule34.lua @@ -25,9 +25,9 @@ function rule34:get_r34_info(tag) local i = math.random(#r34) - local url = 'http:'..r34[i].file_url + local img_url = 'http:'..r34[i].file_url local source_url = 'http://rule34.xxx/index.php?page=post&s=view&id='..r34[i].id - return url, source_url + return img_url, source_url end function rule34:get_r34_post(id) @@ -51,32 +51,29 @@ function rule34:action(msg, config, matches) utilities.send_reply(msg, 'Nobody here but us chickens!') return end - utilities.send_typing(msg.chat.id, 'upload_photo') - local file = download_to_file(img_url) if string.ends(img_url, ".gif") then - utilities.send_document(msg.chat.id, file, nil, msg.message_id) + utilities.send_typing(msg.chat.id, 'upload_document') + utilities.send_document(msg.chat.id, img_url, nil, msg.message_id) else - utilities.send_photo(msg.chat.id, file, nil, msg.message_id) + utilities.send_typing(msg.chat.id, 'upload_photo') + utilities.send_photo(msg.chat.id, img_url, nil, msg.message_id) end - else - local tag = string.gsub(matches[1], " ", '_') local tag = string.gsub(tag, ":", '%%3A') local tag = string.gsub(tag, "+", '%%2B') - local url, id = rule34:get_r34_info(tag) - if not url then + local img_url, source_url = rule34:get_r34_info(tag) + if not img_url then utilities.send_reply(msg, 'Nobody here but us chickens!') return end - utilities.send_typing(msg.chat.id, 'upload_photo') - local file = download_to_file(url) - if string.ends(url, ".gif") then - utilities.send_document(msg.chat.id, file, id, msg.message_id) + if string.ends(img_url, ".gif") then + utilities.send_typing(msg.chat.id, 'upload_document') + utilities.send_document(msg.chat.id, img_url, source_url, msg.message_id) else - utilities.send_photo(msg.chat.id, file, id, msg.message_id) + utilities.send_typing(msg.chat.id, 'upload_photo') + utilities.send_photo(msg.chat.id, img_url, source_url, msg.message_id) end - end end diff --git a/miku/plugins/soundboard.lua b/miku/plugins/soundboard.lua index 5105514..fcda9d1 100644 --- a/miku/plugins/soundboard.lua +++ b/miku/plugins/soundboard.lua @@ -17,20 +17,19 @@ end soundboard.command = 'sound ' local BASE_URL = 'http://code.ponywave.de/workspace/mikubot/sounds' ---local BASE_URL = 'http://kyouko.local/sounds' local GRONKH_URL = 'http://code.ponywave.de/workspace/mikubot/gronkhsounds' function soundboard:inline_callback(inline_query, config, matches) local board = matches[1] local input = matches[2] if board == 'sound' then - url = BASE_URL..'/'..string.lower(input)..'.mp3' + sound = BASE_URL..'/'..string.lower(input)..'.mp3' elseif board == 'gronkh' then - url = GRONKH_URL..'/'..string.lower(input)..'.mp3' + sound = GRONKH_URL..'/'..string.lower(input)..'.mp3' end - local _, code = get_http_header(url) + local _, code = get_http_header(sound) if code ~= 200 then utilities.answer_inline_query(inline_query, nil, 5, true) return end - local results = '[{"type":"audio","id":"7900","title":"'..input..'","audio_url":"'..url..'"}]' + local results = '[{"type":"audio","id":"7900","title":"'..input..'","audio_url":"'..sound..'"}]' utilities.answer_inline_query(inline_query, results, 2) end @@ -49,17 +48,16 @@ function soundboard:action(msg, config, matches) end if board == 'sound' then - url = BASE_URL..'/'..string.lower(input)..'.mp3' + sound = BASE_URL..'/'..string.lower(input)..'.mp3' elseif board == 'gronkh' then - url = GRONKH_URL..'/'..string.lower(input)..'.mp3' + sound = GRONKH_URL..'/'..string.lower(input)..'.mp3' end - local sound = download_to_file(url) if not sound then utilities.send_reply(msg, config.errors.results) return end - utilities.send_audio(msg.chat.id, sound, msg.message_id) + utilities.send_audio(msg.chat.id, sound, nil, msg.message_id) end return soundboard diff --git a/miku/plugins/special.lua b/miku/plugins/special.lua index 38e4e50..2a16822 100644 --- a/miku/plugins/special.lua +++ b/miku/plugins/special.lua @@ -25,7 +25,7 @@ special.triggers = { "^[Nn][Aa][Nn][Oo] [Hh][Aa][Kk][Aa][Ss][Ee]$", "^/[Tt][Hh][Yy][Mm][Ee]$", "^[Yy][Oo][Ll][Oo]$", - "[Ii] [Ww][Ii][Ss][Hh] [Ss][Qq][Uu][Ii][Dd][Ss] [Ww][Ee][Rr][Ee] [Rr][Ee][Aa][Ll]", + "^[Ii] [Ww][Ii][Ss][Hh] [Ss][Qq][Uu][Ii][Dd][Ss] [Ww][Ee][Rr][Ee] [Rr][Ee][Aa][Ll]$", "^/[Kk][Ii][Ll][Ll] (.*)", "^[Pp][Ee]$", "^[Vv][Aa]$", diff --git a/miku/plugins/spotify.lua b/miku/plugins/spotify.lua index 55195f9..b5794ab 100644 --- a/miku/plugins/spotify.lua +++ b/miku/plugins/spotify.lua @@ -29,8 +29,7 @@ function spotify:send_track_data(data, msg) local text = ''..name..' von '..artist..' aus dem Album '..album..' ('..duration..')' if preview then utilities.send_typing(msg.chat.id, 'upload_audio') - local file = download_to_file(preview, name..'.mp3') - utilities.send_audio(msg.chat.id, file, 'Aus dem Album "'..album..'"\nLänge: '..duration, msg.message_id, 30, artist, name) + utilities.send_audio(msg.chat.id, preview, 'Aus dem Album "'..album..'"\nLänge: '..duration, msg.message_id, 30, artist, name) else utilities.send_reply(msg, text, 'HTML') end