Add support for unlisted posts

This commit is contained in:
aNNiMON 2024-08-20 23:20:46 +03:00
parent dfe485d2c6
commit 8d7393e344
2 changed files with 6 additions and 5 deletions

View File

@ -1,6 +1,7 @@
use okhttp, types, json, functional use okhttp, types, json, functional
URL = "https://danbooru.donmai.us/posts" URL = "https://danbooru.donmai.us/posts"
NO_IMAGE = "https://upload.wikimedia.org/wikipedia/commons/1/14/No_Image_Available.jpg"
class DanbooruApi { class DanbooruApi {
@ -68,12 +69,12 @@ class Post {
def getImageUrl() { def getImageUrl() {
fileSize = this.post.file_size ?? 0 fileSize = this.post.file_size ?? 0
if (fileSize >= 9500000) { if (fileSize >= 9500000) {
return this.post.large_file_url return this.post.large_file_url ?? NO_IMAGE
} }
return this.post.file_url return this.post.file_url ?? NO_IMAGE
} }
def getSampleImageUrl() = this.post.large_file_url def getSampleImageUrl() = this.post.large_file_url ?? NO_IMAGE
def containsTags(tags) = stream(tags) def containsTags(tags) = stream(tags)
.anyMatch(def(t) = arrayKeyExists(t, this.tags)) .anyMatch(def(t) = arrayKeyExists(t, this.tags))

View File

@ -56,7 +56,7 @@ def processPost(id, chatId, msgId, from) {
]}) ]})
bot.invoke("sendPhoto", { bot.invoke("sendPhoto", {
"chat_id": chatId, "chat_id": chatId,
"photo": post.getImageUrl(), "photo": post.getImageUrl()
"parse_mode": "html", "parse_mode": "html",
"caption": caption, "caption": caption,
"reply_markup": markup "reply_markup": markup
@ -68,7 +68,7 @@ def processPost(id, chatId, msgId, from) {
if !r.contains("wrong file identifier") return 1 if !r.contains("wrong file identifier") return 1
bot.invoke("sendPhoto", { bot.invoke("sendPhoto", {
"chat_id": chatId, "chat_id": chatId,
"photo": post.getSampleImageUrl(), "photo": post.getSampleImageUrl()
"parse_mode": "html", "parse_mode": "html",
"caption": "small " + caption, "caption": "small " + caption,
"reply_markup": markup "reply_markup": markup