diff --git a/src/modules/processing/matchActionDecider.js b/src/modules/processing/matchActionDecider.js index 262865a..2faa991 100644 --- a/src/modules/processing/matchActionDecider.js +++ b/src/modules/processing/matchActionDecider.js @@ -18,6 +18,7 @@ export default function(r, host, audioFormat, isAudioOnly, lang, isAudioMuted) { if (isAudioOnly && !r.picker) action = "audio"; if (r.picker) action = "picker"; if (isAudioMuted) action = "muteVideo"; + if (r.isPhoto) action = "photo"; if (action === "picker" || action === "audio") { defaultParams.filename = r.audioFilename; @@ -26,6 +27,9 @@ export default function(r, host, audioFormat, isAudioOnly, lang, isAudioMuted) { } switch (action) { + case "photo": + responseType = 1; + break; case "video": switch (host) { case "bilibili": diff --git a/src/modules/processing/services/instagram.js b/src/modules/processing/services/instagram.js index ededd95..459ac3e 100644 --- a/src/modules/processing/services/instagram.js +++ b/src/modules/processing/services/instagram.js @@ -71,6 +71,11 @@ export default async function(obj) { }) } else if (data?.shortcode_media?.video_url) { single = data.shortcode_media.video_url + } else if (data?.shortcode_media?.display_url) { + return { + urls: data?.shortcode_media?.display_url, + isPhoto: true + } } else { return { error: 'ErrorEmptyDownload' } } diff --git a/src/test/tests.json b/src/test/tests.json index 8e71c62..3efc01d 100644 --- a/src/test/tests.json +++ b/src/test/tests.json @@ -850,6 +850,14 @@ } }], "instagram": [{ + "name": "single photo post", + "url": "https://www.instagram.com/p/CwIgW8Yu5-I/", + "params": {}, + "expected": { + "code": 200, + "status": "redirect" + } + }, { "name": "various picker (photos + video)", "url": "https://www.instagram.com/p/CvYrSgnsKjv/", "params": {},