[core] GOWS - extract replyTo

fix #876
This commit is contained in:
devlikepro committed 2025-03-27 14:36:38 +07:00
1 parent ef6d4f9998
commit 68de84973a
1 file changed
+22 -1
+22 -1
View File
@@ -1,4 +1,5 @@
import {
getContentType,
getUrlFromDirectPath,
isJidGroup,
isJidStatusBroadcast,
@@ -129,6 +130,7 @@ import { promisify } from 'util';
import * as gows from './types';
import MessageServiceClient = messages.MessageServiceClient;
import { ReplyToMessage } from '@waha/structures/message.dto';
enum WhatsMeowEvent {
CONNECTED = 'gows.ConnectedEventData',
@@ -1396,7 +1398,7 @@ export class WhatsappSessionGoWSCore extends WhatsappSession {
const fromToParticipant = getFromToParticipant(message);
const id = buildMessageId(message);
const body = this.extractBody(message.Message);
const replyTo = null; // TODO: this.extractReplyTo(message.message);
const replyTo = this.extractReplyTo(message.Message);
let ack;
if (message.Status) {
ack = statusToAck(message.Status);
@@ -1454,6 +1456,25 @@ export class WhatsappSessionGoWSCore extends WhatsappSession {
return body;
}
protected extractReplyTo(message): ReplyToMessage | null {
const msgType = getContentType(message);
const contextInfo = message[msgType]?.contextInfo;
if (!contextInfo) {
return null;
}
const quotedMessage = contextInfo.quotedMessage;
if (!quotedMessage) {
return null;
}
const body = this.extractBody(quotedMessage);
return {
id: contextInfo.stanzaID,
participant: toCusFormat(contextInfo.participant),
body: body,
_data: quotedMessage,
};
}
public async getEngineInfo() {
const clientState = this.client?.getChannel().getConnectivityState(false);
const streamState = this.stream$?.client