@@ -42,6 +42,7 @@ import {
4242 SendLocationDto ,
4343 SendMediaDto ,
4444 SendPollDto ,
45+ SendPtvDto ,
4546 SendReactionDto ,
4647 SendStatusDto ,
4748 SendStickerDto ,
@@ -309,7 +310,7 @@ export class BaileysStartupService extends ChannelStartupService {
309310 qrcodeTerminal . generate ( qr , { small : true } , ( qrcode ) =>
310311 this . logger . log (
311312 `\n{ instance: ${ this . instance . name } pairingCode: ${ this . instance . qrcode . pairingCode } , qrcodeCount: ${ this . instance . qrcode . count } }\n` +
312- qrcode ,
313+ qrcode ,
313314 ) ,
314315 ) ;
315316
@@ -913,18 +914,18 @@ export class BaileysStartupService extends ChannelStartupService {
913914
914915 const messagesRepository = new Set (
915916 chatwootImport . getRepositoryMessagesCache ( instance ) ??
916- (
917- await this . prismaRepository . message . findMany ( {
918- select : { key : true } ,
919- where : { instanceId : this . instanceId } ,
920- } )
921- ) . map ( ( message ) => {
922- const key = message . key as {
923- id : string ;
924- } ;
925-
926- return key . id ;
927- } ) ,
917+ (
918+ await this . prismaRepository . message . findMany ( {
919+ select : { key : true } ,
920+ where : { instanceId : this . instanceId } ,
921+ } )
922+ ) . map ( ( message ) => {
923+ const key = message . key as {
924+ id : string ;
925+ } ;
926+
927+ return key . id ;
928+ } ) ,
928929 ) ;
929930
930931 if ( chatwootImport . getRepositoryMessagesCache ( instance ) === null ) {
@@ -2052,6 +2053,7 @@ export class BaileysStartupService extends ChannelStartupService {
20522053 messageSent ?. message ?. imageMessage ||
20532054 messageSent ?. message ?. videoMessage ||
20542055 messageSent ?. message ?. stickerMessage ||
2056+ messageSent ?. message ?. ptvMessage ||
20552057 messageSent ?. message ?. documentMessage ||
20562058 messageSent ?. message ?. documentWithCaptionMessage ||
20572059 messageSent ?. message ?. audioMessage ;
@@ -2397,9 +2399,11 @@ export class BaileysStartupService extends ChannelStartupService {
23972399
23982400 private async prepareMediaMessage ( mediaMessage : MediaMessage ) {
23992401 try {
2402+ const type = mediaMessage . mediatype === 'ptv' ? 'video' : mediaMessage . mediatype ;
2403+
24002404 const prepareMedia = await prepareWAMessageMedia (
24012405 {
2402- [ mediaMessage . mediatype ] : isURL ( mediaMessage . media )
2406+ [ type ] : isURL ( mediaMessage . media )
24032407 ? { url : mediaMessage . media }
24042408 : Buffer . from ( mediaMessage . media , 'base64' ) ,
24052409 } as any ,
@@ -2453,6 +2457,10 @@ export class BaileysStartupService extends ChannelStartupService {
24532457 }
24542458 }
24552459
2460+ if ( mediaMessage . mediatype === 'ptv' ) {
2461+ prepareMedia [ mediaType ] = prepareMedia [ type + 'Message' ] ;
2462+ }
2463+
24562464 prepareMedia [ mediaType ] . caption = mediaMessage ?. caption ;
24572465 prepareMedia [ mediaType ] . mimetype = mimetype ;
24582466 prepareMedia [ mediaType ] . fileName = mediaMessage . fileName ;
@@ -2564,6 +2572,37 @@ export class BaileysStartupService extends ChannelStartupService {
25642572 return mediaSent ;
25652573 }
25662574
2575+ public async ptvMessage ( data : SendPtvDto , file ?: any , isIntegration = false ) {
2576+ const mediaData : SendMediaDto = {
2577+ number : data . number ,
2578+ media : data . video ,
2579+ mediatype : 'ptv' ,
2580+ delay : data ?. delay ,
2581+ quoted : data ?. quoted ,
2582+ mentionsEveryOne : data ?. mentionsEveryOne ,
2583+ mentioned : data ?. mentioned ,
2584+ } ;
2585+
2586+ if ( file ) mediaData . media = file . buffer . toString ( 'base64' ) ;
2587+
2588+ const generate = await this . prepareMediaMessage ( mediaData ) ;
2589+
2590+ const mediaSent = await this . sendMessageWithTyping (
2591+ data . number ,
2592+ { ...generate . message } ,
2593+ {
2594+ delay : data ?. delay ,
2595+ presence : 'composing' ,
2596+ quoted : data ?. quoted ,
2597+ mentionsEveryOne : data ?. mentionsEveryOne ,
2598+ mentioned : data ?. mentioned ,
2599+ } ,
2600+ isIntegration ,
2601+ ) ;
2602+
2603+ return mediaSent ;
2604+ }
2605+
25672606 public async processAudioMp4 ( audio : string ) {
25682607 let inputStream : PassThrough ;
25692608
0 commit comments