Retriable send media group in case of error

This commit is contained in:
Victor 2023-10-28 14:47:24 +03:00
parent afd8fed176
commit cf9890f83c

View File

@ -9,7 +9,7 @@ reddit = new Reddit(config.cookie)
subreddits = reddit.fetchSubreddits(config.subreddits, config["items-in-top"])
media = stream(subreddits)
.filter(def(p) = reduce([".jpg", ".png"], false, def(acc, ext) = acc || indexOf(p.url, ext) > 0))
.filter(def(p) = reduce([".jpg", ".jpeg", ".png"], false, def(acc, ext) = acc || indexOf(p.url, ext) > 0))
.filter(::isPostUnique)
//.peek(def(p) = bot.sendPhoto(config.peer, p.url))
.limit(10)
@ -24,8 +24,12 @@ media = stream(subreddits)
debug(media)
if (length(media) > 0) {
bot.sendMediaGroup(config.peer, media)
while (length(media) > 0) {
r = bot.sendMediaGroupSync(config.peer, media)
if (r.ok) break
mediaIndex = try(def() = parseInt(r.description.replaceAll(".*failed.*?#(\\d+).*", "$1")), -1)
if (mediaIndex == -1) break
media = arraySplice(media, mediaIndex - 1, 1)
}
stIsPostExists.close()