From a5bff80b3ac7887e2d5bbffa84a49d6d0820b004 Mon Sep 17 00:00:00 2001 From: devlikepro Date: Wed, 17 Dec 2025 12:58:36 +0700 Subject: [PATCH] [core] WEBJS - delete status message --- src/core/engines/webjs/session.webjs.core.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/core/engines/webjs/session.webjs.core.ts b/src/core/engines/webjs/session.webjs.core.ts index 5c65c186..13ba7388 100644 --- a/src/core/engines/webjs/session.webjs.core.ts +++ b/src/core/engines/webjs/session.webjs.core.ts @@ -117,7 +117,11 @@ import { } from '@waha/structures/responses.dto'; import { BrowserTraceQuery } from '@waha/structures/server.debug.dto'; import { MeInfo } from '@waha/structures/sessions.dto'; -import { StatusRequest, TextStatus } from '@waha/structures/status.dto'; +import { + DeleteStatusRequest, + StatusRequest, + TextStatus, +} from '@waha/structures/status.dto'; import { EnginePayload, WAMessageAckBody, @@ -1522,7 +1526,7 @@ export class WhatsappSessionWebJSCore extends WhatsappSession { /** * Status methods */ - protected checkStatusRequest(request: StatusRequest) { + protected checkStatusRequest(request: { contacts?: any[] }) { if (request.contacts && request.contacts?.length > 0) { const msg = "WEBJS doesn't accept 'contacts'. Remove the field to send status to all contacts."; @@ -1545,6 +1549,16 @@ export class WhatsappSessionWebJSCore extends WhatsappSession { return this.whatsapp.sendMessage(Jid.BROADCAST, status.text, options); } + public async deleteStatus(request: DeleteStatusRequest) { + this.checkStatusRequest(request); + + let messageId = request.id; + if (!request.id.startsWith('true_status@broadcast_')) { + messageId = `true_status@broadcast_${request.id}`; + } + return await this.whatsapp.revokeStatusMessage(messageId); + } + /** * END - Methods for API */