mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
feat: add 'updateMessageWithReceipt' utility
This commit is contained in:
@@ -6,7 +6,7 @@ import { DEFAULT_CONNECTION_CONFIG } from '../Defaults'
|
||||
import type makeLegacySocket from '../LegacySocket'
|
||||
import type makeMDSocket from '../Socket'
|
||||
import type { BaileysEventEmitter, Chat, ConnectionState, Contact, GroupMetadata, PresenceData, WAMessage, WAMessageCursor, WAMessageKey } from '../Types'
|
||||
import { toNumber } from '../Utils'
|
||||
import { toNumber, updateMessageWithReceipt } from '../Utils'
|
||||
import { jidNormalizedUser } from '../WABinary'
|
||||
import makeOrderedDictionary from './make-ordered-dictionary'
|
||||
|
||||
@@ -225,13 +225,7 @@ export default (
|
||||
const obj = messages[key.remoteJid!]
|
||||
const msg = obj?.get(key.id)
|
||||
if(msg) {
|
||||
msg.userReceipt = msg.userReceipt || []
|
||||
const recp = msg.userReceipt.find(m => m.userJid === receipt.userJid)
|
||||
if(recp) {
|
||||
Object.assign(recp, receipt)
|
||||
} else {
|
||||
msg.userReceipt.push(receipt)
|
||||
}
|
||||
updateMessageWithReceipt(msg, receipt)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -11,12 +11,14 @@ import {
|
||||
MessageGenerationOptions,
|
||||
MessageGenerationOptionsFromContent,
|
||||
MessageType,
|
||||
MessageUserReceipt,
|
||||
WAMediaUpload,
|
||||
WAMessage,
|
||||
WAMessageContent,
|
||||
WAMessageStatus,
|
||||
WAProto,
|
||||
WATextMessage } from '../Types'
|
||||
WATextMessage
|
||||
} from '../Types'
|
||||
import { generateMessageID, unixTimestampSeconds } from './generics'
|
||||
import { encryptedStream, generateThumbnail, getAudioDuration } from './messages-media'
|
||||
|
||||
@@ -493,3 +495,13 @@ export const getDevice = (id: string) => {
|
||||
const deviceType = id.length > 21 ? 'android' : id.substring(0, 2) === '3A' ? 'ios' : 'web'
|
||||
return deviceType
|
||||
}
|
||||
|
||||
export const updateMessageWithReceipt = (msg: WAMessage, receipt: MessageUserReceipt) => {
|
||||
msg.userReceipt = msg.userReceipt || []
|
||||
const recp = msg.userReceipt.find(m => m.userJid === receipt.userJid)
|
||||
if(recp) {
|
||||
Object.assign(recp, receipt)
|
||||
} else {
|
||||
msg.userReceipt.push(receipt)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user