feat: 表情包优化

This commit is contained in:
Wxw-Gu
2026-07-27 17:55:11 +08:00
parent e93e4554d7
commit 95e517eca5
2 changed files with 41 additions and 15 deletions
+20 -2
View File
@@ -236,9 +236,27 @@ function listSourceMessages(
: msgType
if ([3, 42, 43, 47, 48, 49, 50, 10000, 10002].includes(inferredMsgType)) {
try {
const parsed =
inferredMsgType === 47
const isQuotePayload = /<refermsg\b/i.test(content)
const hasStickerHints =
/<(?:emoji|sticker|emoticon)\b/i.test(content) ||
[
'emoji_md5',
'emojiMd5',
'emoji_cdn_url',
'emojiCdnUrl',
'packed_info_data',
'packed_info',
'reserved0',
'Reserved0',
'WCDB_CT_reserved0'
].some((key) => Boolean(msg[key]))
const rowSticker =
inferredMsgType === 47 || (inferredMsgType === 49 && !isQuotePayload && hasStickerHints)
? parseStickerMessageFromRow(msg, content)
: undefined
const parsed =
rowSticker?.type === 'sticker'
? rowSticker
: parseMessageContent(content, inferredMsgType)
if (parsed.type === 'system') {
content = parsed.content