diff --git a/src/engine/adapters/baileys.adapter.spec.ts b/src/engine/adapters/baileys.adapter.spec.ts index 81c19471..edc00b39 100644 --- a/src/engine/adapters/baileys.adapter.spec.ts +++ b/src/engine/adapters/baileys.adapter.spec.ts @@ -852,12 +852,14 @@ describe('BaileysAdapter media sends', () => { mimetype: 'application/pdf', data: Buffer.from('PDFDATA').toString('base64'), filename: 'doc.pdf', + caption: 'a document', }); expect(loadRemoteMediaBuffer).not.toHaveBeenCalled(); expect(fakeSock.sendMessage).toHaveBeenCalledWith('628111@s.whatsapp.net', { document: Buffer.from('PDFDATA'), mimetype: 'application/pdf', fileName: 'doc.pdf', + caption: 'a document', }); }); diff --git a/src/engine/adapters/baileys.adapter.ts b/src/engine/adapters/baileys.adapter.ts index c18ad3d8..655805a0 100644 --- a/src/engine/adapters/baileys.adapter.ts +++ b/src/engine/adapters/baileys.adapter.ts @@ -380,7 +380,12 @@ export class BaileysAdapter implements IWhatsAppEngine { async sendDocumentMessage(chatId: string, media: MediaInput): Promise { this.ensureReady(); const { data, mimetype } = await this.resolveMediaBuffer(media); - return this.sendContent(chatId, { document: data, mimetype, fileName: media.filename ?? 'file' }); + return this.sendContent(chatId, { + document: data, + mimetype, + fileName: media.filename ?? 'file', + caption: media.caption, + }); } async sendStickerMessage(chatId: string, media: MediaInput): Promise { diff --git a/src/modules/message/message.service.ts b/src/modules/message/message.service.ts index 38709adf..e69072e2 100644 --- a/src/modules/message/message.service.ts +++ b/src/modules/message/message.service.ts @@ -219,7 +219,7 @@ export class MessageService { // Save message as pending BEFORE sending const message = await this.saveOutgoingMessage(sessionId, { chatId: dto.chatId, - body: dto.filename || '', + body: dto.caption || dto.filename || '', type: 'document', metadata: { media: { mimetype: dto.mimetype, filename: dto.filename, data: dto.base64 || dto.url },