Rely on parsedText to determine imageURLs
This commit is contained in:
parent
7d178b355e
commit
07b757ddad
|
@ -140,10 +140,6 @@ proc toTextItem*(jsonText: JsonNode): TextItem =
|
||||||
|
|
||||||
|
|
||||||
proc toMessage*(jsonMsg: JsonNode): Message =
|
proc toMessage*(jsonMsg: JsonNode): Message =
|
||||||
let
|
|
||||||
regex = re(r"(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|].(?:jpg|jpeg|gif|png|svg))", flags = {reStudy, reIgnoreCase})
|
|
||||||
text = jsonMsg{"text"}.getStr
|
|
||||||
imageUrls = findAll(text, regex)
|
|
||||||
|
|
||||||
var message = Message(
|
var message = Message(
|
||||||
alias: jsonMsg{"alias"}.getStr,
|
alias: jsonMsg{"alias"}.getStr,
|
||||||
|
@ -170,17 +166,19 @@ proc toMessage*(jsonMsg: JsonNode): Message =
|
||||||
parsedText: @[],
|
parsedText: @[],
|
||||||
imageUrls: ""
|
imageUrls: ""
|
||||||
)
|
)
|
||||||
|
|
||||||
if imageUrls.len > 0:
|
|
||||||
message.imageUrls = imageUrls.join(" ")
|
|
||||||
|
|
||||||
result = message
|
|
||||||
|
|
||||||
if jsonMsg["parsedText"].kind != JNull:
|
if jsonMsg["parsedText"].kind != JNull:
|
||||||
for text in jsonMsg["parsedText"]:
|
for text in jsonMsg["parsedText"]:
|
||||||
result.parsedText.add(text.toTextItem)
|
message.parsedText.add(text.toTextItem)
|
||||||
|
|
||||||
if result.contentType == ContentType.Sticker:
|
message.imageUrls = concat(message.parsedText.map(t => t.children.filter(c => c.textType == "link")))
|
||||||
result.stickerHash = jsonMsg["sticker"]["hash"].getStr
|
.filter(t => [".png", ".jpg", ".jpeg", ".svg", ".gif"].any(ext => t.destination.endsWith(ext)))
|
||||||
|
.map(t => t.destination)
|
||||||
|
.join(" ")
|
||||||
|
|
||||||
|
if message.contentType == ContentType.Sticker:
|
||||||
|
message.stickerHash = jsonMsg["sticker"]["hash"].getStr
|
||||||
|
|
||||||
|
result = message
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue