zaileys 2.2.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -2,8 +2,8 @@ import * as baileys from 'baileys';
2
2
  import baileys__default, { AuthenticationState, WAMessage, proto, ParticipantAction, WAPrivacyValue, WAPrivacyOnlineValue, WAReadReceiptsValue, WAPrivacyGroupAddValue } from 'baileys';
3
3
  import { JetDB } from 'jetdb';
4
4
  import z, { z as z$1 } from 'zod';
5
- import Stream from 'stream';
6
5
  import pino from 'pino';
6
+ import Stream from 'stream';
7
7
  import _ from 'lodash';
8
8
 
9
9
  declare const useAuthState: (folder: string) => Promise<{
@@ -11,6 +11,24 @@ declare const useAuthState: (folder: string) => Promise<{
11
11
  saveCreds: () => Promise<void>;
12
12
  }>;
13
13
 
14
+ declare class CleanUpManager {
15
+ private client;
16
+ private interval;
17
+ constructor(client: Client);
18
+ start(): void;
19
+ stop(): void;
20
+ run(): Promise<void>;
21
+ }
22
+
23
+ declare class HealthManager {
24
+ private client;
25
+ private keysDb;
26
+ constructor(client: Client);
27
+ private setupLogFilters;
28
+ repair(jid: string): Promise<void>;
29
+ get logger(): pino.Logger<never, boolean>;
30
+ }
31
+
14
32
  declare const SignalType: z.ZodEnum<{
15
33
  delete: "delete";
16
34
  forward: "forward";
@@ -34,8 +52,8 @@ declare const SignalOptionsType: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.Zo
34
52
  sticker: z.ZodUnion<[z.ZodUnion<[z.ZodURL, z.ZodBase64]>, z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>]>;
35
53
  shape: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
36
54
  default: "default";
37
- circle: "circle";
38
55
  rounded: "rounded";
56
+ circle: "circle";
39
57
  oval: "oval";
40
58
  }>>>;
41
59
  caption: z.ZodOptional<z.ZodString>;
@@ -302,6 +320,7 @@ declare const DEVICE_ENUM_TYPES: z.ZodEnum<{
302
320
  web: "web";
303
321
  }>;
304
322
  declare const MESSAGE_ENUM_TYPES: z.ZodEnum<{
323
+ sticker: "sticker";
305
324
  video: "video";
306
325
  text: "text";
307
326
  album: "album";
@@ -320,7 +339,6 @@ declare const MESSAGE_ENUM_TYPES: z.ZodEnum<{
320
339
  declinePaymentRequest: "declinePaymentRequest";
321
340
  cancelPaymentRequest: "cancelPaymentRequest";
322
341
  template: "template";
323
- sticker: "sticker";
324
342
  groupInvite: "groupInvite";
325
343
  product: "product";
326
344
  deviceSent: "deviceSent";
@@ -358,6 +376,7 @@ declare const BaseMessagesType: z.ZodObject<{
358
376
  uniqueId: z.ZodString;
359
377
  chatId: z.ZodString;
360
378
  chatType: z.ZodEnum<{
379
+ sticker: "sticker";
361
380
  video: "video";
362
381
  text: "text";
363
382
  album: "album";
@@ -376,7 +395,6 @@ declare const BaseMessagesType: z.ZodObject<{
376
395
  declinePaymentRequest: "declinePaymentRequest";
377
396
  cancelPaymentRequest: "cancelPaymentRequest";
378
397
  template: "template";
379
- sticker: "sticker";
380
398
  groupInvite: "groupInvite";
381
399
  product: "product";
382
400
  deviceSent: "deviceSent";
@@ -461,6 +479,7 @@ declare const ListenerMessagesType: z.ZodObject<{
461
479
  uniqueId: z.ZodString;
462
480
  chatId: z.ZodString;
463
481
  chatType: z.ZodEnum<{
482
+ sticker: "sticker";
464
483
  video: "video";
465
484
  text: "text";
466
485
  album: "album";
@@ -479,7 +498,6 @@ declare const ListenerMessagesType: z.ZodObject<{
479
498
  declinePaymentRequest: "declinePaymentRequest";
480
499
  cancelPaymentRequest: "cancelPaymentRequest";
481
500
  template: "template";
482
- sticker: "sticker";
483
501
  groupInvite: "groupInvite";
484
502
  product: "product";
485
503
  deviceSent: "deviceSent";
@@ -563,6 +581,7 @@ declare const ListenerMessagesType: z.ZodObject<{
563
581
  uniqueId: z.ZodString;
564
582
  chatId: z.ZodString;
565
583
  chatType: z.ZodEnum<{
584
+ sticker: "sticker";
566
585
  video: "video";
567
586
  text: "text";
568
587
  album: "album";
@@ -581,7 +600,6 @@ declare const ListenerMessagesType: z.ZodObject<{
581
600
  declinePaymentRequest: "declinePaymentRequest";
582
601
  cancelPaymentRequest: "cancelPaymentRequest";
583
602
  template: "template";
584
- sticker: "sticker";
585
603
  groupInvite: "groupInvite";
586
604
  product: "product";
587
605
  deviceSent: "deviceSent";
@@ -681,8 +699,8 @@ declare const FakeReplyType: z$1.ZodOptional<z$1.ZodObject<{
681
699
  }, z$1.core.$strip>>;
682
700
  declare const StickerShapeType: z$1.ZodDefault<z$1.ZodEnum<{
683
701
  default: "default";
684
- circle: "circle";
685
702
  rounded: "rounded";
703
+ circle: "circle";
686
704
  oval: "oval";
687
705
  }>>;
688
706
  declare const StickerMetadataType: z$1.ZodOptional<z$1.ZodObject<{
@@ -691,8 +709,8 @@ declare const StickerMetadataType: z$1.ZodOptional<z$1.ZodObject<{
691
709
  quality: z$1.ZodOptional<z$1.ZodNumber>;
692
710
  shape: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodEnum<{
693
711
  default: "default";
694
- circle: "circle";
695
712
  rounded: "rounded";
713
+ circle: "circle";
696
714
  oval: "oval";
697
715
  }>>>;
698
716
  }, z$1.core.$strip>>;
@@ -743,8 +761,8 @@ declare const ClientBaseType: z$1.ZodObject<{
743
761
  quality: z$1.ZodOptional<z$1.ZodNumber>;
744
762
  shape: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodEnum<{
745
763
  default: "default";
746
- circle: "circle";
747
764
  rounded: "rounded";
765
+ circle: "circle";
748
766
  oval: "oval";
749
767
  }>>>;
750
768
  }, z$1.core.$strip>>;
@@ -799,8 +817,8 @@ declare const ClientOptionsType: z$1.ZodUnion<readonly [z$1.ZodObject<{
799
817
  quality: z$1.ZodOptional<z$1.ZodNumber>;
800
818
  shape: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodEnum<{
801
819
  default: "default";
802
- circle: "circle";
803
820
  rounded: "rounded";
821
+ circle: "circle";
804
822
  oval: "oval";
805
823
  }>>>;
806
824
  }, z$1.core.$strip>>;
@@ -846,8 +864,8 @@ declare const ClientOptionsType: z$1.ZodUnion<readonly [z$1.ZodObject<{
846
864
  quality: z$1.ZodOptional<z$1.ZodNumber>;
847
865
  shape: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodEnum<{
848
866
  default: "default";
849
- circle: "circle";
850
867
  rounded: "rounded";
868
+ circle: "circle";
851
869
  oval: "oval";
852
870
  }>>>;
853
871
  }, z$1.core.$strip>>;
@@ -1004,24 +1022,6 @@ declare class Middleware<T> {
1004
1022
  run(ctx: MiddlewareContextType): Promise<void>;
1005
1023
  }
1006
1024
 
1007
- declare class CleanUpManager {
1008
- private client;
1009
- private interval;
1010
- constructor(client: Client);
1011
- start(): void;
1012
- stop(): void;
1013
- run(): Promise<void>;
1014
- }
1015
-
1016
- declare class HealthManager {
1017
- private client;
1018
- private keysDb;
1019
- constructor(client: Client);
1020
- private setupLogFilters;
1021
- repair(jid: string): Promise<void>;
1022
- get logger(): pino.Logger<never, boolean>;
1023
- }
1024
-
1025
1025
  type PluginsHandlerType = (wa: Client, ctx: MiddlewareContextType) => Promise<void> | void;
1026
1026
  type PluginsConfigType = {
1027
1027
  matcher: (string | RegExp)[];
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@ import * as baileys from 'baileys';
2
2
  import baileys__default, { AuthenticationState, WAMessage, proto, ParticipantAction, WAPrivacyValue, WAPrivacyOnlineValue, WAReadReceiptsValue, WAPrivacyGroupAddValue } from 'baileys';
3
3
  import { JetDB } from 'jetdb';
4
4
  import z, { z as z$1 } from 'zod';
5
- import Stream from 'stream';
6
5
  import pino from 'pino';
6
+ import Stream from 'stream';
7
7
  import _ from 'lodash';
8
8
 
9
9
  declare const useAuthState: (folder: string) => Promise<{
@@ -11,6 +11,24 @@ declare const useAuthState: (folder: string) => Promise<{
11
11
  saveCreds: () => Promise<void>;
12
12
  }>;
13
13
 
14
+ declare class CleanUpManager {
15
+ private client;
16
+ private interval;
17
+ constructor(client: Client);
18
+ start(): void;
19
+ stop(): void;
20
+ run(): Promise<void>;
21
+ }
22
+
23
+ declare class HealthManager {
24
+ private client;
25
+ private keysDb;
26
+ constructor(client: Client);
27
+ private setupLogFilters;
28
+ repair(jid: string): Promise<void>;
29
+ get logger(): pino.Logger<never, boolean>;
30
+ }
31
+
14
32
  declare const SignalType: z.ZodEnum<{
15
33
  delete: "delete";
16
34
  forward: "forward";
@@ -34,8 +52,8 @@ declare const SignalOptionsType: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.Zo
34
52
  sticker: z.ZodUnion<[z.ZodUnion<[z.ZodURL, z.ZodBase64]>, z.ZodCustom<Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>>]>;
35
53
  shape: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
36
54
  default: "default";
37
- circle: "circle";
38
55
  rounded: "rounded";
56
+ circle: "circle";
39
57
  oval: "oval";
40
58
  }>>>;
41
59
  caption: z.ZodOptional<z.ZodString>;
@@ -302,6 +320,7 @@ declare const DEVICE_ENUM_TYPES: z.ZodEnum<{
302
320
  web: "web";
303
321
  }>;
304
322
  declare const MESSAGE_ENUM_TYPES: z.ZodEnum<{
323
+ sticker: "sticker";
305
324
  video: "video";
306
325
  text: "text";
307
326
  album: "album";
@@ -320,7 +339,6 @@ declare const MESSAGE_ENUM_TYPES: z.ZodEnum<{
320
339
  declinePaymentRequest: "declinePaymentRequest";
321
340
  cancelPaymentRequest: "cancelPaymentRequest";
322
341
  template: "template";
323
- sticker: "sticker";
324
342
  groupInvite: "groupInvite";
325
343
  product: "product";
326
344
  deviceSent: "deviceSent";
@@ -358,6 +376,7 @@ declare const BaseMessagesType: z.ZodObject<{
358
376
  uniqueId: z.ZodString;
359
377
  chatId: z.ZodString;
360
378
  chatType: z.ZodEnum<{
379
+ sticker: "sticker";
361
380
  video: "video";
362
381
  text: "text";
363
382
  album: "album";
@@ -376,7 +395,6 @@ declare const BaseMessagesType: z.ZodObject<{
376
395
  declinePaymentRequest: "declinePaymentRequest";
377
396
  cancelPaymentRequest: "cancelPaymentRequest";
378
397
  template: "template";
379
- sticker: "sticker";
380
398
  groupInvite: "groupInvite";
381
399
  product: "product";
382
400
  deviceSent: "deviceSent";
@@ -461,6 +479,7 @@ declare const ListenerMessagesType: z.ZodObject<{
461
479
  uniqueId: z.ZodString;
462
480
  chatId: z.ZodString;
463
481
  chatType: z.ZodEnum<{
482
+ sticker: "sticker";
464
483
  video: "video";
465
484
  text: "text";
466
485
  album: "album";
@@ -479,7 +498,6 @@ declare const ListenerMessagesType: z.ZodObject<{
479
498
  declinePaymentRequest: "declinePaymentRequest";
480
499
  cancelPaymentRequest: "cancelPaymentRequest";
481
500
  template: "template";
482
- sticker: "sticker";
483
501
  groupInvite: "groupInvite";
484
502
  product: "product";
485
503
  deviceSent: "deviceSent";
@@ -563,6 +581,7 @@ declare const ListenerMessagesType: z.ZodObject<{
563
581
  uniqueId: z.ZodString;
564
582
  chatId: z.ZodString;
565
583
  chatType: z.ZodEnum<{
584
+ sticker: "sticker";
566
585
  video: "video";
567
586
  text: "text";
568
587
  album: "album";
@@ -581,7 +600,6 @@ declare const ListenerMessagesType: z.ZodObject<{
581
600
  declinePaymentRequest: "declinePaymentRequest";
582
601
  cancelPaymentRequest: "cancelPaymentRequest";
583
602
  template: "template";
584
- sticker: "sticker";
585
603
  groupInvite: "groupInvite";
586
604
  product: "product";
587
605
  deviceSent: "deviceSent";
@@ -681,8 +699,8 @@ declare const FakeReplyType: z$1.ZodOptional<z$1.ZodObject<{
681
699
  }, z$1.core.$strip>>;
682
700
  declare const StickerShapeType: z$1.ZodDefault<z$1.ZodEnum<{
683
701
  default: "default";
684
- circle: "circle";
685
702
  rounded: "rounded";
703
+ circle: "circle";
686
704
  oval: "oval";
687
705
  }>>;
688
706
  declare const StickerMetadataType: z$1.ZodOptional<z$1.ZodObject<{
@@ -691,8 +709,8 @@ declare const StickerMetadataType: z$1.ZodOptional<z$1.ZodObject<{
691
709
  quality: z$1.ZodOptional<z$1.ZodNumber>;
692
710
  shape: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodEnum<{
693
711
  default: "default";
694
- circle: "circle";
695
712
  rounded: "rounded";
713
+ circle: "circle";
696
714
  oval: "oval";
697
715
  }>>>;
698
716
  }, z$1.core.$strip>>;
@@ -743,8 +761,8 @@ declare const ClientBaseType: z$1.ZodObject<{
743
761
  quality: z$1.ZodOptional<z$1.ZodNumber>;
744
762
  shape: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodEnum<{
745
763
  default: "default";
746
- circle: "circle";
747
764
  rounded: "rounded";
765
+ circle: "circle";
748
766
  oval: "oval";
749
767
  }>>>;
750
768
  }, z$1.core.$strip>>;
@@ -799,8 +817,8 @@ declare const ClientOptionsType: z$1.ZodUnion<readonly [z$1.ZodObject<{
799
817
  quality: z$1.ZodOptional<z$1.ZodNumber>;
800
818
  shape: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodEnum<{
801
819
  default: "default";
802
- circle: "circle";
803
820
  rounded: "rounded";
821
+ circle: "circle";
804
822
  oval: "oval";
805
823
  }>>>;
806
824
  }, z$1.core.$strip>>;
@@ -846,8 +864,8 @@ declare const ClientOptionsType: z$1.ZodUnion<readonly [z$1.ZodObject<{
846
864
  quality: z$1.ZodOptional<z$1.ZodNumber>;
847
865
  shape: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodEnum<{
848
866
  default: "default";
849
- circle: "circle";
850
867
  rounded: "rounded";
868
+ circle: "circle";
851
869
  oval: "oval";
852
870
  }>>>;
853
871
  }, z$1.core.$strip>>;
@@ -1004,24 +1022,6 @@ declare class Middleware<T> {
1004
1022
  run(ctx: MiddlewareContextType): Promise<void>;
1005
1023
  }
1006
1024
 
1007
- declare class CleanUpManager {
1008
- private client;
1009
- private interval;
1010
- constructor(client: Client);
1011
- start(): void;
1012
- stop(): void;
1013
- run(): Promise<void>;
1014
- }
1015
-
1016
- declare class HealthManager {
1017
- private client;
1018
- private keysDb;
1019
- constructor(client: Client);
1020
- private setupLogFilters;
1021
- repair(jid: string): Promise<void>;
1022
- get logger(): pino.Logger<never, boolean>;
1023
- }
1024
-
1025
1025
  type PluginsHandlerType = (wa: Client, ctx: MiddlewareContextType) => Promise<void> | void;
1026
1026
  type PluginsConfigType = {
1027
1027
  matcher: (string | RegExp)[];
package/dist/index.js CHANGED
@@ -1,28 +1,28 @@
1
- 'use strict';var ge=require('fluent-ffmpeg'),Le=require('fs/promises'),os=require('os'),ee=require('path'),tn=require('baileys'),jetdb=require('jetdb'),nanospinner=require('nanospinner'),ae=require('node-cache'),Ht=require('pino'),Qn=require('stream'),asyncMutex=require('async-mutex'),fileType=require('file-type'),jimp=require('jimp'),mn=require('node-webpmux'),E=require('lodash'),St=require('unorm'),zodValidationError=require('zod-validation-error'),At=require('gradient-string'),hn=require('figlet'),kn=require('qrcode-terminal'),rateLimiterFlexible=require('rate-limiter-flexible'),m=require('zod'),Ne=require('fs'),url=require('url');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var ge__default=/*#__PURE__*/_interopDefault(ge);var Le__default=/*#__PURE__*/_interopDefault(Le);var ee__namespace=/*#__PURE__*/_interopNamespace(ee);var tn__default=/*#__PURE__*/_interopDefault(tn);var ae__default=/*#__PURE__*/_interopDefault(ae);var Ht__default=/*#__PURE__*/_interopDefault(Ht);var Qn__default=/*#__PURE__*/_interopDefault(Qn);var mn__default=/*#__PURE__*/_interopDefault(mn);var E__default=/*#__PURE__*/_interopDefault(E);var St__default=/*#__PURE__*/_interopDefault(St);var At__default=/*#__PURE__*/_interopDefault(At);var hn__default=/*#__PURE__*/_interopDefault(hn);var kn__default=/*#__PURE__*/_interopDefault(kn);var m__default=/*#__PURE__*/_interopDefault(m);var Ne__namespace=/*#__PURE__*/_interopNamespace(Ne);var Vt=Object.defineProperty;var ct=(s,e)=>()=>(s&&(e=s(s=0)),e);var Gt=(s,e)=>{for(var t in e)Vt(s,t,{get:e[t],enumerable:true});};var c=ct(()=>{});var kt={};Gt(kt,{BufferConverter:()=>I,FFMPEG_CONSTANTS:()=>k,FFmpegProcessor:()=>j,FileManager:()=>h,MimeValidator:()=>R,initializeFFmpeg:()=>ze});var k,ze,h,I,R,j,V=ct(()=>{c();k={OPUS:{CODEC:"libopus",CHANNELS:1,FREQUENCY:48e3,BITRATE:"48k",FORMAT:"ogg"},THUMBNAIL:{SIZE:100,QUALITY:50,TIMESTAMP:"10%"},STICKER:{SIZE:512,MAX_DURATION:10,FPS:15,DEFAULT_QUALITY:80,COMPRESSION_LEVEL:6},MIME:{AUDIO:"audio/",VIDEO:"video/",IMAGE:"image/",GIF:"image/gif",MP4:"video/mp4"}},ze=async(s=false)=>{if(!s)try{let e=(await import('@ffmpeg-installer/ffmpeg')).default,t=(await import('@ffprobe-installer/ffprobe')).default;ge__default.default.setFfmpegPath(e.path),ge__default.default.setFfprobePath(t.path);}catch{}},h=class{static generateUniqueId(){return `${Date.now()}_${Math.random().toString(36).slice(2,11)}`}static createTempPath(e,t){return ee__namespace.default.join(os.tmpdir(),`${e}_${this.generateUniqueId()}.${t}`)}static async cleanup(e){await Promise.allSettled(e.map(t=>Le__default.default.unlink(t)));}static async safeReadFile(e){try{return await Le__default.default.readFile(e)}catch{throw new Error(`Failed to read file: ${e}`)}}static async safeWriteFile(e,t){try{await Le__default.default.writeFile(e,t);}catch{throw new Error(`Failed to write file: ${e}`)}}},I=class{static async toBuffer(e){if(Buffer.isBuffer(e))return e;if(e instanceof ArrayBuffer)return Buffer.from(e);if(typeof e=="string")return this.fromString(e);throw new Error("Invalid input type: expected string, Buffer, or ArrayBuffer")}static async fromString(e){return e.startsWith("http://")||e.startsWith("https://")?this.fromUrl(e):Buffer.from(e,"base64")}static async fromUrl(e){try{let t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}: ${t.statusText}`);let r=await t.arrayBuffer();return Buffer.from(r)}catch(t){throw new Error(`Failed to fetch URL: ${t.message}`)}}},R=class{static validate(e,t){if(!e?.mime?.startsWith(t))throw new Error(`Invalid file type: expected ${t}*, got ${e?.mime||"unknown"}`)}static isMedia(e){return e.startsWith(k.MIME.IMAGE)||e.startsWith(k.MIME.VIDEO)}static isAnimated(e){return e===k.MIME.GIF||e.startsWith(k.MIME.VIDEO)}},j=class{static async process(e){return new Promise((t,r)=>{let i=ge__default.default(e.input).output(e.output);for(let n=0;n<e.options.length;n++){let o=e.options[n];o.startsWith("-")&&n+1<e.options.length&&!e.options[n+1].startsWith("-")?(i.outputOptions(o,e.options[n+1]),n++):i.outputOptions(o);}i.on("end",async()=>{try{await e.onEnd(),t();}catch(n){r(n);}}).on("error",async n=>{try{await e.onError(n);}finally{r(n);}}).run();})}static async getDuration(e){return new Promise((t,r)=>{ge__default.default.ffprobe(e,(i,n)=>{if(i)return r(i);t(n.format.duration||0);});})}};});c();c();c();c();var pt=s=>jetdb.createJetDB(`${s}/auth/creds.json`,{BufferJSON:tn.BufferJSON,cacheSize:100,flushMode:"sync",compression:"none",enableIndexing:false}),fe=s=>jetdb.createJetDB(`${s}/auth/keys.json`,{BufferJSON:tn.BufferJSON,size:1024*1024,cacheSize:2e3,flushMode:"sync",compression:"deflate",enableIndexing:false,hotThreshold:5}),lt=(s,e)=>jetdb.createJetDB(`.session/${s}/store/${e}.json`,{BufferJSON:tn.BufferJSON,cacheSize:2e4,debounceMs:1e3,flushMode:"debounce",compression:"deflate",serialization:"json",enableIndexing:true,hotThreshold:2,size:5*1024*1024});c();c();var ut=new ae__default.default({stdTTL:600,checkperiod:120,useClones:false}),O=new ae__default.default({stdTTL:300,useClones:false}),mt=new ae__default.default({stdTTL:300}),dt=new ae__default.default({stdTTL:600,checkperiod:120,useClones:false,deleteOnExpire:true,maxKeys:100}),ft=new ae__default.default;c();var te=class{classInjection(e,t){let r=t.length;return new Proxy(e,{get(i,n,o){if(n in i){let p=Reflect.get(i,n,o);return typeof p=="function"?p.bind(i):p}for(let p=0;p<r;p++){let l=t[p];if(n in l){let u=Reflect.get(l,n,o);return typeof u=="function"?u.bind(l):u}}},set(i,n,o,p){if(n in i)return Reflect.set(i,n,o,p);for(let l=0;l<r;l++){let u=t[l];if(n in u)return Reflect.set(u,n,o,p)}return Reflect.set(i,n,o,p)},has(i,n){if(n in e)return true;for(let o=0;o<r;o++)if(n in t[o])return true;return false},ownKeys(){let i=[];for(let n of Reflect.ownKeys(e))i.push(n);for(let n=0;n<r;n++)for(let o of Reflect.ownKeys(t[n]))i.includes(o)||i.push(o);return i},getOwnPropertyDescriptor(i,n){let o=Object.getOwnPropertyDescriptor(e,n);if(o)return o;for(let p=0;p<r;p++)if(o=Object.getOwnPropertyDescriptor(t[p],n),o)return o}})}};var je=class extends ae__default.default{constructor(){return super({useClones:false}),new te().classInjection(this,[ut])}spinner=nanospinner.createSpinner("",{color:"green"});logger=Ht__default.default({level:"silent",enabled:false});events=new Qn.EventEmitter},a=new je;var gt=async s=>{a.spinner.start(" Initializing auth state...");let e=pt(s),t=fe(s),r=await e.get("creds")||tn.initAuthCreds();return a.spinner.success(" Generate auth successfully"),{state:{creds:r,keys:{get:async(i,n)=>{let o={};return await Promise.all(n.map(async p=>{let l=`${i}:${p}`,u=await t.get(l);i==="app-state-sync-key"&&u&&(u=tn.proto.Message.AppStateSyncKeyData.fromObject(u)),o[p]=u;})),o},set:async i=>{let n=[],o=[];for(let p in i)for(let l in i[p]){let u=i[p][l],v=`${p}:${l}`;u?n.push({key:v,value:u}):o.push(v);}n.length&&await t.batchSet(n),o.length&&await t.batchDelete(o),await t.flush();}}},saveCreds:async()=>{await e.set("creds",r);}}};c();c();var ht=(s,e)=>({logger:s.health.logger,printQRInTerminal:false,enableRecentMessageCache:true,emitOwnEvents:true,keepAliveIntervalMs:3e4,browser:tn.Browsers.ubuntu("Chrome"),markOnlineOnConnect:s.options.autoOnline,syncFullHistory:s.options.syncFullHistory,msgRetryCounterCache:ft,mediaCache:mt,auth:{creds:e.creds,keys:tn.makeCacheableSignalKeyStore(e.keys,a.logger)},cachedGroupMetadata:async t=>O.get(t),shouldIgnoreJid:()=>false,shouldSyncHistoryMessage:()=>s.options.syncFullHistory,patchMessageBeforeSending:t=>t,getMessage:async t=>{if(!t?.remoteJid)return tn.proto.Message.fromObject({});let r=await s.db("messages").getByIndex("messages","key.id",t.id);return tn.proto.Message.fromObject(r[0])}});var wt=async s=>{let e=`.session/${s.options.session}`;console.info=()=>{};let{state:t,saveCreds:r}=await gt(e),i=ht(s,t),n=tn__default.default(i);n.ev.on("creds.update",r),a.set("socket",n);};c();c();c();var Ue=class{store=dt;mutex=new asyncMutex.Mutex;async inject(e,t){let r=await this.mutex.acquire();try{this.store.set(e,t);}finally{r();}}async get(e){let t=await this.mutex.acquire();try{return this.store.get(e)}finally{t();}}getSync(e){return this.store.get(e)}getAll(){let e=this.store.keys();return this.store.mget(e)}async remove(e){let t=await this.mutex.acquire();try{return this.store.del(e)>0}finally{t();}}async clear(){let e=await this.mutex.acquire();try{this.store.flushAll();}finally{e();}}has(e){return this.store.has(e)}get size(){return this.store.getStats().keys}keys(){return this.store.keys()}},Y=new Ue;c();V();c();V();var ne=class{static async toOpus(e){return this.convert(e,"opus")}static async toMp3(e){return this.convert(e,"mp3")}static async convert(e,t="opus"){let r=await I.toBuffer(e),i=await fileType.fileTypeFromBuffer(r);R.validate(i,k.MIME.AUDIO);let n=h.createTempPath("audio_in","wav"),o=t==="opus"?"ogg":"mp3",p=h.createTempPath("audio_out",o);await h.safeWriteFile(n,r);let l;try{let u=t==="opus"?["-vn","-c:a","libopus","-b:a","48k","-ac","1","-avoid_negative_ts","make_zero","-map_metadata","-1","-f","opus"]:["-vn","-c:a","libmp3lame","-b:a","128k","-ac","2","-avoid_negative_ts","make_zero","-map_metadata","-1","-f","mp3"];return await j.process({input:n,output:p,options:u,onEnd:async()=>{l=await h.safeReadFile(p);},onError:async()=>{await h.cleanup([n,p]);}}),await h.cleanup([n,p]),l}catch(u){throw await h.cleanup([n,p]),new Error(`${t.toUpperCase()} conversion failed: ${u.message}`)}}};c();V();var U=class{static async toMp4(e){let t=await I.toBuffer(e),r=await fileType.fileTypeFromBuffer(t);R.validate(r,k.MIME.VIDEO);let i=h.createTempPath("video_in","mp4"),n=h.createTempPath("video_out","mp4");await h.safeWriteFile(i,t);let o;try{let p=["-c:v","libx264","-preset","ultrafast","-crf","28","-c:a","aac","-b:a","128k","-movflags","+faststart","-pix_fmt","yuv420p","-f","mp4"];return await j.process({input:i,output:n,options:p,onEnd:async()=>{o=await h.safeReadFile(n);},onError:async()=>{await h.cleanup([i,n]);}}),await h.cleanup([i,n]),o}catch(p){throw await h.cleanup([i,n]),new Error(`Video re-encoding failed: ${p.message}`)}}static async thumbnail(e){let t=await I.toBuffer(e),r=await fileType.fileTypeFromBuffer(t);R.validate(r,k.MIME.VIDEO);let i=h.createTempPath("video","mp4"),n=h.createTempPath("thumb","jpg");await h.safeWriteFile(i,t);let o;try{return await new Promise((p,l)=>{ge__default.default(i).screenshots({timestamps:[k.THUMBNAIL.TIMESTAMP],filename:ee__namespace.default.basename(n),folder:ee__namespace.default.dirname(n),size:`${k.THUMBNAIL.SIZE}x${k.THUMBNAIL.SIZE}`}).on("end",async()=>{try{o=(await h.safeReadFile(n)).toString("base64"),p();}catch(u){l(u);}}).on("error",l);}),await h.cleanup([i,n]),o}catch(p){throw await h.cleanup([i,n]),new Error(`Thumbnail generation failed: ${p.message}`)}}static async duration(e){return j.getDuration(e)}};c();V();var N=class{static async thumbnail(e){let t=await fileType.fileTypeFromBuffer(e),r=k.THUMBNAIL.SIZE,i=await jimp.Jimp.read(e);return i.cover({w:r,h:r}),t?.mime===k.MIME.GIF&&i.resize({w:r,h:r}),(await i.getBuffer("image/jpeg",{quality:k.THUMBNAIL.QUALITY})).toString("base64")}static async resize(e,t,r){let i=await jimp.Jimp.read(e);return i.cover({w:t,h:r}),await i.getBuffer("image/png")}static async toJpeg(e){let t=await I.toBuffer(e),r=await fileType.fileTypeFromBuffer(t);if(!r||!r.mime.startsWith(k.MIME.IMAGE))throw new Error("Invalid image type");return r.mime==="image/webp"?await(await jimp.Jimp.read(t)).getBuffer("image/jpeg"):t}static async resizeForSticker(e,t,r="default"){let i=k.STICKER.SIZE,n=await jimp.Jimp.read(e);if(n.contain({w:i,h:i}),r!=="default"){let S=new jimp.Jimp({width:i,height:i,color:0});for(let b=0;b<i;b++)for(let A=0;A<i;A++){let D=false,G=i/2,J=i/2;switch(r){case "circle":{let x=A-G,B=b-J;D=x*x+B*B<=G*G;break}case "rounded":{let x=i/10,B=A>=x&&A<i-x&&b>=0&&b<i,q=A>=0&&A<i&&b>=x&&b<i-x,T=false,W=[[x,x],[i-x,x],[x,i-x],[i-x,i-x]];for(let[ie,oe]of W){let Z=A-ie,K=b-oe;if(Z*Z+K*K<=x*x){T=true;break}}D=B||q||T;break}case "oval":{let x=i/2,B=i/3,q=(A-G)/x,T=(b-J)/B;D=q*q+T*T<=1;break}}D&&S.setPixelColor(4294967295,A,b);}n.mask(S);}let o=h.createTempPath("sticker_img","png"),p=h.createTempPath("sticker_out","webp"),l=await n.getBuffer("image/png");await h.safeWriteFile(o,l);let{FFmpegProcessor:u}=await Promise.resolve().then(()=>(V(),kt)),v;try{return await u.process({input:o,output:p,options:["-vf",`scale=${i}:${i}`,"-quality",String(t),"-f","webp"],onEnd:async()=>{v=await h.safeReadFile(p);},onError:async()=>{await h.cleanup([o,p]);}}),await h.cleanup([o,p]),v}catch(S){throw await h.cleanup([o,p]),new Error(`Sticker resize failed: ${S.message}`)}}};c();c();var X=s=>{let e;Array.isArray(s)?e=s.join("|"):typeof s=="string"?e=s:e=String(s);let t=2166136261,r=e.length;for(let i=0;i<r;i++)t^=e.charCodeAt(i),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return "Z4D3FC"+(t>>>0).toString(16).padStart(8,"0").toUpperCase()},vt=(s="")=>{if(!s)return [];let e=new Set;for(let t of s.matchAll(/@(\d+)/g))e.add(t[1]);return E__default.default.toArray(e)},qe=(s="")=>{if(!s)return [];let e=new Set;for(let t of s.matchAll(/@(\d+)/g))t[1].length<=15&&e.add(t[1]);return E__default.default.flatMap([...e],t=>[`${t}@s.whatsapp.net`,`${t}@g.us`,`${t}@lid`])},wi=s=>E__default.default.isEmpty(s)?[]:E__default.default.map([...s],e=>`${e}@s.whatsapp.net`),Tt=s=>E__default.default.omit(s,["url","contextInfo","fileSha256","fileEncSha256","mediaKey","directPath","waveform","thumbnail","jpegThumbnail","thumbnailEncSha256","thumbnailSha256","thumbnailDirectPath","firstFrameSidecar","streamingSidecar","scansSidecar","callKey","message","key","midQualityFileSha256","historySyncNotification","appStateSyncKeyShare","appStateSyncKeyRequest","initialSecurityNotificationSettingSync","appStateFatalExceptionNotification","disappearingMode","peerDataOperationRequestMessage","peerDataOperationRequestResponseMessage","botFeedbackMessage"]),ye=s=>{if(!s)return {leaf:void 0,chain:[]};let e=tn.extractMessageContent(s)||s,t=[];for(;e&&typeof e=="object";){let r=tn.getContentType(e);if(!r)break;t.push(r);let i=e[r];if(!i||typeof i!="object"){e=i;break}e=i;}return {leaf:e,chain:t}},L=s=>Number(s?.split("@")[0]);c();var M=s=>s,Ct=async()=>{try{return (await(await fetch("https://registry.npmjs.org/zaileys")).json())["dist-tags"].latest}catch(s){throw s}},It=async s=>{try{let e=`.session/${s}/auth/creds.json`;await Le__default.default.unlink(e);}catch(e){throw a.spinner.error(`Failed to remove auth creds for session "${s}"!`),e}},H=(s="")=>{if(!s?.length)return null;let e=s.replace(/\u202E(.*?)(\u202C|$)/gu,(t,r)=>[...r].reverse().join("")).replace(/\u202D(.*?)(\u202C|$)/gu,(t,r)=>[...r].reverse().join("")).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/gu,"").replace(/[\u200B\u200C\u200D\uFEFF]/gu,"").replace(/[\u00AD\u034F\u115F\u1160\u17B4\u17B5\u180B-\u180E]/gu,"").replace(/[\u2060-\u2064\u206A-\u206F]/gu,"").replace(/[\u2800\uFFFC\uFFFD]/gu,"").replace(/[\uFE00-\uFE0F]/gu,"").split("").map(t=>St__default.default.nfkd(t)).join("").replace(/[\u0300-\u036F]/gu,"").replace(/[\u1AB0-\u1AFF]/gu,"").replace(/[\u1DC0-\u1DFF]/gu,"").replace(/[\u20D0-\u20FF]/gu,"").replace(/[\uFE20-\uFE2F]/gu,"").replace(/[\p{Cc}]/gu,"").replace(/[\p{Cf}]/gu,"").replace(/[\p{Co}]/gu,"").replace(/[\p{Cn}]/gu,"").replace(/[\p{Cs}]/gu,"").replace(/[\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/gu," ").replace(/[\u2028\u2029]/gu," ").replace(/[\t\r\n\f\v]/g," ").split("").map(t=>St__default.default.nfkc(t)).join("").normalize("NFC").replace(/\s+/g," ").trim();return e.length?e:null};V();var he=class{static async create(e,t){try{let r=await I.toBuffer(e),i=await fileType.fileTypeFromBuffer(r);if(!i)throw new Error("Unable to detect file type");let n=t?.quality||k.STICKER.DEFAULT_QUALITY,o=R.isAnimated(i.mime),p=t?.shape||"default",l=o?await this.processAnimated(r,i.mime,n):await N.resizeForSticker(r,n,p),u=this.createExifMetadata(t),v=new mn__default.default.Image;await v.load(l),v.exif=u;let S=await v.save(null);return Buffer.isBuffer(S)?S:Buffer.from(S)}catch(r){throw new Error(`Sticker creation failed: ${r.message||r}`)}}static createExifMetadata(e){let t={"sticker-pack-id":X(Date.now().toString()),"sticker-pack-name":e?.packageName||"Zaileys Library","sticker-pack-publisher":e?.authorName||"https://github.com/zeative/zaileys",emojis:["\u{1F913}"],"android-app-store-link":"https://play.google.com/store/apps/details?id=com.marsvard.stickermakerforwhatsapp","ios-app-store-link":"https://itunes.apple.com/app/sticker-maker-studio/id1443326857"},r=Buffer.from([73,73,42,0,8,0,0,0,1,0,65,87,7,0,0,0,0,0,22,0,0,0]),i=Buffer.from(JSON.stringify(t),"utf8"),n=Buffer.concat([r,i]);return n.writeUIntLE(i.length,14,4),n}static async processAnimated(e,t,r){let i=this.getExtension(t),n=h.createTempPath("sticker_in",i),o=h.createTempPath("sticker_out","webp");await h.safeWriteFile(n,e);let p=k.STICKER.MAX_DURATION;try{let A=await U.duration(n);p=M(Math.min(A,k.STICKER.MAX_DURATION));}catch{console.warn("Using default duration:",k.STICKER.MAX_DURATION);}let l=k.STICKER.SIZE,u=k.STICKER.FPS,v=`scale=${l}:${l}:force_original_aspect_ratio=increase,crop=${l}:${l},fps=${u},format=rgba`,S=Math.max(1,Math.min(100,100-r)),b;try{return await j.process({input:n,output:o,options:["-vcodec libwebp",`-vf ${v}`,`-q:v ${S}`,"-loop 0","-preset default","-an","-vsync 0",`-t ${p}`,`-compression_level ${k.STICKER.COMPRESSION_LEVEL}`],onEnd:async()=>{b=await h.safeReadFile(o);},onError:async()=>{await h.cleanup([n,o]);}}),await h.cleanup([n,o]),b}catch(A){throw await h.cleanup([n,o]),new Error(`Animated sticker processing failed: ${A.message}`)}}static getExtension(e){return e===k.MIME.GIF?"gif":e.startsWith(k.MIME.VIDEO)?"mp4":"tmp"}};c();V();V();var we=class{static async create(e){try{let t=await I.toBuffer(e),r=await fileType.fileTypeFromBuffer(t);if(!r)throw new Error("Unable to detect file type");let i;return r.mime.startsWith(k.MIME.VIDEO)?i=await U.thumbnail(t):R.isMedia(r.mime)?i=await N.thumbnail(t):i="",{document:t,mimetype:r.mime,fileName:X(Date.now().toString()),jpegThumbnail:i}}catch(t){throw new Error(`Document creation failed: ${t.message||t}`)}}};c();var le=(s,e)=>{try{return s.parse(e)}catch(t){let r=zodValidationError.fromError(t);throw new Error(r.toString())}};c();c();var Ve=class{concurrency;timeout;onError;queue;running;completed;failed;isClosing;closeResolve;constructor(e){this.concurrency=e?.concurrency||10,this.timeout=e?.timeout||3e4,this.onError=e?.onError||this._defaultErrorHandler,this.queue=[],this.running=new Set,this.completed=0,this.failed=0,this.isClosing=false,this.closeResolve=null;}add(e,t){if(this.isClosing)throw new Error("Queue is closing, cannot add new tasks");let r={id:this._generateId(),fn:e,priority:t?.priority||0,timeout:t?.timeout||this.timeout,retries:t?.retries||0,maxRetries:t?.maxRetries||0,createdAt:Date.now()},i=this.queue.findIndex(n=>n.priority<r.priority);return i===-1?this.queue.push(r):this.queue.splice(i,0,r),this._process(),r.id}addBulk(e){return e.map(({fn:t,options:r})=>this.add(t,r))}async _process(){for(;this.running.size<this.concurrency&&this.queue.length>0;){let e=this.queue.shift();this.running.add(e),this._executeTask(e);}this.isClosing&&this.running.size===0&&this.queue.length===0&&this.closeResolve?.();}async _executeTask(e){try{await this._withTimeout(e.fn(),e.timeout),this.completed++;}catch(t){e.retries<e.maxRetries?(e.retries++,this.queue.unshift(e)):(this.failed++,this.onError(t,e));}finally{this.running.delete(e),this._process();}}_withTimeout(e,t){return Promise.race([e,new Promise((r,i)=>setTimeout(()=>i(new Error("Task timeout")),t))])}async close(e=0){if(this.isClosing=true,this.running.size===0&&this.queue.length===0)return;let t=new Promise(r=>{this.closeResolve=r;});if(e>0){let r=new Promise(i=>setTimeout(i,e));await Promise.race([t,r]);}else await t;}forceClose(){this.queue=[],this.running.clear(),this.isClosing=true,this.closeResolve?.();}getStats(){return {queued:this.queue.length,running:this.running.size,completed:this.completed,failed:this.failed,total:this.completed+this.failed}}isIdle(){return this.queue.length===0&&this.running.size===0}async waitUntilIdle(e=100){for(;!this.isIdle();)await new Promise(t=>setTimeout(t,e));}_defaultErrorHandler(e,t){console.error(`[FireAndForget] Task ${t.id} failed:`,e);}_generateId(){return `${Date.now()}-${Math.random().toString(36).substr(2,9)}`}},P=new Ve;process.on("SIGTERM",()=>P.close());c();c();c();var y=(s,e="lime")=>Array.isArray(e)?At__default.default(e)(s):At__default.default([e,e])(s),Ge=s=>{try{return JSON.parse(s)}catch{return E__default.default.attempt(()=>JSON.parse(JSON.stringify(s)||"{}"))}},ue=s=>{try{return JSON.stringify(s)}catch{let e=E__default.default.attempt(()=>JSON.stringify(Ge(s)||"{}"));return E__default.default.isError(e)?"{}":e}},oo=(s="")=>E__default.default.shuffle(s).join(""),me=(s="",e="")=>s?E__default.default.includes(s.toLowerCase(),e.toLowerCase()):null,Pt=(s="")=>s?E__default.default.castArray(s.match(tn.URL_REGEX)||[]):[],so=s=>s[Math.floor(Math.random()*s.length)],Je=(s,e)=>{let t=i=>!!(i==null||typeof i=="string"&&i.trim()===""||Array.isArray(i)&&i.length===0||typeof i=="object"&&Object.keys(i).length===0),r=(i,n)=>{if(!i||typeof i!="object")return;let o=i,p=n.split(".");for(let l of p){let u=l.match(/^(.+?)\[(\d+)\]$/);if(u){let[,v,S]=u;o=o?.[v]?.[parseInt(S,10)];}else o=o?.[l];if(t(o))return}return o};if(!(!Array.isArray(s)||s.length===0)&&!(!Array.isArray(e)||e.length===0)){for(let i of s)if(!(!i||typeof i!="object"))for(let n of e){let o=r(i,n);if(!t(o))return o}}},ao=(s,e)=>{let t=E__default.default.castArray(e),r=(o,p)=>E__default.default.every(p,(l,u)=>o?.[u]===l),i=(o,p)=>E__default.default.some(p,(l,u)=>o?.[u]===l),n=o=>E__default.default.isArray(o)?E__default.default.find(o,n)??o:E__default.default.isObject(o)?E__default.default.find(t,u=>r(o,u))||E__default.default.find(t,u=>i(o,u))?o:E__default.default.find(E__default.default.values(o),n)??o:null;return n(s)},co=(s,e,t)=>new Proxy(s,{apply(r,i,n){e?.(n);let o=Reflect.apply(r,i,n);return t?t(o,n):o}});c();var Ke=class{input;constructor(e){this.input=e;}async toOpus(){return ne.toOpus(this.input)}async toMp3(){return ne.toMp3(this.input)}async convert(e="opus"){return ne.convert(this.input,e)}},He=class{input;constructor(e){this.input=e;}async toMp4(){return U.toMp4(this.input)}async thumbnail(){return U.thumbnail(this.input)}},Qe=class{input;constructor(e){this.input=e;}async toJpeg(){return N.toJpeg(this.input)}async thumbnail(){let e=await I.toBuffer(this.input);return N.thumbnail(e)}async resize(e,t){let r=await I.toBuffer(this.input);return N.resize(r,e,t)}},Ze=class{input;metadata;constructor(e,t){this.input=e,this.metadata=t;}async create(){return he.create(this.input,this.metadata)}},Ye=class{input;constructor(e){this.input=e;}async create(){return we.create(this.input)}},Xe=class{input;constructor(e){this.input=e;}async get(){let e=await I.toBuffer(this.input),t=await fileType.fileTypeFromBuffer(e);if(!t||!R.isMedia(t.mime))throw new Error("Invalid media type: expected image or video");return t.mime.startsWith(k.MIME.VIDEO)?U.thumbnail(this.input):N.thumbnail(e)}},et=class{audio(e){return new Ke(e)}video(e){return new He(e)}image(e){return new Qe(e)}sticker(e,t){return new Ze(e,t)}document(e){return new Ye(e)}thumbnail(e){return new Xe(e)}async toBuffer(e){return I.toBuffer(e)}},$=new et;var ke=class{constructor(e){this.client=e;this.initialize();}async initialize(){let e=a.get("socket");e.ev.on("call",async t=>{for(let r of t){let i=await this.parse(r);i&&(P.add(async()=>this.client.middleware.run({calls:i})),P.add(async()=>this.client.plugins.execute(this.client,{messages:i})),a.events.emit("calls",i),this.client.options?.autoRejectCall&&P.add(async()=>e.rejectCall(i.callId,i.callerId)));}});}async parse(e){let t=a.get("socket"),r={};return r.callId=e.id,r.callerId=tn.jidNormalizedUser(e.from),r.roomId=tn.jidNormalizedUser(e.chatId),r.roomName=H(t?.user?.name||t?.user?.verifiedName),r.date=e.date,r.offline=e.offline,r.status=e.status,r.isVideo=!!e.isVideo,r.isGroup=!!e.isGroup,this.client.logs.call(r),r}};c();c();var Rt=s=>{kn__default.default.generate(s,{small:true},e=>{console.log(e);});},Ft=async()=>{console.clear(),a.spinner.start(" Checking for updates...");let s="2.1.9",e="zaadevofc",t=await Ct(),r=s===t;a.spinner.stop();let i="Zaileys",n=`
2
- by ${e} \xB7 v${s}`,o=`${r?"Already using latest version!":`Update available! (v${t})`}
3
- `,p=r?"lime":"orange",l=await hn__default.default.text(i),u=At.cristal(l);console.log(u),console.log(y(n,"dimgray")),console.log(y(o,p));};var Me=class{constructor(e){this.client=e;this.initialize();}async initialize(){a.spinner.start(" Initializing connection...");let e=a.get("socket"),t={},r=async()=>{t.status="reload",a.spinner.warn(" Connection lost. Attempting auto-reload..."),await this.client.initialize();},i=async()=>{await tn.delay(3e3),a.spinner.warn(" Invalid session. Attempting auto cleaning creds..."),await tn.delay(3e3),await It(this.client.options.session),await r();};if(this.client.options.authType==="pairing"&&this.client.options.phoneNumber&&!e.authState.creds.registered){a.spinner.update(" Generating pairing code..."),await tn.delay(3500);try{t.authTimeout=Date.now()+6e4;let n=new Date(t.authTimeout).toLocaleTimeString(),o=await e.requestPairingCode(this.client.options.phoneNumber.toString());a.spinner.warn(` Pairing expired at ${At.cristal(n)}`),a.spinner.warn(` Pairing code: ${o}`),t.code=o;}catch{await i();}}e.ev.on("connection.update",async n=>{let{connection:o,lastDisconnect:p,qr:l}=n;if(t.status=o||"connecting",t.authType=this.client.options.authType,a.spinner.update(" Connection status: "+At.cristal(t.status)),this.client.options.authType==="qr"&&l){t.authTimeout=Date.now()+6e4;let u=new Date(t.authTimeout).toLocaleTimeString();a.spinner.warn(" Please scan the QR code..."),a.spinner.warn(` Qr code expired at ${At.cristal(u)}`),Rt(l),t.qr=l;return}if(o==="close"){let u=M(p?.error)?.output?.statusCode,v=p?.error?.message||"",S=typeof u=="number"&&u!==tn.DisconnectReason.loggedOut;if(a.spinner.error(` [${u} - Closed] ${v}`),u===401||u===405){a.spinner.warn(" Session may be used by another device/instance."),a.spinner.warn(" If you want to connect here, close the other connection first."),a.spinner.warn(` Or use a different session name in your Client options.
4
- `);return}if(u===500){a.spinner.error(" Server error occurred, attempting reconnect..."),await r();return}S&&await r();}if(o==="open")if(e.user?.id){let u=tn.jidNormalizedUser(e.user.id).split("@")[0],v=e.user.name||e.user.verifiedName;a.spinner.success(` Connected as ${At.cristal(v||u)}`);}else a.spinner.success(" Connected!");a.events.emit("connection",t);}),e.ev.on("messaging-history.set",({progress:n})=>{t.status="syncing",t.syncProgress=n,a.spinner.start(" Syncing messages history..."),n&&a.spinner.update(` Syncing messages history ${n+"%"}`),n==100&&(a.spinner.success(" Syncing messages history completed!"),t.syncCompleted=true),a.events.emit("connection",t);});}};c();c();var Bt={text:"text",conversation:"text",imageMessage:"image",contactMessage:"contact",locationMessage:"location",documentMessage:"document",audioMessage:"audio",videoMessage:"video",protocolMessage:"protocol",contactsArrayMessage:"contacts",highlyStructuredMessage:"highlyStructured",sendPaymentMessage:"sendPayment",liveLocationMessage:"location",requestPaymentMessage:"requestPayment",groupStatusMentionMessage:"groupStatusMention",statusMentionMessage:"statusMention",albumMessage:"album",declinePaymentRequestMessage:"declinePaymentRequest",cancelPaymentRequestMessage:"cancelPaymentRequest",templateMessage:"template",stickerMessage:"sticker",groupInviteMessage:"groupInvite",templateButtonReplyMessage:"buttons",productMessage:"product",deviceSentMessage:"deviceSent",listMessage:"lists",viewOnceMessage:"viewOnce",orderMessage:"order",listResponseMessage:"lists",ephemeralMessage:"ephemeral",invoiceMessage:"invoice",buttonsMessage:"buttons",buttonsResponseMessage:"buttons",paymentInviteMessage:"paymentInvite",interactiveMessage:"interactive",reactionMessage:"reaction",stickerSyncRmrMessage:"sticker",questionMessage:"question",nativeFlowResponseMessage:"lists",interactiveResponseMessage:"interactiveResponse",pollCreationMessage:"pollCreation",pollCreationMessageKey:"pollUpdate",pollUpdateMessage:"pollUpdate",keepInChatMessage:"keepInChat",documentWithCaptionMessage:"document",requestPhoneNumberMessage:"requestPhoneNumber",viewOnceMessageV2:"viewOnce",encReactionMessage:"reaction",editedMessage:"text",viewOnceMessageV2Extension:"viewOnce",pollCreationMessageV2:"pollCreation",scheduledCallCreationMessage:"scheduledCallCreation",groupMentionedMessage:"groupMentioned",pinInChatMessage:"pinInChat",pollCreationMessageV3:"pollCreation",scheduledCallEditMessage:"scheduledCallEdit",ptvMessage:"ptv",botInvokeMessage:"botInvoke",callLogMesssage:"callLog",encCommentMessage:"encComment",bcallMessage:"bcall",lottieStickerMessage:"lottieSticker",eventMessage:"event",commentMessage:"comment",newsletterAdminInviteMessage:"text",extendedTextMessageWithParentKey:"text",extendedTextMessage:"text",placeholderMessage:"placeholder",encEventUpdateMessage:"encEventUpdate"},nt={whatsapp:"0@s.whatsapp.net",meta:"13135550002@s.whatsapp.net",chatgpt:"18002428478@s.whatsapp.net",copilot:"18772241042@s.whatsapp.net",instagram:"447723442971@s.whatsapp.net",tiktok:"6285574670498@s.whatsapp.net"};c();var xe=class{constructor(e){this.client=e;this.limiter=new rateLimiterFlexible.RateLimiterMemory({points:this.client.options.limiter?.maxMessages,duration:this.client.options.limiter?.durationMs/1e3});}limiter;async isSpam(e){try{return await this.limiter.consume(e),!1}catch{return true}}};var Te=class{constructor(e){this.client=e;this.limiter=new xe(e),this.initialize();}limiter;maxReplies=3;async initialize(){let e=a.get("socket");if(!e?.ev){console.warn("\u26A0\uFE0F [Messages] Socket or socket.ev is not available during initialization");return}e.ev.on("messages.upsert",async({messages:t,type:r})=>{try{if(r!=="notify"&&r!=="append")return;for(let i of t)try{let n=await this.parse(i);n&&(P.add(async()=>this.client.middleware.run({messages:n})),P.add(async()=>this.client.plugins.execute(this.client,{messages:n})),a.set("message",n),a.events.emit("messages",n),this.client.options.autoRead&&P.add(async()=>e.readMessages([n.message().key])));}catch(n){console.error(`\u274C [Messages] Error processing message ${i.key?.id}:`,n);}}catch(i){console.error("\u274C [Messages] Critical error in upsert listener:",i);}});}async parse(e,t){if(e?.category==="peer"||!e?.message||!e?.key?.id||e?.messageStubType||e?.messageStubParameters?.length||e.message?.protocolMessage?.peerDataOperationRequestResponseMessage)return;let r=e,i=a.get("socket"),n={},o=ye(e.message),p=o.chain.at(-1),l=o.leaf;if(l?.message&&(o=ye(l.message),p=o.chain.at(-1),l=o.leaf),n.uniqueId=null,n.channelId=null,n.chatId=e?.message?.protocolMessage?.key?.id||e?.key?.id||null,n.chatType=Bt[p],!n.chatType)return;n.receiverLid=tn.jidNormalizedUser(i?.user?.lid||""),n.receiverId=tn.jidNormalizedUser(i?.user?.id||""),n.receiverName=H(i?.user?.name||i?.user?.verifiedName),n.roomId=tn.jidNormalizedUser(e?.key?.remoteJid);let u=l?.type===0,v=l?.type===1,S=l?.type===2,b=n.roomId?.includes("@newsletter"),A=!!e?.message?.questionMessage,D=e?.key?.fromMe||false;if(D&&this.client.options.ignoreMe&&t!=="replied")return;let G=l?.key?.id;if(u||v||S){let T=await this.client.db("messages").query(n.roomId).where("key.id","=",G).first();if(!T)return;e=T,o=ye(e.message),p=o.chain.at(-1),l=o.leaf;}if(n.roomName=await this.client.getRoomName(n.roomId),n.senderLid=tn.jidNormalizedUser(e?.key?.participant||e?.key?.remoteJid)||null,n.senderId=tn.jidNormalizedUser(e?.key?.participantAlt||e?.key?.remoteJidAlt)||null,n.senderName=H(e?.pushName||e?.verifiedBizName),n.senderDevice=tn.getDevice(n.chatId||""),n.channelId=X([n.roomId,n.senderId]),n.uniqueId=X([n.channelId,n.chatId]),n.timestamp=Number(e?.messageTimestamp)*1e3,b){let T=await i.newsletterMetadata("jid",n.roomId);n.roomName=M(T.thread_metadata.name)?.text,n.senderId=null,n.senderLid=null;}D&&(n.senderLid=tn.jidNormalizedUser(i.user.lid),n.senderId=n.receiverId,n.senderName=n.receiverName),n.text=l?.text||l?.caption||l?.name||l?.displayName||l?.conversation||l?.contentText||l?.selectedDisplayText||l||null,l?.name=="menu_options"&&(n.text=Ge(l?.paramsJson)?.id),n.text=H(n.text),n.mentions=vt(n.text),n.links=Pt(n.text||""),n.isBot=n.chatId.startsWith("BAE5")||n.chatId.startsWith("3EB0")||n.chatId.startsWith("Z4D3FC"),n.isFromMe=D;let J=E__default.default.castArray(this.client.options?.prefix);if(n.isPrefix=!!J.find(T=>n.text?.startsWith(T)),n.isTagMe=n.mentions?.includes(n.receiverId.split("@")[0])||n.mentions?.includes(n.receiverLid.split("@")[0]),n.isStatusMention=!!e?.message?.statusMentionMessage,n.isGroupStatusMention=!!e?.message?.groupStatusMentionMessage,n.isHideTags=false,E__default.default.isEmpty(n.text)&&l?.contextInfo?.mentionedJid?.length&&(n.isHideTags=true),n.isSpam=await this.limiter.isSpam(n.channelId),n.isPrefix&&(n.text=n.text.replace(new RegExp(`^${E__default.default.escapeRegExp(J.find(T=>n.text?.startsWith(T))||"")}`),"")),n.isGroup=n.roomId?.includes("@g.us"),n.isNewsletter=b,n.isQuestion=A,n.isStory=n.roomId?.includes("@broadcast"),!n.isGroup&&!n.roomName&&(n.roomName=n.senderName),n.isViewOnce=false,n.isEdited=!!me(ue(o),"editedMessage"),n.isDeleted=u,n.isPinned=v,n.isUnPinned=S,n.isBroadcast=!!e?.broadcast,n.isEphemeral=!!me(ue(l?.contextInfo),"ephemeralSettingTimestamp"),n.isForwarded=!!me(ue(l?.contextInfo),"forwardingScore"),n.citation=null,this.client.options.citation){n.citation=n.citation||{};let T=this.client.options.citation;for(let W of Object.keys(T)){let ie=T[W];n.citation[W]=async()=>{let oe=await ie(),Z=[L(n.roomId),L(n.senderLid),L(n.senderId)];return !!E__default.default.intersection(Z,oe).length};}}n.chatType!=="text"&&(n.media={...Tt(l),buffer:()=>tn.downloadMediaMessage(e,"buffer",{}),stream:()=>tn.downloadMediaMessage(e,"stream",{})}),n.isStatusMention&&(n.chatType="statusMention"),n.isGroupStatusMention&&(n.chatType="groupStatusMention"),n.message=()=>r,n.replied=null;let x=l?.contextInfo?.quotedMessage,B=me(ue(x),"viewOnce"),q=l?.contextInfo?.stanzaId;if(x&&this.maxReplies){this.maxReplies--;let T=await this.client.db("messages").getByIndex("messages","key.id",q),W;B?W={...T[0],message:x}:W=T[0],n.replied=await this.parse(W,"replied"),n.replied&&(n.replied.isViewOnce=true),this.maxReplies=3;}return t!="replied"&&this.client.logs.message(n),n.injection=Y.getAll(),n}};var Se=class{constructor(e){this.client=e;this.connection=new Me(e),this.messages=new Te(e),this.calls=new ke(e),this.initialize();}connection;messages;calls;async initialize(){let e=a.get("socket");e.ev.on("groups.update",async([t])=>{P.add(async()=>{let r=await e.groupMetadata(t.id);O.set(t.id,r);});}),e.ev.on("group-participants.update",async t=>{P.add(async()=>{let r=await e.groupMetadata(t.id);O.set(t.id,r);});}),e?.ev.on("messaging-history.set",async t=>{let{chats:r,contacts:i,messages:n}=t;P.add(async()=>{await this.client.db("chats").batchUpsert("chats",r,"id");}),P.add(async()=>{await this.client.db("contacts").batchUpsert("contacts",i,"id");}),P.add(async()=>{await this.client.db("messages").batchUpsert("messages",n,"key.id");});}),e?.ev.on("messages.upsert",async({messages:t})=>{P.add(async()=>{await this.client.db("messages").batchUpsert("messages",t,"key.id");});}),e?.ev.on("chats.upsert",async t=>{P.add(async()=>{await this.client.db("chats").batchUpsert("chats",t,"id");});}),e?.ev.on("contacts.upsert",async t=>{P.add(async()=>{await this.client.db("contacts").batchUpsert("contacts",t,"id");});}),await this.client.db("messages").createIndex("messages","key.remoteJid"),await this.client.db("messages").createIndex("messages","key.id"),await this.client.db("chats").createIndex("chats","id"),await this.client.db("contacts").createIndex("contacts","id");}};c();c();c();var Tn=m__default.default.object({type:m__default.default.literal("quick_reply"),text:m__default.default.string()}),Sn=m__default.default.object({type:m__default.default.literal("cta_url"),url:m__default.default.url(),text:m__default.default.string()}),Cn=m__default.default.object({type:m__default.default.literal("cta_copy"),copy:m__default.default.string(),text:m__default.default.string()}),In=m__default.default.object({type:m__default.default.literal("cta_call"),text:m__default.default.string(),phoneNumber:m__default.default.string()}),An=m__default.default.object({type:m__default.default.literal("single_select"),text:m__default.default.string(),section:m__default.default.object({title:m__default.default.string(),highlight_label:m__default.default.string().optional(),rows:m__default.default.object({id:m__default.default.string(),title:m__default.default.string(),header:m__default.default.string().optional(),description:m__default.default.string().optional()}).array()}).array()}),Pn=m__default.default.object({type:m__default.default.literal("interactive"),footer:m__default.default.string().optional(),data:m__default.default.union([Tn,Sn,Cn,In,An]).array()}),En=m__default.default.object({type:m__default.default.literal("simple"),footer:m__default.default.string().optional(),data:m__default.default.object({id:m__default.default.string(),text:m__default.default.string()}).array()}),Ot=m__default.default.union([En,Pn]);c();var Rn=m.z.object({maxMessages:m.z.number().default(20),durationMs:m.z.number().default(1e4)}).optional(),Fn=m.z.record(m.z.string(),m.z.function({output:m.z.promise(m.z.array(m.z.number()))})).optional(),Bn=m.z.object({provider:m.z.enum(["whatsapp","meta","chatgpt","copilot","instagram","tiktok"]).or(m.z.number())}).optional(),rt=m.z.enum(["default","rounded","circle","oval"]).default("default"),$n=m.z.object({packageName:m.z.string().optional(),authorName:m.z.string().optional(),quality:m.z.number().optional(),shape:rt.optional()}).optional(),On=m.z.object({enabled:m.z.boolean().default(false).optional(),intervalMs:m.z.number().default(3600*1e3).optional(),maxAgeMs:m.z.number().default(1440*60*1e3).optional(),scopes:m.z.array(m.z.string()).default(["messages"]).optional()}).optional(),Nt=m.z.object({session:m.z.string().default("zaileys").optional(),prefix:m.z.union([m.z.string(),m.z.array(m.z.string())]).optional(),ignoreMe:m.z.boolean().default(true).optional(),showLogs:m.z.boolean().default(true).optional(),fancyLogs:m.z.boolean().default(false).optional(),syncFullHistory:m.z.boolean().default(true).optional(),disableFFmpeg:m.z.boolean().default(false).optional(),autoMarkAI:m.z.boolean().default(true).optional(),autoMentions:m.z.boolean().default(true).optional(),autoOnline:m.z.boolean().default(true).optional(),autoRead:m.z.boolean().default(true).optional(),autoPresence:m.z.boolean().default(true).optional(),autoRejectCall:m.z.boolean().default(true).optional(),autoCleanUp:On,limiter:Rn,citation:Fn,fakeReply:Bn,sticker:$n}),Nn=m.z.object({authType:m.z.literal("pairing"),phoneNumber:m.z.number()}),Dn=m.z.object({authType:m.z.literal("qr")}),Dt=m.z.union([Nn.extend(Nt.shape),Dn.extend(Nt.shape)]),xs=m.z.enum(["connection","messages","calls"]);var de=m__default.default.url().or(m__default.default.base64()).or(m__default.default.instanceof(Buffer)),Wt=m__default.default.object({text:m__default.default.string()}).passthrough(),Wn=m__default.default.object({image:de,caption:m__default.default.string().optional()}).passthrough(),_n=m__default.default.object({audio:de,caption:m__default.default.string().optional(),ptt:m__default.default.boolean().optional()}).passthrough(),jn=m__default.default.object({video:de,caption:m__default.default.string().optional(),ptv:m__default.default.boolean().optional()}).passthrough(),Un=m__default.default.object({sticker:de,shape:rt.optional(),caption:m__default.default.string().optional()}).passthrough(),Ln=m__default.default.object({document:de,caption:m__default.default.string().optional(),fileName:m__default.default.string().optional()}).passthrough(),zn=m__default.default.object({location:m__default.default.object({latitude:m__default.default.number(),longitude:m__default.default.number(),url:m__default.default.url().optional(),title:m__default.default.string().optional(),footer:m__default.default.string().optional()}).optional()}).passthrough(),qn=m__default.default.object({contacts:m__default.default.object({title:m__default.default.string().optional(),contacts:m__default.default.object({fullname:m__default.default.string(),phoneNumber:m__default.default.number(),organization:m__default.default.string().optional()}).array()})}).passthrough(),Vn=m__default.default.object({poll:m__default.default.object({name:m__default.default.string(),answers:m__default.default.string().array(),isMultiple:m__default.default.boolean().default(false).optional()})}),_t=m__default.default.object({replied:m__default.default.custom().optional(),isForwardedMany:m__default.default.boolean().optional(),isViewOnce:m__default.default.boolean().optional(),banner:m__default.default.custom().optional(),buttons:Ot.optional()});m__default.default.enum(["forward","button","edit","delete"]);var Gn=m__default.default.union([Wt,Wn,_n,jn,Un,Ln,zn,qn,Vn]),jt=m__default.default.string().or(m__default.default.intersection(Gn,_t.omit({buttons:true}))),Ut=m__default.default.intersection(Wt,_t.omit({banner:true}));c();var Ce=class{toNativeSimple(e){return e.map(({id:t,text:r})=>({name:"quick_reply",buttonParamsJson:JSON.stringify({display_text:r,id:t})}))}toNativeInteractive(e){let t={quick_reply:r=>({display_text:r.text,id:r.id}),cta_url:r=>({display_text:r.text,url:r.url,merchant_url:r.url}),cta_copy:r=>({display_text:r.text,id:r.id,copy_code:r.copy}),cta_call:r=>({display_text:r.text,phone_number:r.phoneNumber}),single_select:r=>({title:r.text,sections:r.section})};return e.map(r=>({name:r.type,buttonParamsJson:JSON.stringify(t[r.type](r))}))}build(e){let t=M(e).buttons,r=t?.data||[],n=t?.type=="simple"?this.toNativeSimple(r):this.toNativeInteractive(r);return {body:{text:M(e).text},footer:t.footer?{text:t.footer}:void 0,nativeFlowMessage:{buttons:n}}}async send(e,t,r){let i=a.get("socket"),n=i?.authState?.creds?.me?.id||i?.user?.id,o=this.build(t),p=tn.generateWAMessageFromContent(e,{interactiveMessage:o},{userJid:n,messageId:tn.generateMessageIDV2(n),...r});return await i.relayMessage(e,p.message,{messageId:p.key.id,...r,additionalNodes:[{tag:"biz",attrs:{},content:[{tag:"interactive",attrs:{type:"native_flow",v:"1"},content:[{tag:"native_flow",attrs:{v:"9",name:"mixed"}}]}]}]}),i.config?.emitOwnEvents&&!tn.isJidGroup(e)&&process.nextTick(()=>i.upsertMessage?.(p,"append")),p}};var Ie=class{constructor(e){this.client=e;}async signal(e,t,r,i){r!="delete"&&(r=="button"?t=le(Ut,t):t=le(jt,t));let n=a.get("socket"),o={},p={},l=E__default.default.isString(t),u=this.client.options?.fakeReply?.provider,v=this.client.options?.autoMentions,S=this.client.options?.autoPresence,b=E__default.default.has(t,"replied"),A=E__default.default.has(t,"banner"),D=E__default.default.has(t,"isViewOnce"),G=r=="button",J=E__default.default.has(t,"image"),x=E__default.default.has(t,"video"),B=E__default.default.has(t,"audio"),q=E__default.default.has(t,"sticker"),T=E__default.default.has(t,"document"),W=E__default.default.has(t,"location"),ie=E__default.default.has(t,"contacts"),oe=E__default.default.has(t,"poll"),Z=J||x||B||q||T,K=l?t:Je([t],["text","caption"]);if(S&&(B?await n.sendPresenceUpdate("recording",e):await n.sendPresenceUpdate("composing",e)),v&&(o={...o,mentions:qe(K),contextInfo:{mentionedJid:qe(K)}}),b&&(p.quoted=M(t).replied,u&&(p.quoted.key.remoteJid=nt[u],p.quoted.key.participant=nt[u])),A&&(o={...o,contextInfo:{externalAdReply:M(t).banner}},o.contextInfo.externalAdReply.mediaType=1),D&&(o={...o,viewOnce:M(t)?.isViewOnce}),K&&(o={...o,text:K,caption:K},Z&&delete M(o).text),Z){let C=Je([t],["image","video","audio","sticker","document"]);if(J&&(o={...o,image:await $.image(C).toJpeg(),jpegThumbnail:await $.thumbnail(C).get()}),x){let _=M(t)?.ptv;o={...o,video:await $.video(C).toMp4(),ptv:_,jpegThumbnail:await $.thumbnail(C).get()};}if(B){let _=M(t)?.ptt;o={...o,audio:await $.audio(C).toOpus(),ptt:_,mimetype:_?"audio/ogg; codecs=opus":"audio/mpeg"};}if(q){let _=M(t)?.shape;o={...o,sticker:await $.sticker(C,{...this.client.options?.sticker,shape:_}).create()};}if(T){let _=await $.document(C).create();o={...o,fileName:M(t).fileName,..._};}}if(W){let C=M(t).location;o={...o,location:{degreesLatitude:C.latitude,degreesLongitude:C.longitude,url:C.url,address:C.footer,name:C.title}};}if(ie){let C=M(t)?.contacts,_=C?.contacts.map(se=>{let qt=["BEGIN:VCARD","VERSION:3.0",`FN:${se.fullname}`,`ORG:${se.organization||""}`,`TEL;type=CELL;type=VOICE;waid=${se.phoneNumber}:${se.phoneNumber}`,"END:VCARD"].join(`
5
- `);return {displayName:se.fullname,vcard:qt}});o={...o,contacts:{displayName:C?.title,contacts:_}};}if(oe){let C=M(t)?.poll;o={...o,poll:{name:C.name,values:C.answers,selectableCount:C.isMultiple?1:0,toAnnouncementGroup:true}};}return r=="forward"&&(o={...o,contextInfo:{...M(o).contextInfo,isForwarded:true,forwardingScore:M(t).isForwardedMany?9999:1}}),r=="edit"&&(o={...o,edit:i?.key},await n.sendPresenceUpdate("paused",e)),r=="delete"&&(o={...o,delete:i?.key},await n.sendPresenceUpdate("paused",e)),G?await new Ce().send(e,t,p):await n.sendMessage(e,M(o),p)}async send(e,t){return await this.signal(e,t)}async forward(e,t){return await this.signal(e,t,"forward")}async button(e,t){return await this.signal(e,t,"button")}async edit(e,t){return await this.signal(e.key.remoteJid,t,"edit",e)}async delete(e){return E__default.default.isArray(e)?Promise.all(e.map(t=>this.signal(t.key.remoteJid,{},"delete",t))):await this.signal(e.key.remoteJid,{},"delete",e)}async presence(e,t){let r=a.get("socket"),i={typing:"composing",recording:"recording",online:"available",offline:"unavailable",paused:"paused"};return await r.sendPresenceUpdate(i[t],e)}async reaction(e,t){return await a.get("socket").sendMessage(e.key.remoteJid,{react:{text:t,key:e?.key}})}async memberLabel(e,t){return await a.get("socket").relayMessage(e,{protocolMessage:{type:30,memberLabel:{label:t,labelTimestamp:Date.now()}}},{})}};c();var it=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").communityCreate(e,t)}async createGroup(e,t,r){return await a.get("socket").communityCreateGroup(e,t,r)}async leave(e){return await a.get("socket").communityLeave(e)}async metadata(e){return await a.get("socket").communityMetadata(e)}async update(e,t,r){let i=a.get("socket");switch(t){case "subject":return await i.communityUpdateSubject(e,r);case "description":return await i.communityUpdateDescription(e,r)}}async group(e,t,r){let i=a.get("socket");switch(t){case "link":if(!r)throw "Group JID is required for linking";return await i.communityLinkGroup(e,r);case "unlink":if(!r)throw "Group JID is required for unlinking";return await i.communityUnlinkGroup(e,r);case "linked":return await i.communityFetchLinkedGroups(e)}}async participants(e,t,r,i){let n=a.get("socket");switch(t){case "list":return await n.communityRequestParticipantsList(e);case "request-update":return await n.communityRequestParticipantsUpdate(e,i,M(r));case "update":if(!r||!i)throw "Action and participants are required for update";return await n.communityParticipantsUpdate(e,i,M(r));case "all":return await n.communityFetchAllParticipating()}}async invite(e,t,...r){let i=a.get("socket");switch(t){case "code":return await i.communityInviteCode(e);case "revoke":return await i.communityRevokeInvite(e);case "accept":return await i.communityAcceptInvite(e);case "info":return await i.communityGetInviteInfo(e);case "revokeV4":return await i.communityRevokeInviteV4(e,r[0]);case "acceptV4":return await i.communityAcceptInviteV4(e,r[0])}}async settings(e,t,r){let i=a.get("socket");switch(t){case "ephemeral":return await i.communityToggleEphemeral(e,r);case "update":return await i.communitySettingUpdate(e,r);case "memberAdd":return await i.communityMemberAddMode(e,r);case "approval":return await i.communityJoinApprovalMode(e,r)}}},Ae=class{constructor(e){this.mlient=e;this.community=new it(e);}community};c();var ot=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").groupCreate(e,t)}async participant(e,t,r){return await a.get("socket").groupParticipantsUpdate(e,t,r)}async profile(e,t,r){let i=a.get("socket"),n=Buffer.isBuffer(t);switch(r){case "subject":if(!n)return await i.groupUpdateSubject(e,t);case "description":if(!n)return await i.groupUpdateDescription(e,t);case "picture":return await i.updateProfilePicture(e,await $.toBuffer(t))}}async setting(e,t){let r=a.get("socket");switch(t){case "open":return await r.groupSettingUpdate(e,"not_announcement");case "close":return await r.groupSettingUpdate(e,"announcement");case "locked":return await r.groupSettingUpdate(e,t);case "unlocked":return await r.groupSettingUpdate(e,t);case "all_member_add":return await r.groupMemberAddMode(e,t);case "admin_add":return await r.groupMemberAddMode(e,t)}}async leave(e){return await a.get("socket").groupLeave(e)}async inviteCode(e,t){let r=a.get("socket");switch(t){case "code":return await r.groupInviteCode(e);case "revoke":return await r.groupRevokeInvite(e);case "accept":return await r.groupAcceptInvite(e);case "info":return await r.groupGetInviteInfo(e)}}async metadata(e){let t=a.get("socket"),r=O.get(e);if(r)return r;let i=await t.groupMetadata(e);return i&&O.set(e,i),i}async requestJoin(e,t,r){let i=a.get("socket");switch(r){case "approve":return await i.groupRequestParticipantsUpdate(e,t,r);case "reject":return await i.groupRequestParticipantsUpdate(e,t,r)}}async requestJoinList(e){return await a.get("socket").groupRequestParticipantsList(e)}async fetchAllGroups(){return await a.get("socket").groupFetchAllParticipating()}async ephemeral(e,t){let r=a.get("socket"),i={off:0,"24h":86400,"7d":604800,"90d":7776e3};return await r.groupToggleEphemeral(e,i[t])}},Pe=class{constructor(e){this.glient=e;this.group=new ot(e);}group};c();var st=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").newsletterCreate(e,t)}async action(e,t){let r=a.get("socket");switch(t){case "follow":return await r.newsletterFollow(e);case "unfollow":return await r.newsletterUnfollow(e);case "mute":return await r.newsletterMute(e);case "unmute":return await r.newsletterUnmute(e);}}async update(e,t,r){let i=a.get("socket"),n=Buffer.isBuffer(t);switch(r){case "name":if(!n)return await i.newsletterUpdateName(e,t);case "description":if(!n)return await i.newsletterUpdateDescription(e,t);case "picture":return await i.newsletterUpdatePicture(e,await $.toBuffer(t))}}async metadata(e,t){return await a.get("socket").newsletterMetadata(t,e)}async subscribers(e){return await a.get("socket").newsletterSubscribers(e)}async reaction(e,t,r){return await a.get("socket").newsletterReactMessage(e,t,r)}async fetchMessages(e,t,r,i){let n=a.get("socket"),o=r.getTime()/1e3,p=i.getTime()/1e3;return await n.newsletterFetchMessages(e,t,o,p)}async adminCount(e){return await a.get("socket").newsletterAdminCount(e)}async changeOwner(e,t){return await a.get("socket").newsletterChangeOwner(e,t)}async demote(e,t){return await a.get("socket").newsletterDemote(e,t)}async delete(e){return await a.get("socket").newsletterDelete(e)}async removePicture(e){return await a.get("socket").newsletterRemovePicture(e)}},Ee=class{constructor(e){this.nlient=e;this.newsletter=new st(e);}newsletter};c();var at=class{constructor(e){this.client=e;}async block(e){return await a.get("socket").updateBlockStatus(e,"block")}async unblock(e){return await a.get("socket").updateBlockStatus(e,"unblock")}async lastSeen(e){return await a.get("socket").updateLastSeenPrivacy(e)}async online(e){return await a.get("socket").updateOnlinePrivacy(e)}async picture(e){return await a.get("socket").updateProfilePicturePrivacy(e)}async status(e){return await a.get("socket").updateStatusPrivacy(e)}async readReceipt(e){return await a.get("socket").updateReadReceiptsPrivacy(e)}async groupsAdd(e){return await a.get("socket").updateGroupsAddPrivacy(e)}async ephemeral(e){let t=a.get("socket"),r={off:0,"24h":86400,"7d":604800,"90d":7776e3};return await t.updateDefaultDisappearingMode(r[e])}async blocklist(){return await a.get("socket").fetchBlocklist()}async getSettings(){return await a.get("socket").fetchPrivacySettings(true)}},Re=class{constructor(e){this.plient=e;this.privacy=new at(e);}privacy};c();c();var da=m__default.default.object({status:m__default.default.enum(["connecting","open","close","reload","syncing"]),authType:m__default.default.enum(["pairing","qr"]),authTimeout:m__default.default.number().optional(),syncProgress:m__default.default.number().optional(),syncCompleted:m__default.default.boolean().default(false).optional(),qr:m__default.default.string().optional(),code:m__default.default.string().optional()});c();var Zn=m__default.default.enum(["unknown","android","ios","desktop","web"]),Yn=m__default.default.enum(["text","album","image","contact","location","document","audio","video","protocol","contacts","highlyStructured","sendPayment","requestPayment","groupStatusMention","statusMention","declinePaymentRequest","cancelPaymentRequest","template","sticker","groupInvite","product","deviceSent","lists","viewOnce","order","ephemeral","invoice","buttons","paymentInvite","interactive","reaction","sticker","interactiveResponse","pollCreation","pollUpdate","keepInChat","document","requestPhoneNumber","viewOnce","reaction","text","viewOnce","pollCreation","scheduledCallCreation","groupMentioned","pinInChat","pollCreation","scheduledCallEdit","ptv","botInvoke","callLog","encComment","bcall","lottieSticker","event","comment","placeholder","encEventUpdate"]),Lt=m__default.default.object({channelId:m__default.default.string(),uniqueId:m__default.default.string(),chatId:m__default.default.string(),chatType:Yn,receiverLid:m__default.default.string(),receiverId:m__default.default.string(),receiverName:m__default.default.string(),roomId:m__default.default.string(),roomName:m__default.default.string(),senderLid:m__default.default.string(),senderId:m__default.default.string(),senderName:m__default.default.string(),senderDevice:Zn,timestamp:m__default.default.number(),text:m__default.default.string().nullable(),mentions:m__default.default.string().array(),links:m__default.default.string().array(),isBot:m__default.default.boolean(),isFromMe:m__default.default.boolean(),isPrefix:m__default.default.boolean(),isSpam:m__default.default.boolean(),isTagMe:m__default.default.boolean(),isStatusMention:m__default.default.boolean(),isGroupStatusMention:m__default.default.boolean(),isHideTags:m__default.default.boolean(),isGroup:m__default.default.boolean(),isNewsletter:m__default.default.boolean(),isQuestion:m__default.default.boolean(),isStory:m__default.default.boolean(),isViewOnce:m__default.default.boolean(),isEdited:m__default.default.boolean(),isDeleted:m__default.default.boolean(),isPinned:m__default.default.boolean(),isUnPinned:m__default.default.boolean(),isBroadcast:m__default.default.boolean(),isEphemeral:m__default.default.boolean(),isForwarded:m__default.default.boolean(),citation:m__default.default.record(m__default.default.string(),m__default.default.function({output:m__default.default.promise(m__default.default.boolean())})).nullable(),media:m__default.default.object({buffer:m__default.default.function({output:m__default.default.promise(m__default.default.instanceof(Buffer))}),stream:m__default.default.function({output:m__default.default.promise(m__default.default.instanceof(Qn__default.default))})}).loose().nullable(),injection:m__default.default.record(m__default.default.string(),m__default.default.any()).default({}),message:m__default.default.function({input:[],output:m__default.default.custom()})}),wa=Lt.extend({replied:Lt.nullable()});c();var xa=m__default.default.object({callId:m__default.default.string(),callerId:m__default.default.string(),roomId:m__default.default.string(),roomName:m__default.default.string(),date:m__default.default.date(),offline:m__default.default.boolean(),status:m__default.default.enum(["accept","offer","reject","ringing","terminate","timeout"]),isVideo:m__default.default.boolean(),isGroup:m__default.default.boolean()});c();var Fe=class{constructor(e){this.client=e;this.initialize();}logsInitialized=false;logsDisplayed=false;isReady=false;getRoomColor(e){return e?.isNewsletter?"blue":e?.isGroup?e?.isGroup?"lime":"dimgray":"orange"}initialize(){if(!this.client.options.showLogs||this.logsInitialized)return;this.logsInitialized=true;let e=async({status:t})=>{t==="open"&&(this.isReady=true,this.logsDisplayed||setTimeout(()=>{this.displayIndicator();},500));};a.events.on("connection",e);}displayIndicator(){this.logsDisplayed||(this.logsDisplayed=true,console.log(),a.spinner.info("Logs Indicator:"),console.log(y(" \u2022","orange")+" Private Chat"),console.log(y(" \u2022","lime")+" Group Chat"),console.log(y(" \u2022","blue")+" Newsletter Chat"),console.log());}message(e){if(!this.isReady)return;let t=M(this.getRoomColor(e)),r=e?.text?.toLowerCase()?.match("zaileys"),i=this.client.options?.fancyLogs,n=y(`[${new Date(e?.timestamp).toTimeString().split(" ")[0]}]`,"dimgray"),o=y(`${e?.roomName}`,t),p=e?.text?.slice(0,300)||"",l=p?.length>=300?"...":"";if(i){let u=y("\u2501".repeat(50),"dimgray"),v=y("\u2192","dimgray"),S=y("\u2022",t),b=`
1
+ 'use strict';var ye=require('fluent-ffmpeg'),Le=require('fs/promises'),os=require('os'),ee=require('path'),tn=require('baileys'),jetdb=require('jetdb'),nanospinner=require('nanospinner'),ae=require('node-cache'),Ht=require('pino'),Zn=require('stream'),asyncMutex=require('async-mutex'),fileType=require('file-type'),jimp=require('jimp'),mn=require('node-webpmux'),E=require('lodash'),St=require('unorm'),zodValidationError=require('zod-validation-error'),At=require('gradient-string'),wn=require('figlet'),bn=require('qrcode-terminal'),rateLimiterFlexible=require('rate-limiter-flexible'),m=require('zod'),Ne=require('fs'),url=require('url');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var ye__default=/*#__PURE__*/_interopDefault(ye);var Le__default=/*#__PURE__*/_interopDefault(Le);var ee__namespace=/*#__PURE__*/_interopNamespace(ee);var tn__default=/*#__PURE__*/_interopDefault(tn);var ae__default=/*#__PURE__*/_interopDefault(ae);var Ht__default=/*#__PURE__*/_interopDefault(Ht);var Zn__default=/*#__PURE__*/_interopDefault(Zn);var mn__default=/*#__PURE__*/_interopDefault(mn);var E__default=/*#__PURE__*/_interopDefault(E);var St__default=/*#__PURE__*/_interopDefault(St);var At__default=/*#__PURE__*/_interopDefault(At);var wn__default=/*#__PURE__*/_interopDefault(wn);var bn__default=/*#__PURE__*/_interopDefault(bn);var m__default=/*#__PURE__*/_interopDefault(m);var Ne__namespace=/*#__PURE__*/_interopNamespace(Ne);var Vt=Object.defineProperty;var ct=(s,e)=>()=>(s&&(e=s(s=0)),e);var Gt=(s,e)=>{for(var t in e)Vt(s,t,{get:e[t],enumerable:true});};var c=ct(()=>{});var kt={};Gt(kt,{BufferConverter:()=>I,FFMPEG_CONSTANTS:()=>k,FFmpegProcessor:()=>j,FileManager:()=>h,MimeValidator:()=>R,initializeFFmpeg:()=>ze});var k,ze,h,I,R,j,V=ct(()=>{c();k={OPUS:{CODEC:"libopus",CHANNELS:1,FREQUENCY:48e3,BITRATE:"48k",FORMAT:"ogg"},THUMBNAIL:{SIZE:100,QUALITY:50,TIMESTAMP:"10%"},STICKER:{SIZE:512,MAX_DURATION:10,FPS:15,DEFAULT_QUALITY:80,COMPRESSION_LEVEL:6},MIME:{AUDIO:"audio/",VIDEO:"video/",IMAGE:"image/",GIF:"image/gif",MP4:"video/mp4"}},ze=async(s=false)=>{if(!s)try{let e=(await import('@ffmpeg-installer/ffmpeg')).default,t=(await import('@ffprobe-installer/ffprobe')).default;ye__default.default.setFfmpegPath(e.path),ye__default.default.setFfprobePath(t.path);}catch{}},h=class{static generateUniqueId(){return `${Date.now()}_${Math.random().toString(36).slice(2,11)}`}static createTempPath(e,t){return ee__namespace.default.join(os.tmpdir(),`${e}_${this.generateUniqueId()}.${t}`)}static async cleanup(e){await Promise.allSettled(e.map(t=>Le__default.default.unlink(t)));}static async safeReadFile(e){try{return await Le__default.default.readFile(e)}catch{throw new Error(`Failed to read file: ${e}`)}}static async safeWriteFile(e,t){try{await Le__default.default.writeFile(e,t);}catch{throw new Error(`Failed to write file: ${e}`)}}},I=class{static async toBuffer(e){if(Buffer.isBuffer(e))return e;if(e instanceof ArrayBuffer)return Buffer.from(e);if(typeof e=="string")return this.fromString(e);throw new Error("Invalid input type: expected string, Buffer, or ArrayBuffer")}static async fromString(e){return e.startsWith("http://")||e.startsWith("https://")?this.fromUrl(e):Buffer.from(e,"base64")}static async fromUrl(e){try{let t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}: ${t.statusText}`);let n=await t.arrayBuffer();return Buffer.from(n)}catch(t){throw new Error(`Failed to fetch URL: ${t.message}`)}}},R=class{static validate(e,t){if(!e?.mime?.startsWith(t))throw new Error(`Invalid file type: expected ${t}*, got ${e?.mime||"unknown"}`)}static isMedia(e){return e.startsWith(k.MIME.IMAGE)||e.startsWith(k.MIME.VIDEO)}static isAnimated(e){return e===k.MIME.GIF||e.startsWith(k.MIME.VIDEO)}},j=class{static async process(e){return new Promise((t,n)=>{let i=ye__default.default(e.input).output(e.output);for(let r=0;r<e.options.length;r++){let o=e.options[r];o.startsWith("-")&&r+1<e.options.length&&!e.options[r+1].startsWith("-")?(i.outputOptions(o,e.options[r+1]),r++):i.outputOptions(o);}i.on("end",async()=>{try{await e.onEnd(),t();}catch(r){n(r);}}).on("error",async r=>{try{await e.onError(r);}finally{n(r);}}).run();})}static async getDuration(e){return new Promise((t,n)=>{ye__default.default.ffprobe(e,(i,r)=>{if(i)return n(i);t(r.format.duration||0);});})}};});c();c();c();c();var pt=s=>jetdb.createJetDB(`${s}/auth/creds.json`,{BufferJSON:tn.BufferJSON,cacheSize:100,flushMode:"sync",compression:"none",enableIndexing:false}),fe=s=>jetdb.createJetDB(`${s}/auth/keys.json`,{BufferJSON:tn.BufferJSON,size:1024*1024,cacheSize:2e3,flushMode:"sync",compression:"deflate",enableIndexing:false,hotThreshold:5}),lt=(s,e)=>jetdb.createJetDB(`.session/${s}/store/${e}.json`,{BufferJSON:tn.BufferJSON,cacheSize:2e4,debounceMs:1e3,flushMode:"debounce",compression:"deflate",serialization:"json",enableIndexing:true,hotThreshold:2,size:5*1024*1024});c();c();var ut=new ae__default.default({stdTTL:600,checkperiod:120,useClones:false}),$=new ae__default.default({stdTTL:300,useClones:false}),mt=new ae__default.default({stdTTL:300}),dt=new ae__default.default({stdTTL:600,checkperiod:120,useClones:false,deleteOnExpire:true,maxKeys:100}),ft=new ae__default.default;c();var te=class{classInjection(e,t){let n=t.length;return new Proxy(e,{get(i,r,o){if(r in i){let p=Reflect.get(i,r,o);return typeof p=="function"?p.bind(i):p}for(let p=0;p<n;p++){let l=t[p];if(r in l){let u=Reflect.get(l,r,o);return typeof u=="function"?u.bind(l):u}}},set(i,r,o,p){if(r in i)return Reflect.set(i,r,o,p);for(let l=0;l<n;l++){let u=t[l];if(r in u)return Reflect.set(u,r,o,p)}return Reflect.set(i,r,o,p)},has(i,r){if(r in e)return true;for(let o=0;o<n;o++)if(r in t[o])return true;return false},ownKeys(){let i=[];for(let r of Reflect.ownKeys(e))i.push(r);for(let r=0;r<n;r++)for(let o of Reflect.ownKeys(t[r]))i.includes(o)||i.push(o);return i},getOwnPropertyDescriptor(i,r){let o=Object.getOwnPropertyDescriptor(e,r);if(o)return o;for(let p=0;p<n;p++)if(o=Object.getOwnPropertyDescriptor(t[p],r),o)return o}})}};var je=class extends ae__default.default{constructor(){return super({useClones:false}),new te().classInjection(this,[ut])}spinner=nanospinner.createSpinner("",{color:"green"});logger=Ht__default.default({level:"silent",enabled:false});events=new Zn.EventEmitter},a=new je;var gt=async s=>{a.spinner.start(" Initializing auth state...");let e=pt(s),t=fe(s),n=await e.get("creds")||tn.initAuthCreds();return a.spinner.success(" Generate auth successfully"),{state:{creds:n,keys:{get:async(i,r)=>{let o={};return await Promise.all(r.map(async p=>{let l=`${i}:${p}`,u=await t.get(l);i==="app-state-sync-key"&&u&&(u=tn.proto.Message.AppStateSyncKeyData.fromObject(u)),o[p]=u;})),o},set:async i=>{let r=[],o=[];for(let p in i)for(let l in i[p]){let u=i[p][l],v=`${p}:${l}`;u?r.push({key:v,value:u}):o.push(v);}r.length&&await t.batchSet(r),o.length&&await t.batchDelete(o),await t.flush();}}},saveCreds:async()=>{await e.set("creds",n);}}};c();c();var ht=(s,e)=>({logger:s.health.logger,printQRInTerminal:false,enableRecentMessageCache:true,emitOwnEvents:true,keepAliveIntervalMs:3e4,browser:tn.Browsers.ubuntu("Chrome"),markOnlineOnConnect:s.options.autoOnline,syncFullHistory:s.options.syncFullHistory,msgRetryCounterCache:ft,mediaCache:mt,auth:{creds:e.creds,keys:tn.makeCacheableSignalKeyStore(e.keys,a.logger)},cachedGroupMetadata:async t=>$.get(t),shouldIgnoreJid:()=>false,shouldSyncHistoryMessage:()=>s.options.syncFullHistory,patchMessageBeforeSending:t=>t,getMessage:async t=>{if(!t?.remoteJid)return tn.proto.Message.fromObject({});let n=await s.db("messages").getByIndex("messages","key.id",t.id);return tn.proto.Message.fromObject(n[0])}});var wt=async s=>{let e=`.session/${s.options.session}`;console.info=()=>{},console.warn=()=>{};let{state:t,saveCreds:n}=await gt(e),i=ht(s,t),r=tn__default.default(i);r.ev.on("creds.update",n),a.set("socket",r);};c();c();c();var ge=class{constructor(e){this.client=e;}interval=null;start(){let e=this.client.options.autoCleanUp;e?.enabled&&(this.interval=setInterval(()=>{this.run();},e.intervalMs),this.run());}stop(){this.interval&&(clearInterval(this.interval),this.interval=null);}async run(){let e=this.client.options.autoCleanUp;if(!e?.enabled)return;let t=Date.now()-e.maxAgeMs;for(let n of e.scopes)try{let i=this.client.db(n),r=await i.query(n).where("timestamp","<",t).get();if(r.length>0){let o=r.map(p=>p.key?.id||p.id);await i.batchDelete(o),a.spinner.info(` [CleanUpManager] Cleaned up ${r.length} items from ${n}`);}}catch{}}};c();var Ue=class{store=dt;mutex=new asyncMutex.Mutex;async inject(e,t){let n=await this.mutex.acquire();try{this.store.set(e,t);}finally{n();}}async get(e){let t=await this.mutex.acquire();try{return this.store.get(e)}finally{t();}}getSync(e){return this.store.get(e)}getAll(){let e=this.store.keys();return this.store.mget(e)}async remove(e){let t=await this.mutex.acquire();try{return this.store.del(e)>0}finally{t();}}async clear(){let e=await this.mutex.acquire();try{this.store.flushAll();}finally{e();}}has(e){return this.store.has(e)}get size(){return this.store.getStats().keys}keys(){return this.store.keys()}},Y=new Ue;c();V();c();V();var ne=class{static async toOpus(e){return this.convert(e,"opus")}static async toMp3(e){return this.convert(e,"mp3")}static async convert(e,t="opus"){let n=await I.toBuffer(e),i=await fileType.fileTypeFromBuffer(n);R.validate(i,k.MIME.AUDIO);let r=h.createTempPath("audio_in","wav"),o=t==="opus"?"ogg":"mp3",p=h.createTempPath("audio_out",o);await h.safeWriteFile(r,n);let l;try{let u=t==="opus"?["-vn","-c:a","libopus","-b:a","48k","-ac","1","-avoid_negative_ts","make_zero","-map_metadata","-1","-f","opus"]:["-vn","-c:a","libmp3lame","-b:a","128k","-ac","2","-avoid_negative_ts","make_zero","-map_metadata","-1","-f","mp3"];return await j.process({input:r,output:p,options:u,onEnd:async()=>{l=await h.safeReadFile(p);},onError:async()=>{await h.cleanup([r,p]);}}),await h.cleanup([r,p]),l}catch(u){throw await h.cleanup([r,p]),new Error(`${t.toUpperCase()} conversion failed: ${u.message}`)}}};c();V();var U=class{static async toMp4(e){let t=await I.toBuffer(e),n=await fileType.fileTypeFromBuffer(t);R.validate(n,k.MIME.VIDEO);let i=h.createTempPath("video_in","mp4"),r=h.createTempPath("video_out","mp4");await h.safeWriteFile(i,t);let o;try{let p=["-c:v","libx264","-preset","ultrafast","-crf","28","-c:a","aac","-b:a","128k","-movflags","+faststart","-pix_fmt","yuv420p","-f","mp4"];return await j.process({input:i,output:r,options:p,onEnd:async()=>{o=await h.safeReadFile(r);},onError:async()=>{await h.cleanup([i,r]);}}),await h.cleanup([i,r]),o}catch(p){throw await h.cleanup([i,r]),new Error(`Video re-encoding failed: ${p.message}`)}}static async thumbnail(e){let t=await I.toBuffer(e),n=await fileType.fileTypeFromBuffer(t);R.validate(n,k.MIME.VIDEO);let i=h.createTempPath("video","mp4"),r=h.createTempPath("thumb","jpg");await h.safeWriteFile(i,t);let o;try{return await new Promise((p,l)=>{ye__default.default(i).screenshots({timestamps:[k.THUMBNAIL.TIMESTAMP],filename:ee__namespace.default.basename(r),folder:ee__namespace.default.dirname(r),size:`${k.THUMBNAIL.SIZE}x${k.THUMBNAIL.SIZE}`}).on("end",async()=>{try{o=(await h.safeReadFile(r)).toString("base64"),p();}catch(u){l(u);}}).on("error",l);}),await h.cleanup([i,r]),o}catch(p){throw await h.cleanup([i,r]),new Error(`Thumbnail generation failed: ${p.message}`)}}static async duration(e){return j.getDuration(e)}};c();V();var N=class{static async thumbnail(e){let t=await fileType.fileTypeFromBuffer(e),n=k.THUMBNAIL.SIZE,i=await jimp.Jimp.read(e);return i.cover({w:n,h:n}),t?.mime===k.MIME.GIF&&i.resize({w:n,h:n}),(await i.getBuffer("image/jpeg",{quality:k.THUMBNAIL.QUALITY})).toString("base64")}static async resize(e,t,n){let i=await jimp.Jimp.read(e);return i.cover({w:t,h:n}),await i.getBuffer("image/png")}static async toJpeg(e){let t=await I.toBuffer(e),n=await fileType.fileTypeFromBuffer(t);if(!n||!n.mime.startsWith(k.MIME.IMAGE))throw new Error("Invalid image type");return n.mime==="image/webp"?await(await jimp.Jimp.read(t)).getBuffer("image/jpeg"):t}static async resizeForSticker(e,t,n="default"){let i=k.STICKER.SIZE,r=await jimp.Jimp.read(e);if(r.contain({w:i,h:i}),n!=="default"){let S=new jimp.Jimp({width:i,height:i,color:0});for(let b=0;b<i;b++)for(let A=0;A<i;A++){let D=false,G=i/2,J=i/2;switch(n){case "circle":{let x=A-G,B=b-J;D=x*x+B*B<=G*G;break}case "rounded":{let x=i/10,B=A>=x&&A<i-x&&b>=0&&b<i,q=A>=0&&A<i&&b>=x&&b<i-x,T=false,W=[[x,x],[i-x,x],[x,i-x],[i-x,i-x]];for(let[ie,oe]of W){let Z=A-ie,K=b-oe;if(Z*Z+K*K<=x*x){T=true;break}}D=B||q||T;break}case "oval":{let x=i/2,B=i/3,q=(A-G)/x,T=(b-J)/B;D=q*q+T*T<=1;break}}D&&S.setPixelColor(4294967295,A,b);}r.mask(S);}let o=h.createTempPath("sticker_img","png"),p=h.createTempPath("sticker_out","webp"),l=await r.getBuffer("image/png");await h.safeWriteFile(o,l);let{FFmpegProcessor:u}=await Promise.resolve().then(()=>(V(),kt)),v;try{return await u.process({input:o,output:p,options:["-vf",`scale=${i}:${i}`,"-quality",String(t),"-f","webp"],onEnd:async()=>{v=await h.safeReadFile(p);},onError:async()=>{await h.cleanup([o,p]);}}),await h.cleanup([o,p]),v}catch(S){throw await h.cleanup([o,p]),new Error(`Sticker resize failed: ${S.message}`)}}};c();c();var X=s=>{let e;Array.isArray(s)?e=s.join("|"):typeof s=="string"?e=s:e=String(s);let t=2166136261,n=e.length;for(let i=0;i<n;i++)t^=e.charCodeAt(i),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return "Z4D3FC"+(t>>>0).toString(16).padStart(8,"0").toUpperCase()},vt=(s="")=>{if(!s)return [];let e=new Set;for(let t of s.matchAll(/@(\d+)/g))e.add(t[1]);return E__default.default.toArray(e)},qe=(s="")=>{if(!s)return [];let e=new Set;for(let t of s.matchAll(/@(\d+)/g))t[1].length<=15&&e.add(t[1]);return E__default.default.flatMap([...e],t=>[`${t}@s.whatsapp.net`,`${t}@g.us`,`${t}@lid`])},Mi=s=>E__default.default.isEmpty(s)?[]:E__default.default.map([...s],e=>`${e}@s.whatsapp.net`),Tt=s=>E__default.default.omit(s,["url","contextInfo","fileSha256","fileEncSha256","mediaKey","directPath","waveform","thumbnail","jpegThumbnail","thumbnailEncSha256","thumbnailSha256","thumbnailDirectPath","firstFrameSidecar","streamingSidecar","scansSidecar","callKey","message","key","midQualityFileSha256","historySyncNotification","appStateSyncKeyShare","appStateSyncKeyRequest","initialSecurityNotificationSettingSync","appStateFatalExceptionNotification","disappearingMode","peerDataOperationRequestMessage","peerDataOperationRequestResponseMessage","botFeedbackMessage"]),he=s=>{if(!s)return {leaf:void 0,chain:[]};let e=tn.extractMessageContent(s)||s,t=[];for(;e&&typeof e=="object";){let n=tn.getContentType(e);if(!n)break;t.push(n);let i=e[n];if(!i||typeof i!="object"){e=i;break}e=i;}return {leaf:e,chain:t}},L=s=>Number(s?.split("@")[0]);c();var M=s=>s,Ct=async()=>{try{return (await(await fetch("https://registry.npmjs.org/zaileys")).json())["dist-tags"].latest}catch(s){throw s}},It=async s=>{try{let e=`.session/${s}/auth/creds.json`;await Le__default.default.unlink(e);}catch(e){throw a.spinner.error(`Failed to remove auth creds for session "${s}"!`),e}},H=(s="")=>{if(!s?.length)return null;let e=s.replace(/\u202E(.*?)(\u202C|$)/gu,(t,n)=>[...n].reverse().join("")).replace(/\u202D(.*?)(\u202C|$)/gu,(t,n)=>[...n].reverse().join("")).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/gu,"").replace(/[\u200B\u200C\u200D\uFEFF]/gu,"").replace(/[\u00AD\u034F\u115F\u1160\u17B4\u17B5\u180B-\u180E]/gu,"").replace(/[\u2060-\u2064\u206A-\u206F]/gu,"").replace(/[\u2800\uFFFC\uFFFD]/gu,"").replace(/[\uFE00-\uFE0F]/gu,"").split("").map(t=>St__default.default.nfkd(t)).join("").replace(/[\u0300-\u036F]/gu,"").replace(/[\u1AB0-\u1AFF]/gu,"").replace(/[\u1DC0-\u1DFF]/gu,"").replace(/[\u20D0-\u20FF]/gu,"").replace(/[\uFE20-\uFE2F]/gu,"").replace(/[\p{Cc}]/gu,"").replace(/[\p{Cf}]/gu,"").replace(/[\p{Co}]/gu,"").replace(/[\p{Cn}]/gu,"").replace(/[\p{Cs}]/gu,"").replace(/[\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/gu," ").replace(/[\u2028\u2029]/gu," ").replace(/[\t\r\n\f\v]/g," ").split("").map(t=>St__default.default.nfkc(t)).join("").normalize("NFC").replace(/\s+/g," ").trim();return e.length?e:null};V();var we=class{static async create(e,t){try{let n=await I.toBuffer(e),i=await fileType.fileTypeFromBuffer(n);if(!i)throw new Error("Unable to detect file type");let r=t?.quality||k.STICKER.DEFAULT_QUALITY,o=R.isAnimated(i.mime),p=t?.shape||"default",l=o?await this.processAnimated(n,i.mime,r):await N.resizeForSticker(n,r,p),u=this.createExifMetadata(t),v=new mn__default.default.Image;await v.load(l),v.exif=u;let S=await v.save(null);return Buffer.isBuffer(S)?S:Buffer.from(S)}catch(n){throw new Error(`Sticker creation failed: ${n.message||n}`)}}static createExifMetadata(e){let t={"sticker-pack-id":X(Date.now().toString()),"sticker-pack-name":e?.packageName||"Zaileys Library","sticker-pack-publisher":e?.authorName||"https://github.com/zeative/zaileys",emojis:["\u{1F913}"],"android-app-store-link":"https://play.google.com/store/apps/details?id=com.marsvard.stickermakerforwhatsapp","ios-app-store-link":"https://itunes.apple.com/app/sticker-maker-studio/id1443326857"},n=Buffer.from([73,73,42,0,8,0,0,0,1,0,65,87,7,0,0,0,0,0,22,0,0,0]),i=Buffer.from(JSON.stringify(t),"utf8"),r=Buffer.concat([n,i]);return r.writeUIntLE(i.length,14,4),r}static async processAnimated(e,t,n){let i=this.getExtension(t),r=h.createTempPath("sticker_in",i),o=h.createTempPath("sticker_out","webp");await h.safeWriteFile(r,e);let p=k.STICKER.MAX_DURATION;try{let A=await U.duration(r);p=M(Math.min(A,k.STICKER.MAX_DURATION));}catch{console.warn("Using default duration:",k.STICKER.MAX_DURATION);}let l=k.STICKER.SIZE,u=k.STICKER.FPS,v=`scale=${l}:${l}:force_original_aspect_ratio=increase,crop=${l}:${l},fps=${u},format=rgba`,S=Math.max(1,Math.min(100,100-n)),b;try{return await j.process({input:r,output:o,options:["-vcodec libwebp",`-vf ${v}`,`-q:v ${S}`,"-loop 0","-preset default","-an","-vsync 0",`-t ${p}`,`-compression_level ${k.STICKER.COMPRESSION_LEVEL}`],onEnd:async()=>{b=await h.safeReadFile(o);},onError:async()=>{await h.cleanup([r,o]);}}),await h.cleanup([r,o]),b}catch(A){throw await h.cleanup([r,o]),new Error(`Animated sticker processing failed: ${A.message}`)}}static getExtension(e){return e===k.MIME.GIF?"gif":e.startsWith(k.MIME.VIDEO)?"mp4":"tmp"}};c();V();V();var ke=class{static async create(e){try{let t=await I.toBuffer(e),n=await fileType.fileTypeFromBuffer(t);if(!n)throw new Error("Unable to detect file type");let i;return n.mime.startsWith(k.MIME.VIDEO)?i=await U.thumbnail(t):R.isMedia(n.mime)?i=await N.thumbnail(t):i="",{document:t,mimetype:n.mime,fileName:X(Date.now().toString()),jpegThumbnail:i}}catch(t){throw new Error(`Document creation failed: ${t.message||t}`)}}};c();var be=class{constructor(e){this.client=e;this.keysDb=fe(e.options.session),this.setupLogFilters();}keysDb;setupLogFilters(){let e=console.error,t=console.log,n=i=>{let r=i.join(" ");return ["Bad MAC","Session error:","Closing open session in favor of incoming prekey bundle","Error: Bad MAC"].some(p=>r.includes(p))};console.error=(...i)=>{n(i)||e.apply(console,i);},console.log=(...i)=>{n(i)||t.apply(console,i);};}async repair(e){if(!e)return;let t=[`session:${e}`,`sender-key:${e}`];try{await this.keysDb.batchDelete(t),await this.keysDb.flush(),a.spinner.warn(` [HealthManager] Repaired session for ${e} due to Bad MAC`);}catch{}}get logger(){return Ht__default.default({level:"debug"},{write:e=>{try{let t=JSON.parse(e);if(t.msg?.includes("Bad MAC")){let n=t.jid||t.remoteJid;n&&this.repair(n);}}catch{}}})}};c();var le=(s,e)=>{try{return s.parse(e)}catch(t){let n=zodValidationError.fromError(t);throw new Error(n.toString())}};c();c();var Ve=class{concurrency;timeout;onError;queue;running;completed;failed;isClosing;closeResolve;constructor(e){this.concurrency=e?.concurrency||10,this.timeout=e?.timeout||3e4,this.onError=e?.onError||this._defaultErrorHandler,this.queue=[],this.running=new Set,this.completed=0,this.failed=0,this.isClosing=false,this.closeResolve=null;}add(e,t){if(this.isClosing)throw new Error("Queue is closing, cannot add new tasks");let n={id:this._generateId(),fn:e,priority:t?.priority||0,timeout:t?.timeout||this.timeout,retries:t?.retries||0,maxRetries:t?.maxRetries||0,createdAt:Date.now()},i=this.queue.findIndex(r=>r.priority<n.priority);return i===-1?this.queue.push(n):this.queue.splice(i,0,n),this._process(),n.id}addBulk(e){return e.map(({fn:t,options:n})=>this.add(t,n))}async _process(){for(;this.running.size<this.concurrency&&this.queue.length>0;){let e=this.queue.shift();this.running.add(e),this._executeTask(e);}this.isClosing&&this.running.size===0&&this.queue.length===0&&this.closeResolve?.();}async _executeTask(e){try{await this._withTimeout(e.fn(),e.timeout),this.completed++;}catch(t){e.retries<e.maxRetries?(e.retries++,this.queue.unshift(e)):(this.failed++,this.onError(t,e));}finally{this.running.delete(e),this._process();}}_withTimeout(e,t){return Promise.race([e,new Promise((n,i)=>setTimeout(()=>i(new Error("Task timeout")),t))])}async close(e=0){if(this.isClosing=true,this.running.size===0&&this.queue.length===0)return;let t=new Promise(n=>{this.closeResolve=n;});if(e>0){let n=new Promise(i=>setTimeout(i,e));await Promise.race([t,n]);}else await t;}forceClose(){this.queue=[],this.running.clear(),this.isClosing=true,this.closeResolve?.();}getStats(){return {queued:this.queue.length,running:this.running.size,completed:this.completed,failed:this.failed,total:this.completed+this.failed}}isIdle(){return this.queue.length===0&&this.running.size===0}async waitUntilIdle(e=100){for(;!this.isIdle();)await new Promise(t=>setTimeout(t,e));}_defaultErrorHandler(e,t){console.error(`[FireAndForget] Task ${t.id} failed:`,e);}_generateId(){return `${Date.now()}-${Math.random().toString(36).substr(2,9)}`}},P=new Ve;process.on("SIGTERM",()=>P.close());c();c();c();var y=(s,e="lime")=>Array.isArray(e)?At__default.default(e)(s):At__default.default([e,e])(s),Ge=s=>{try{return JSON.parse(s)}catch{return E__default.default.attempt(()=>JSON.parse(JSON.stringify(s)||"{}"))}},ue=s=>{try{return JSON.stringify(s)}catch{let e=E__default.default.attempt(()=>JSON.stringify(Ge(s)||"{}"));return E__default.default.isError(e)?"{}":e}},fo=(s="")=>E__default.default.shuffle(s).join(""),me=(s="",e="")=>s?E__default.default.includes(s.toLowerCase(),e.toLowerCase()):null,Pt=(s="")=>s?E__default.default.castArray(s.match(tn.URL_REGEX)||[]):[],go=s=>s[Math.floor(Math.random()*s.length)],Je=(s,e)=>{let t=i=>!!(i==null||typeof i=="string"&&i.trim()===""||Array.isArray(i)&&i.length===0||typeof i=="object"&&Object.keys(i).length===0),n=(i,r)=>{if(!i||typeof i!="object")return;let o=i,p=r.split(".");for(let l of p){let u=l.match(/^(.+?)\[(\d+)\]$/);if(u){let[,v,S]=u;o=o?.[v]?.[parseInt(S,10)];}else o=o?.[l];if(t(o))return}return o};if(!(!Array.isArray(s)||s.length===0)&&!(!Array.isArray(e)||e.length===0)){for(let i of s)if(!(!i||typeof i!="object"))for(let r of e){let o=n(i,r);if(!t(o))return o}}},yo=(s,e)=>{let t=E__default.default.castArray(e),n=(o,p)=>E__default.default.every(p,(l,u)=>o?.[u]===l),i=(o,p)=>E__default.default.some(p,(l,u)=>o?.[u]===l),r=o=>E__default.default.isArray(o)?E__default.default.find(o,r)??o:E__default.default.isObject(o)?E__default.default.find(t,u=>n(o,u))||E__default.default.find(t,u=>i(o,u))?o:E__default.default.find(E__default.default.values(o),r)??o:null;return r(s)},ho=(s,e,t)=>new Proxy(s,{apply(n,i,r){e?.(r);let o=Reflect.apply(n,i,r);return t?t(o,r):o}});c();var Ke=class{input;constructor(e){this.input=e;}async toOpus(){return ne.toOpus(this.input)}async toMp3(){return ne.toMp3(this.input)}async convert(e="opus"){return ne.convert(this.input,e)}},He=class{input;constructor(e){this.input=e;}async toMp4(){return U.toMp4(this.input)}async thumbnail(){return U.thumbnail(this.input)}},Qe=class{input;constructor(e){this.input=e;}async toJpeg(){return N.toJpeg(this.input)}async thumbnail(){let e=await I.toBuffer(this.input);return N.thumbnail(e)}async resize(e,t){let n=await I.toBuffer(this.input);return N.resize(n,e,t)}},Ze=class{input;metadata;constructor(e,t){this.input=e,this.metadata=t;}async create(){return we.create(this.input,this.metadata)}},Ye=class{input;constructor(e){this.input=e;}async create(){return ke.create(this.input)}},Xe=class{input;constructor(e){this.input=e;}async get(){let e=await I.toBuffer(this.input),t=await fileType.fileTypeFromBuffer(e);if(!t||!R.isMedia(t.mime))throw new Error("Invalid media type: expected image or video");return t.mime.startsWith(k.MIME.VIDEO)?U.thumbnail(this.input):N.thumbnail(e)}},et=class{audio(e){return new Ke(e)}video(e){return new He(e)}image(e){return new Qe(e)}sticker(e,t){return new Ze(e,t)}document(e){return new Ye(e)}thumbnail(e){return new Xe(e)}async toBuffer(e){return I.toBuffer(e)}},O=new et;var Me=class{constructor(e){this.client=e;this.initialize();}async initialize(){let e=a.get("socket");e.ev.on("call",async t=>{for(let n of t){let i=await this.parse(n);i&&(P.add(async()=>this.client.middleware.run({calls:i})),P.add(async()=>this.client.plugins.execute(this.client,{messages:i})),a.events.emit("calls",i),this.client.options?.autoRejectCall&&P.add(async()=>e.rejectCall(i.callId,i.callerId)));}});}async parse(e){let t=a.get("socket"),n={};return n.callId=e.id,n.callerId=tn.jidNormalizedUser(e.from),n.roomId=tn.jidNormalizedUser(e.chatId),n.roomName=H(t?.user?.name||t?.user?.verifiedName),n.date=e.date,n.offline=e.offline,n.status=e.status,n.isVideo=!!e.isVideo,n.isGroup=!!e.isGroup,this.client.logs.call(n),n}};c();c();var Rt=s=>{bn__default.default.generate(s,{small:true},e=>{console.log(e);});},Ft=async()=>{console.clear(),a.spinner.start(" Checking for updates...");let s="2.2.1",e="zaadevofc",t=await Ct(),n=s===t;a.spinner.stop();let i="Zaileys",r=`
2
+ by ${e} \xB7 v${s}`,o=`${n?"Already using latest version!":`Update available! (v${t})`}
3
+ `,p=n?"lime":"orange",l=await wn__default.default.text(i),u=At.cristal(l);console.log(u),console.log(y(r,"dimgray")),console.log(y(o,p));};var ve=class{constructor(e){this.client=e;this.initialize();}async initialize(){a.spinner.start(" Initializing connection...");let e=a.get("socket"),t={},n=async()=>{t.status="reload",a.spinner.warn(" Connection lost. Attempting auto-reload..."),await this.client.initialize();},i=async()=>{await tn.delay(3e3),a.spinner.warn(" Invalid session. Attempting auto cleaning creds..."),await tn.delay(3e3),await It(this.client.options.session),await n();};if(this.client.options.authType==="pairing"&&this.client.options.phoneNumber&&!e.authState.creds.registered){a.spinner.update(" Generating pairing code..."),await tn.delay(3500);try{t.authTimeout=Date.now()+6e4;let r=new Date(t.authTimeout).toLocaleTimeString(),o=await e.requestPairingCode(this.client.options.phoneNumber.toString());a.spinner.warn(` Pairing expired at ${At.cristal(r)}`),a.spinner.warn(` Pairing code: ${o}`),t.code=o;}catch{await i();}}e.ev.on("connection.update",async r=>{let{connection:o,lastDisconnect:p,qr:l}=r;if(t.status=o||"connecting",t.authType=this.client.options.authType,a.spinner.update(" Connection status: "+At.cristal(t.status)),this.client.options.authType==="qr"&&l){t.authTimeout=Date.now()+6e4;let u=new Date(t.authTimeout).toLocaleTimeString();a.spinner.warn(" Please scan the QR code..."),a.spinner.warn(` Qr code expired at ${At.cristal(u)}`),Rt(l),t.qr=l;return}if(o==="close"){let u=M(p?.error)?.output?.statusCode,v=p?.error?.message||"",S=typeof u=="number"&&u!==tn.DisconnectReason.loggedOut;if(a.spinner.error(` [${u} - Closed] ${v}`),u===401||u===405){a.spinner.warn(" Session may be used by another device/instance."),a.spinner.warn(" If you want to connect here, close the other connection first."),a.spinner.warn(` Or use a different session name in your Client options.
4
+ `);return}if(u===500){a.spinner.error(" Server error occurred, attempting reconnect..."),await n();return}S&&await n();}if(o==="open")if(e.user?.id){let u=tn.jidNormalizedUser(e.user.id).split("@")[0],v=e.user.name||e.user.verifiedName;a.spinner.success(` Connected as ${At.cristal(v||u)}`);}else a.spinner.success(" Connected!");a.events.emit("connection",t);}),e.ev.on("messaging-history.set",({progress:r})=>{t.status="syncing",t.syncProgress=r,a.spinner.start(" Syncing messages history..."),r&&a.spinner.update(` Syncing messages history ${r+"%"}`),r==100&&(a.spinner.success(" Syncing messages history completed!"),t.syncCompleted=true),a.events.emit("connection",t);});}};c();c();var Bt={text:"text",conversation:"text",imageMessage:"image",contactMessage:"contact",locationMessage:"location",documentMessage:"document",audioMessage:"audio",videoMessage:"video",protocolMessage:"protocol",contactsArrayMessage:"contacts",highlyStructuredMessage:"highlyStructured",sendPaymentMessage:"sendPayment",liveLocationMessage:"location",requestPaymentMessage:"requestPayment",groupStatusMentionMessage:"groupStatusMention",statusMentionMessage:"statusMention",albumMessage:"album",declinePaymentRequestMessage:"declinePaymentRequest",cancelPaymentRequestMessage:"cancelPaymentRequest",templateMessage:"template",stickerMessage:"sticker",groupInviteMessage:"groupInvite",templateButtonReplyMessage:"buttons",productMessage:"product",deviceSentMessage:"deviceSent",listMessage:"lists",viewOnceMessage:"viewOnce",orderMessage:"order",listResponseMessage:"lists",ephemeralMessage:"ephemeral",invoiceMessage:"invoice",buttonsMessage:"buttons",buttonsResponseMessage:"buttons",paymentInviteMessage:"paymentInvite",interactiveMessage:"interactive",reactionMessage:"reaction",stickerSyncRmrMessage:"sticker",questionMessage:"question",nativeFlowResponseMessage:"lists",interactiveResponseMessage:"interactiveResponse",pollCreationMessage:"pollCreation",pollCreationMessageKey:"pollUpdate",pollUpdateMessage:"pollUpdate",keepInChatMessage:"keepInChat",documentWithCaptionMessage:"document",requestPhoneNumberMessage:"requestPhoneNumber",viewOnceMessageV2:"viewOnce",encReactionMessage:"reaction",editedMessage:"text",viewOnceMessageV2Extension:"viewOnce",pollCreationMessageV2:"pollCreation",scheduledCallCreationMessage:"scheduledCallCreation",groupMentionedMessage:"groupMentioned",pinInChatMessage:"pinInChat",pollCreationMessageV3:"pollCreation",scheduledCallEditMessage:"scheduledCallEdit",ptvMessage:"ptv",botInvokeMessage:"botInvoke",callLogMesssage:"callLog",encCommentMessage:"encComment",bcallMessage:"bcall",lottieStickerMessage:"lottieSticker",eventMessage:"event",commentMessage:"comment",newsletterAdminInviteMessage:"text",extendedTextMessageWithParentKey:"text",extendedTextMessage:"text",placeholderMessage:"placeholder",encEventUpdateMessage:"encEventUpdate"},nt={whatsapp:"0@s.whatsapp.net",meta:"13135550002@s.whatsapp.net",chatgpt:"18002428478@s.whatsapp.net",copilot:"18772241042@s.whatsapp.net",instagram:"447723442971@s.whatsapp.net",tiktok:"6285574670498@s.whatsapp.net"};c();var Te=class{constructor(e){this.client=e;this.limiter=new rateLimiterFlexible.RateLimiterMemory({points:this.client.options.limiter?.maxMessages,duration:this.client.options.limiter?.durationMs/1e3});}limiter;async isSpam(e){try{return await this.limiter.consume(e),!1}catch{return true}}};var Ce=class{constructor(e){this.client=e;this.limiter=new Te(e),this.initialize();}limiter;maxReplies=3;async initialize(){let e=a.get("socket");if(!e?.ev){console.warn("\u26A0\uFE0F [Messages] Socket or socket.ev is not available during initialization");return}e.ev.on("messages.upsert",async({messages:t,type:n})=>{try{if(n!=="notify"&&n!=="append")return;for(let i of t)try{let r=await this.parse(i);r&&(P.add(async()=>this.client.middleware.run({messages:r})),P.add(async()=>this.client.plugins.execute(this.client,{messages:r})),a.set("message",r),a.events.emit("messages",r),this.client.options.autoRead&&P.add(async()=>e.readMessages([r.message().key])));}catch{}}catch{}});}async parse(e,t){if(e?.category==="peer"||!e?.message||!e?.key?.id||e?.messageStubType||e?.messageStubParameters?.length||e.message?.protocolMessage?.peerDataOperationRequestResponseMessage)return;let n=e,i=a.get("socket"),r={},o=he(e.message),p=o.chain.at(-1),l=o.leaf;if(l?.message&&(o=he(l.message),p=o.chain.at(-1),l=o.leaf),r.uniqueId=null,r.channelId=null,r.chatId=e?.message?.protocolMessage?.key?.id||e?.key?.id||null,r.chatType=Bt[p],!r.chatType)return;r.receiverLid=tn.jidNormalizedUser(i?.user?.lid||""),r.receiverId=tn.jidNormalizedUser(i?.user?.id||""),r.receiverName=H(i?.user?.name||i?.user?.verifiedName),r.roomId=tn.jidNormalizedUser(e?.key?.remoteJid);let u=l?.type===0,v=l?.type===1,S=l?.type===2,b=r.roomId?.includes("@newsletter"),A=!!e?.message?.questionMessage,D=e?.key?.fromMe||false;if(D&&this.client.options.ignoreMe&&t!=="replied")return;let G=l?.key?.id;if(u||v||S){let T=await this.client.db("messages").query(r.roomId).where("key.id","=",G).first();if(!T)return;e=T,o=he(e.message),p=o.chain.at(-1),l=o.leaf;}if(r.roomName=await this.client.getRoomName(r.roomId),r.senderLid=tn.jidNormalizedUser(e?.key?.participant||e?.key?.remoteJid)||null,r.senderId=tn.jidNormalizedUser(e?.key?.participantAlt||e?.key?.remoteJidAlt)||null,r.senderName=H(e?.pushName||e?.verifiedBizName),r.senderDevice=tn.getDevice(r.chatId||""),r.channelId=X([r.roomId,r.senderId]),r.uniqueId=X([r.channelId,r.chatId]),r.timestamp=Number(e?.messageTimestamp)*1e3,b){let T=await i.newsletterMetadata("jid",r.roomId);r.roomName=M(T.thread_metadata.name)?.text,r.senderId=null,r.senderLid=null;}D&&(r.senderLid=tn.jidNormalizedUser(i.user.lid),r.senderId=r.receiverId,r.senderName=r.receiverName),r.text=l?.text||l?.caption||l?.name||l?.displayName||l?.conversation||l?.contentText||l?.selectedDisplayText||l||null,l?.name=="menu_options"&&(r.text=Ge(l?.paramsJson)?.id),r.text=H(r.text),r.mentions=vt(r.text),r.links=Pt(r.text||""),r.isBot=r.chatId.startsWith("BAE5")||r.chatId.startsWith("3EB0")||r.chatId.startsWith("Z4D3FC"),r.isFromMe=D;let J=E__default.default.castArray(this.client.options?.prefix);if(r.isPrefix=!!J.find(T=>r.text?.startsWith(T)),r.isTagMe=r.mentions?.includes(r.receiverId.split("@")[0])||r.mentions?.includes(r.receiverLid.split("@")[0]),r.isStatusMention=!!e?.message?.statusMentionMessage,r.isGroupStatusMention=!!e?.message?.groupStatusMentionMessage,r.isHideTags=false,E__default.default.isEmpty(r.text)&&l?.contextInfo?.mentionedJid?.length&&(r.isHideTags=true),r.isSpam=await this.limiter.isSpam(r.channelId),r.isPrefix&&(r.text=r.text.replace(new RegExp(`^${E__default.default.escapeRegExp(J.find(T=>r.text?.startsWith(T))||"")}`),"")),r.isGroup=r.roomId?.includes("@g.us"),r.isNewsletter=b,r.isQuestion=A,r.isStory=r.roomId?.includes("@broadcast"),!r.isGroup&&!r.roomName&&(r.roomName=r.senderName),r.isViewOnce=false,r.isEdited=!!me(ue(o),"editedMessage"),r.isDeleted=u,r.isPinned=v,r.isUnPinned=S,r.isBroadcast=!!e?.broadcast,r.isEphemeral=!!me(ue(l?.contextInfo),"ephemeralSettingTimestamp"),r.isForwarded=!!me(ue(l?.contextInfo),"forwardingScore"),r.citation=null,this.client.options.citation){r.citation=r.citation||{};let T=this.client.options.citation;for(let W of Object.keys(T)){let ie=T[W];r.citation[W]=async()=>{let oe=await ie(),Z=[L(r.roomId),L(r.senderLid),L(r.senderId)];return !!E__default.default.intersection(Z,oe).length};}}r.chatType!=="text"&&(r.media={...Tt(l),buffer:()=>tn.downloadMediaMessage(e,"buffer",{}),stream:()=>tn.downloadMediaMessage(e,"stream",{})}),r.isStatusMention&&(r.chatType="statusMention"),r.isGroupStatusMention&&(r.chatType="groupStatusMention"),r.message=()=>n,r.replied=null;let x=l?.contextInfo?.quotedMessage,B=me(ue(x),"viewOnce"),q=l?.contextInfo?.stanzaId;if(x&&this.maxReplies){this.maxReplies--;let T=await this.client.db("messages").getByIndex("messages","key.id",q),W;B?W={...T[0],message:x}:W=T[0],r.replied=await this.parse(W,"replied"),r.replied&&(r.replied.isViewOnce=true),this.maxReplies=3;}return t!="replied"&&this.client.logs.message(r),r.injection=Y.getAll(),r}};var Ie=class{constructor(e){this.client=e;this.connection=new ve(e),this.messages=new Ce(e),this.calls=new Me(e),this.initialize();}connection;messages;calls;async initialize(){let e=a.get("socket");e.ev.on("groups.update",async([t])=>{P.add(async()=>{let n=await e.groupMetadata(t.id);$.set(t.id,n);});}),e.ev.on("group-participants.update",async t=>{P.add(async()=>{let n=await e.groupMetadata(t.id);$.set(t.id,n);});}),e?.ev.on("messaging-history.set",async t=>{let{chats:n,contacts:i,messages:r}=t;P.add(async()=>{await this.client.db("chats").batchUpsert("chats",n,"id");}),P.add(async()=>{await this.client.db("contacts").batchUpsert("contacts",i,"id");}),P.add(async()=>{await this.client.db("messages").batchUpsert("messages",r,"key.id");});}),e?.ev.on("messages.upsert",async({messages:t})=>{P.add(async()=>{await this.client.db("messages").batchUpsert("messages",t,"key.id");});}),e?.ev.on("chats.upsert",async t=>{P.add(async()=>{await this.client.db("chats").batchUpsert("chats",t,"id");});}),e?.ev.on("contacts.upsert",async t=>{P.add(async()=>{await this.client.db("contacts").batchUpsert("contacts",t,"id");});}),await this.client.db("messages").createIndex("messages","key.remoteJid"),await this.client.db("messages").createIndex("messages","key.id"),await this.client.db("chats").createIndex("chats","id"),await this.client.db("contacts").createIndex("contacts","id");}};c();c();c();var Sn=m__default.default.object({type:m__default.default.literal("quick_reply"),text:m__default.default.string()}),Cn=m__default.default.object({type:m__default.default.literal("cta_url"),url:m__default.default.url(),text:m__default.default.string()}),In=m__default.default.object({type:m__default.default.literal("cta_copy"),copy:m__default.default.string(),text:m__default.default.string()}),An=m__default.default.object({type:m__default.default.literal("cta_call"),text:m__default.default.string(),phoneNumber:m__default.default.string()}),Pn=m__default.default.object({type:m__default.default.literal("single_select"),text:m__default.default.string(),section:m__default.default.object({title:m__default.default.string(),highlight_label:m__default.default.string().optional(),rows:m__default.default.object({id:m__default.default.string(),title:m__default.default.string(),header:m__default.default.string().optional(),description:m__default.default.string().optional()}).array()}).array()}),En=m__default.default.object({type:m__default.default.literal("interactive"),footer:m__default.default.string().optional(),data:m__default.default.union([Sn,Cn,In,An,Pn]).array()}),Rn=m__default.default.object({type:m__default.default.literal("simple"),footer:m__default.default.string().optional(),data:m__default.default.object({id:m__default.default.string(),text:m__default.default.string()}).array()}),$t=m__default.default.union([Rn,En]);c();var Fn=m.z.object({maxMessages:m.z.number().default(20),durationMs:m.z.number().default(1e4)}).optional(),Bn=m.z.record(m.z.string(),m.z.function({output:m.z.promise(m.z.array(m.z.number()))})).optional(),On=m.z.object({provider:m.z.enum(["whatsapp","meta","chatgpt","copilot","instagram","tiktok"]).or(m.z.number())}).optional(),rt=m.z.enum(["default","rounded","circle","oval"]).default("default"),$n=m.z.object({packageName:m.z.string().optional(),authorName:m.z.string().optional(),quality:m.z.number().optional(),shape:rt.optional()}).optional(),Nn=m.z.object({enabled:m.z.boolean().default(false).optional(),intervalMs:m.z.number().default(3600*1e3).optional(),maxAgeMs:m.z.number().default(1440*60*1e3).optional(),scopes:m.z.array(m.z.string()).default(["messages"]).optional()}).optional(),Nt=m.z.object({session:m.z.string().default("zaileys").optional(),prefix:m.z.union([m.z.string(),m.z.array(m.z.string())]).optional(),ignoreMe:m.z.boolean().default(true).optional(),showLogs:m.z.boolean().default(true).optional(),fancyLogs:m.z.boolean().default(false).optional(),syncFullHistory:m.z.boolean().default(true).optional(),disableFFmpeg:m.z.boolean().default(false).optional(),autoMarkAI:m.z.boolean().default(true).optional(),autoMentions:m.z.boolean().default(true).optional(),autoOnline:m.z.boolean().default(true).optional(),autoRead:m.z.boolean().default(true).optional(),autoPresence:m.z.boolean().default(true).optional(),autoRejectCall:m.z.boolean().default(true).optional(),autoCleanUp:Nn,limiter:Fn,citation:Bn,fakeReply:On,sticker:$n}),Dn=m.z.object({authType:m.z.literal("pairing"),phoneNumber:m.z.number()}),Wn=m.z.object({authType:m.z.literal("qr")}),Dt=m.z.union([Dn.extend(Nt.shape),Wn.extend(Nt.shape)]),Es=m.z.enum(["connection","messages","calls"]);var de=m__default.default.url().or(m__default.default.base64()).or(m__default.default.instanceof(Buffer)),Wt=m__default.default.object({text:m__default.default.string()}).passthrough(),_n=m__default.default.object({image:de,caption:m__default.default.string().optional()}).passthrough(),jn=m__default.default.object({audio:de,caption:m__default.default.string().optional(),ptt:m__default.default.boolean().optional()}).passthrough(),Un=m__default.default.object({video:de,caption:m__default.default.string().optional(),ptv:m__default.default.boolean().optional()}).passthrough(),Ln=m__default.default.object({sticker:de,shape:rt.optional(),caption:m__default.default.string().optional()}).passthrough(),zn=m__default.default.object({document:de,caption:m__default.default.string().optional(),fileName:m__default.default.string().optional()}).passthrough(),qn=m__default.default.object({location:m__default.default.object({latitude:m__default.default.number(),longitude:m__default.default.number(),url:m__default.default.url().optional(),title:m__default.default.string().optional(),footer:m__default.default.string().optional()}).optional()}).passthrough(),Vn=m__default.default.object({contacts:m__default.default.object({title:m__default.default.string().optional(),contacts:m__default.default.object({fullname:m__default.default.string(),phoneNumber:m__default.default.number(),organization:m__default.default.string().optional()}).array()})}).passthrough(),Gn=m__default.default.object({poll:m__default.default.object({name:m__default.default.string(),answers:m__default.default.string().array(),isMultiple:m__default.default.boolean().default(false).optional()})}),_t=m__default.default.object({replied:m__default.default.custom().optional(),isForwardedMany:m__default.default.boolean().optional(),isViewOnce:m__default.default.boolean().optional(),banner:m__default.default.custom().optional(),buttons:$t.optional()});m__default.default.enum(["forward","button","edit","delete"]);var Jn=m__default.default.union([Wt,_n,jn,Un,Ln,zn,qn,Vn,Gn]),jt=m__default.default.string().or(m__default.default.intersection(Jn,_t.omit({buttons:true}))),Ut=m__default.default.intersection(Wt,_t.omit({banner:true}));c();var Ae=class{toNativeSimple(e){return e.map(({id:t,text:n})=>({name:"quick_reply",buttonParamsJson:JSON.stringify({display_text:n,id:t})}))}toNativeInteractive(e){let t={quick_reply:n=>({display_text:n.text,id:n.id}),cta_url:n=>({display_text:n.text,url:n.url,merchant_url:n.url}),cta_copy:n=>({display_text:n.text,id:n.id,copy_code:n.copy}),cta_call:n=>({display_text:n.text,phone_number:n.phoneNumber}),single_select:n=>({title:n.text,sections:n.section})};return e.map(n=>({name:n.type,buttonParamsJson:JSON.stringify(t[n.type](n))}))}build(e){let t=M(e).buttons,n=t?.data||[],r=t?.type=="simple"?this.toNativeSimple(n):this.toNativeInteractive(n);return {body:{text:M(e).text},footer:t.footer?{text:t.footer}:void 0,nativeFlowMessage:{buttons:r}}}async send(e,t,n){let i=a.get("socket"),r=i?.authState?.creds?.me?.id||i?.user?.id,o=this.build(t),p=tn.generateWAMessageFromContent(e,{interactiveMessage:o},{userJid:r,messageId:tn.generateMessageIDV2(r),...n});return await i.relayMessage(e,p.message,{messageId:p.key.id,...n,additionalNodes:[{tag:"biz",attrs:{},content:[{tag:"interactive",attrs:{type:"native_flow",v:"1"},content:[{tag:"native_flow",attrs:{v:"9",name:"mixed"}}]}]}]}),i.config?.emitOwnEvents&&!tn.isJidGroup(e)&&process.nextTick(()=>i.upsertMessage?.(p,"append")),p}};var Pe=class{constructor(e){this.client=e;}async signal(e,t,n,i){n!="delete"&&(n=="button"?t=le(Ut,t):t=le(jt,t));let r=a.get("socket"),o={},p={},l=E__default.default.isString(t),u=this.client.options?.fakeReply?.provider,v=this.client.options?.autoMentions,S=this.client.options?.autoPresence,b=E__default.default.has(t,"replied"),A=E__default.default.has(t,"banner"),D=E__default.default.has(t,"isViewOnce"),G=n=="button",J=E__default.default.has(t,"image"),x=E__default.default.has(t,"video"),B=E__default.default.has(t,"audio"),q=E__default.default.has(t,"sticker"),T=E__default.default.has(t,"document"),W=E__default.default.has(t,"location"),ie=E__default.default.has(t,"contacts"),oe=E__default.default.has(t,"poll"),Z=J||x||B||q||T,K=l?t:Je([t],["text","caption"]);if(S&&(B?await r.sendPresenceUpdate("recording",e):await r.sendPresenceUpdate("composing",e)),v&&(o={...o,mentions:qe(K),contextInfo:{mentionedJid:qe(K)}}),b&&(p.quoted=M(t).replied,u&&(p.quoted.key.remoteJid=nt[u],p.quoted.key.participant=nt[u])),A&&(o={...o,contextInfo:{externalAdReply:M(t).banner}},o.contextInfo.externalAdReply.mediaType=1),D&&(o={...o,viewOnce:M(t)?.isViewOnce}),K&&(o={...o,text:K,caption:K},Z&&delete M(o).text),Z){let C=Je([t],["image","video","audio","sticker","document"]);if(J&&(o={...o,image:await O.image(C).toJpeg(),jpegThumbnail:await O.thumbnail(C).get()}),x){let _=M(t)?.ptv;o={...o,video:await O.video(C).toMp4(),ptv:_,jpegThumbnail:await O.thumbnail(C).get()};}if(B){let _=M(t)?.ptt;o={...o,audio:await O.audio(C).toOpus(),ptt:_,mimetype:_?"audio/ogg; codecs=opus":"audio/mpeg"};}if(q){let _=M(t)?.shape;o={...o,sticker:await O.sticker(C,{...this.client.options?.sticker,shape:_}).create()};}if(T){let _=await O.document(C).create();o={...o,fileName:M(t).fileName,..._};}}if(W){let C=M(t).location;o={...o,location:{degreesLatitude:C.latitude,degreesLongitude:C.longitude,url:C.url,address:C.footer,name:C.title}};}if(ie){let C=M(t)?.contacts,_=C?.contacts.map(se=>{let qt=["BEGIN:VCARD","VERSION:3.0",`FN:${se.fullname}`,`ORG:${se.organization||""}`,`TEL;type=CELL;type=VOICE;waid=${se.phoneNumber}:${se.phoneNumber}`,"END:VCARD"].join(`
5
+ `);return {displayName:se.fullname,vcard:qt}});o={...o,contacts:{displayName:C?.title,contacts:_}};}if(oe){let C=M(t)?.poll;o={...o,poll:{name:C.name,values:C.answers,selectableCount:C.isMultiple?1:0,toAnnouncementGroup:true}};}return n=="forward"&&(o={...o,contextInfo:{...M(o).contextInfo,isForwarded:true,forwardingScore:M(t).isForwardedMany?9999:1}}),n=="edit"&&(o={...o,edit:i?.key},await r.sendPresenceUpdate("paused",e)),n=="delete"&&(o={...o,delete:i?.key},await r.sendPresenceUpdate("paused",e)),G?await new Ae().send(e,t,p):await r.sendMessage(e,M(o),p)}async send(e,t){return await this.signal(e,t)}async forward(e,t){return await this.signal(e,t,"forward")}async button(e,t){return await this.signal(e,t,"button")}async edit(e,t){return await this.signal(e.key.remoteJid,t,"edit",e)}async delete(e){return E__default.default.isArray(e)?Promise.all(e.map(t=>this.signal(t.key.remoteJid,{},"delete",t))):await this.signal(e.key.remoteJid,{},"delete",e)}async presence(e,t){let n=a.get("socket"),i={typing:"composing",recording:"recording",online:"available",offline:"unavailable",paused:"paused"};return await n.sendPresenceUpdate(i[t],e)}async reaction(e,t){return await a.get("socket").sendMessage(e.key.remoteJid,{react:{text:t,key:e?.key}})}async memberLabel(e,t){return await a.get("socket").relayMessage(e,{protocolMessage:{type:30,memberLabel:{label:t,labelTimestamp:Date.now()}}},{})}};c();var it=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").communityCreate(e,t)}async createGroup(e,t,n){return await a.get("socket").communityCreateGroup(e,t,n)}async leave(e){return await a.get("socket").communityLeave(e)}async metadata(e){return await a.get("socket").communityMetadata(e)}async update(e,t,n){let i=a.get("socket");switch(t){case "subject":return await i.communityUpdateSubject(e,n);case "description":return await i.communityUpdateDescription(e,n)}}async group(e,t,n){let i=a.get("socket");switch(t){case "link":if(!n)throw "Group JID is required for linking";return await i.communityLinkGroup(e,n);case "unlink":if(!n)throw "Group JID is required for unlinking";return await i.communityUnlinkGroup(e,n);case "linked":return await i.communityFetchLinkedGroups(e)}}async participants(e,t,n,i){let r=a.get("socket");switch(t){case "list":return await r.communityRequestParticipantsList(e);case "request-update":return await r.communityRequestParticipantsUpdate(e,i,M(n));case "update":if(!n||!i)throw "Action and participants are required for update";return await r.communityParticipantsUpdate(e,i,M(n));case "all":return await r.communityFetchAllParticipating()}}async invite(e,t,...n){let i=a.get("socket");switch(t){case "code":return await i.communityInviteCode(e);case "revoke":return await i.communityRevokeInvite(e);case "accept":return await i.communityAcceptInvite(e);case "info":return await i.communityGetInviteInfo(e);case "revokeV4":return await i.communityRevokeInviteV4(e,n[0]);case "acceptV4":return await i.communityAcceptInviteV4(e,n[0])}}async settings(e,t,n){let i=a.get("socket");switch(t){case "ephemeral":return await i.communityToggleEphemeral(e,n);case "update":return await i.communitySettingUpdate(e,n);case "memberAdd":return await i.communityMemberAddMode(e,n);case "approval":return await i.communityJoinApprovalMode(e,n)}}},Ee=class{constructor(e){this.mlient=e;this.community=new it(e);}community};c();var ot=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").groupCreate(e,t)}async participant(e,t,n){return await a.get("socket").groupParticipantsUpdate(e,t,n)}async profile(e,t,n){let i=a.get("socket"),r=Buffer.isBuffer(t);switch(n){case "subject":if(!r)return await i.groupUpdateSubject(e,t);case "description":if(!r)return await i.groupUpdateDescription(e,t);case "picture":return await i.updateProfilePicture(e,await O.toBuffer(t))}}async setting(e,t){let n=a.get("socket");switch(t){case "open":return await n.groupSettingUpdate(e,"not_announcement");case "close":return await n.groupSettingUpdate(e,"announcement");case "locked":return await n.groupSettingUpdate(e,t);case "unlocked":return await n.groupSettingUpdate(e,t);case "all_member_add":return await n.groupMemberAddMode(e,t);case "admin_add":return await n.groupMemberAddMode(e,t)}}async leave(e){return await a.get("socket").groupLeave(e)}async inviteCode(e,t){let n=a.get("socket");switch(t){case "code":return await n.groupInviteCode(e);case "revoke":return await n.groupRevokeInvite(e);case "accept":return await n.groupAcceptInvite(e);case "info":return await n.groupGetInviteInfo(e)}}async metadata(e){let t=a.get("socket"),n=$.get(e);if(n)return n;let i=await t.groupMetadata(e);return i&&$.set(e,i),i}async requestJoin(e,t,n){let i=a.get("socket");switch(n){case "approve":return await i.groupRequestParticipantsUpdate(e,t,n);case "reject":return await i.groupRequestParticipantsUpdate(e,t,n)}}async requestJoinList(e){return await a.get("socket").groupRequestParticipantsList(e)}async fetchAllGroups(){return await a.get("socket").groupFetchAllParticipating()}async ephemeral(e,t){let n=a.get("socket"),i={off:0,"24h":86400,"7d":604800,"90d":7776e3};return await n.groupToggleEphemeral(e,i[t])}},Re=class{constructor(e){this.glient=e;this.group=new ot(e);}group};c();var st=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").newsletterCreate(e,t)}async action(e,t){let n=a.get("socket");switch(t){case "follow":return await n.newsletterFollow(e);case "unfollow":return await n.newsletterUnfollow(e);case "mute":return await n.newsletterMute(e);case "unmute":return await n.newsletterUnmute(e);}}async update(e,t,n){let i=a.get("socket"),r=Buffer.isBuffer(t);switch(n){case "name":if(!r)return await i.newsletterUpdateName(e,t);case "description":if(!r)return await i.newsletterUpdateDescription(e,t);case "picture":return await i.newsletterUpdatePicture(e,await O.toBuffer(t))}}async metadata(e,t){return await a.get("socket").newsletterMetadata(t,e)}async subscribers(e){return await a.get("socket").newsletterSubscribers(e)}async reaction(e,t,n){return await a.get("socket").newsletterReactMessage(e,t,n)}async fetchMessages(e,t,n,i){let r=a.get("socket"),o=n.getTime()/1e3,p=i.getTime()/1e3;return await r.newsletterFetchMessages(e,t,o,p)}async adminCount(e){return await a.get("socket").newsletterAdminCount(e)}async changeOwner(e,t){return await a.get("socket").newsletterChangeOwner(e,t)}async demote(e,t){return await a.get("socket").newsletterDemote(e,t)}async delete(e){return await a.get("socket").newsletterDelete(e)}async removePicture(e){return await a.get("socket").newsletterRemovePicture(e)}},Fe=class{constructor(e){this.nlient=e;this.newsletter=new st(e);}newsletter};c();var at=class{constructor(e){this.client=e;}async block(e){return await a.get("socket").updateBlockStatus(e,"block")}async unblock(e){return await a.get("socket").updateBlockStatus(e,"unblock")}async lastSeen(e){return await a.get("socket").updateLastSeenPrivacy(e)}async online(e){return await a.get("socket").updateOnlinePrivacy(e)}async picture(e){return await a.get("socket").updateProfilePicturePrivacy(e)}async status(e){return await a.get("socket").updateStatusPrivacy(e)}async readReceipt(e){return await a.get("socket").updateReadReceiptsPrivacy(e)}async groupsAdd(e){return await a.get("socket").updateGroupsAddPrivacy(e)}async ephemeral(e){let t=a.get("socket"),n={off:0,"24h":86400,"7d":604800,"90d":7776e3};return await t.updateDefaultDisappearingMode(n[e])}async blocklist(){return await a.get("socket").fetchBlocklist()}async getSettings(){return await a.get("socket").fetchPrivacySettings(true)}},Be=class{constructor(e){this.plient=e;this.privacy=new at(e);}privacy};c();c();var Ma=m__default.default.object({status:m__default.default.enum(["connecting","open","close","reload","syncing"]),authType:m__default.default.enum(["pairing","qr"]),authTimeout:m__default.default.number().optional(),syncProgress:m__default.default.number().optional(),syncCompleted:m__default.default.boolean().default(false).optional(),qr:m__default.default.string().optional(),code:m__default.default.string().optional()});c();var Yn=m__default.default.enum(["unknown","android","ios","desktop","web"]),Xn=m__default.default.enum(["text","album","image","contact","location","document","audio","video","protocol","contacts","highlyStructured","sendPayment","requestPayment","groupStatusMention","statusMention","declinePaymentRequest","cancelPaymentRequest","template","sticker","groupInvite","product","deviceSent","lists","viewOnce","order","ephemeral","invoice","buttons","paymentInvite","interactive","reaction","sticker","interactiveResponse","pollCreation","pollUpdate","keepInChat","document","requestPhoneNumber","viewOnce","reaction","text","viewOnce","pollCreation","scheduledCallCreation","groupMentioned","pinInChat","pollCreation","scheduledCallEdit","ptv","botInvoke","callLog","encComment","bcall","lottieSticker","event","comment","placeholder","encEventUpdate"]),Lt=m__default.default.object({channelId:m__default.default.string(),uniqueId:m__default.default.string(),chatId:m__default.default.string(),chatType:Xn,receiverLid:m__default.default.string(),receiverId:m__default.default.string(),receiverName:m__default.default.string(),roomId:m__default.default.string(),roomName:m__default.default.string(),senderLid:m__default.default.string(),senderId:m__default.default.string(),senderName:m__default.default.string(),senderDevice:Yn,timestamp:m__default.default.number(),text:m__default.default.string().nullable(),mentions:m__default.default.string().array(),links:m__default.default.string().array(),isBot:m__default.default.boolean(),isFromMe:m__default.default.boolean(),isPrefix:m__default.default.boolean(),isSpam:m__default.default.boolean(),isTagMe:m__default.default.boolean(),isStatusMention:m__default.default.boolean(),isGroupStatusMention:m__default.default.boolean(),isHideTags:m__default.default.boolean(),isGroup:m__default.default.boolean(),isNewsletter:m__default.default.boolean(),isQuestion:m__default.default.boolean(),isStory:m__default.default.boolean(),isViewOnce:m__default.default.boolean(),isEdited:m__default.default.boolean(),isDeleted:m__default.default.boolean(),isPinned:m__default.default.boolean(),isUnPinned:m__default.default.boolean(),isBroadcast:m__default.default.boolean(),isEphemeral:m__default.default.boolean(),isForwarded:m__default.default.boolean(),citation:m__default.default.record(m__default.default.string(),m__default.default.function({output:m__default.default.promise(m__default.default.boolean())})).nullable(),media:m__default.default.object({buffer:m__default.default.function({output:m__default.default.promise(m__default.default.instanceof(Buffer))}),stream:m__default.default.function({output:m__default.default.promise(m__default.default.instanceof(Zn__default.default))})}).loose().nullable(),injection:m__default.default.record(m__default.default.string(),m__default.default.any()).default({}),message:m__default.default.function({input:[],output:m__default.default.custom()})}),Ca=Lt.extend({replied:Lt.nullable()});c();var Ea=m__default.default.object({callId:m__default.default.string(),callerId:m__default.default.string(),roomId:m__default.default.string(),roomName:m__default.default.string(),date:m__default.default.date(),offline:m__default.default.boolean(),status:m__default.default.enum(["accept","offer","reject","ringing","terminate","timeout"]),isVideo:m__default.default.boolean(),isGroup:m__default.default.boolean()});c();var Oe=class{constructor(e){this.client=e;this.initialize();}logsInitialized=false;logsDisplayed=false;isReady=false;getRoomColor(e){return e?.isNewsletter?"blue":e?.isGroup?e?.isGroup?"lime":"dimgray":"orange"}initialize(){if(!this.client.options.showLogs||this.logsInitialized)return;this.logsInitialized=true;let e=async({status:t})=>{t==="open"&&(this.isReady=true,this.logsDisplayed||setTimeout(()=>{this.displayIndicator();},500));};a.events.on("connection",e);}displayIndicator(){this.logsDisplayed||(this.logsDisplayed=true,console.log(),a.spinner.info("Logs Indicator:"),console.log(y(" \u2022","orange")+" Private Chat"),console.log(y(" \u2022","lime")+" Group Chat"),console.log(y(" \u2022","blue")+" Newsletter Chat"),console.log());}message(e){if(!this.isReady)return;let t=M(this.getRoomColor(e)),n=e?.text?.toLowerCase()?.match("zaileys"),i=this.client.options?.fancyLogs,r=y(`[${new Date(e?.timestamp).toTimeString().split(" ")[0]}]`,"dimgray"),o=y(`${e?.roomName}`,t),p=e?.text?.slice(0,300)||"",l=p?.length>=300?"...":"";if(i){let u=y("\u2501".repeat(50),"dimgray"),v=y("\u2192","dimgray"),S=y("\u2022",t),b=`
6
6
  ${u}
7
- `;b+=`${S} ${n} ${v} ${o}
7
+ `;b+=`${S} ${r} ${v} ${o}
8
8
  `,e?.isNewsletter?(b+=` ${y("\u{1F4E2} Room:","dimgray")} ${y(`${e?.roomName}`,t)}
9
9
  `,b+=` ${y("\u{1F194} ID:","dimgray")} ${y(`${L(e?.roomId)}`,"gray")}
10
10
  `):(b+=` ${y("\u{1F464} Sender:","dimgray")} ${y(`${e?.senderName}`,t)}
11
11
  `,b+=` ${y("\u{1F194} ID:","dimgray")} ${y(`${L(e?.senderId)}`,"gray")}
12
12
  `,e?.isGroup&&(b+=` ${y("\u{1F3E0} Group:","dimgray")} ${y(`${e?.roomName}`,"lime")}
13
13
  `)),b+=` ${y("\u{1F4DD} Type:","dimgray")} ${y(`${e?.chatType||"text"}`,"cyan")}
14
- `,b+=` ${y("\u{1F4AC} Text:","dimgray")} ${y(p+l,r?["#ff5f6d","#ffc371"]:"brown")}
14
+ `,b+=` ${y("\u{1F4AC} Text:","dimgray")} ${y(p+l,n?["#ff5f6d","#ffc371"]:"brown")}
15
15
  `,e?.isSpam&&(b+=` ${y("\u26A0\uFE0F Spam:","dimgray")} ${y("Yes","red")}
16
16
  `),e?.isForwarded&&(b+=` ${y("\u21AA\uFE0F Forwarded:","dimgray")} ${y("Yes","yellow")}
17
17
  `),e?.isEdited&&(b+=` ${y("\u270F\uFE0F Edited:","dimgray")} ${y("Yes","yellow")}
18
- `),b+=`${u}`,console.log(b);}else {let u=`${n} \u2192 ${o}
18
+ `),b+=`${u}`,console.log(b);}else {let u=`${r} \u2192 ${o}
19
19
  `;e?.isNewsletter?u+=`${y("[room]","dimgray")} \u2192 ${y(`${e?.roomName} (${L(e?.roomId)})`,t)}
20
20
  `:u+=`${y("[sender]","dimgray")} \u2192 ${y(`${e?.senderName} (${L(e?.senderId)})`,t)}
21
- `,u+=`${y(`[${e?.chatType||"unknown"}]`,"dimgray")} \u2192 ${y(p+l,r?["#ff5f6d","#ffc371"]:"brown")}
22
- `,u+="\u2014",console.log(u);}}call(e){if(!this.isReady)return;let t=M(this.getRoomColor(e)),r=y(`[${new Date(e?.date).toTimeString().split(" ")[0]}]`,"dimgray"),i=y(`${e?.roomName}`,t),n=`${r} \u2192 ${i}
23
- `;n+=`${y("[caller]","dimgray")} \u2192 ${y(`${e?.callerId} (${L(e?.callerId)})`,t)}
24
- `,n+=`${y(`[${e?.status}]`,"dimgray")} \u2192 ${y(e?.isVideo?"Video Call":"Voice Call","brown")}
25
- `,n+="\u2014",console.log(n);}};c();var Be=class{stack=[];use(e){return this.stack.push(e),this}async run(e){let t=-1,r=async i=>{if(i<=t)throw "next() called multiple times";t=i;let n=this.stack[i];if(n)try{await n(e,()=>r(i+1));}catch(o){throw console.error("Middleware error:",o),o}};await r(0);}};c();var $e=class{constructor(e){this.client=e;}interval=null;start(){let e=this.client.options.autoCleanUp;e?.enabled&&(this.interval=setInterval(()=>{this.run();},e.intervalMs),this.run());}stop(){this.interval&&(clearInterval(this.interval),this.interval=null);}async run(){let e=this.client.options.autoCleanUp;if(!e?.enabled)return;let t=Date.now()-e.maxAgeMs;for(let r of e.scopes)try{let i=this.client.db(r),n=await i.query(r).where("timestamp","<",t).get();if(n.length>0){let o=n.map(p=>p.key?.id||p.id);await i.batchDelete(o),a.spinner.info(` [CleanUpManager] Cleaned up ${n.length} items from ${r}`);}}catch{}}};c();var Oe=class{constructor(e){this.client=e;this.keysDb=fe(e.options.session),this.setupLogFilters();}keysDb;setupLogFilters(){let e=console.error,t=console.log,r=i=>{let n=i.join(" ");return ["Bad MAC","Session error:","Closing open session in favor of incoming prekey bundle","Error: Bad MAC"].some(p=>n.includes(p))};console.error=(...i)=>{r(i)||e.apply(console,i);},console.log=(...i)=>{r(i)||t.apply(console,i);};}async repair(e){if(!e)return;let t=[`session:${e}`,`sender-key:${e}`];try{await this.keysDb.batchDelete(t),await this.keysDb.flush(),a.spinner.warn(` [HealthManager] Repaired session for ${e} due to Bad MAC`);}catch{}}get logger(){return Ht__default.default({level:"debug"},{write:e=>{try{let t=JSON.parse(e);if(t.msg?.includes("Bad MAC")){let r=t.jid||t.remoteJid;r&&this.repair(r);}}catch{}}})}};c();var De=class{plugins=[];pluginsDir;globalEnabled=true;disabledPlugins=new Set;constructor(e=ee__namespace.join(process.cwd(),"plugins")){this.pluginsDir=e;}async getAllFiles(e,t=e){try{await Ne__namespace.promises.access(e);}catch{return []}let r=await Ne__namespace.promises.readdir(e,{withFileTypes:true});return (await Promise.all(r.map(async n=>{let o=ee__namespace.join(e,n.name);if(n.isDirectory())return this.getAllFiles(o,t);if((n.name.endsWith(".ts")||n.name.endsWith(".js"))&&!n.name.endsWith(".d.ts")){let l=ee__namespace.relative(t,e),u=l===""?null:l.split(ee__namespace.sep)[0];return [{filePath:o,parent:u}]}return []}))).flat()}async load(){try{await Ne__namespace.promises.access(this.pluginsDir);}catch{return}let e=await this.getAllFiles(this.pluginsDir),t=await Promise.all(e.map(async({filePath:r,parent:i})=>{try{let o=(await import(url.pathToFileURL(r).href)).default;if(o?.default&&(o=o.default),o?.handler&&o?.config){let p=this.getPluginId(o.config.matcher);return {...o,parent:i,enabled:!this.disabledPlugins.has(p)}}}catch{}return null}));this.plugins=t.filter(r=>r!==null);}getPluginId(e){return e.map(t=>t.toString()).join("|")}async execute(e,t){if(!this.globalEnabled)return;let r=t.messages.text||"";for(let i of this.plugins)if(i.enabled)try{this.match(r,i.config.matcher)&&await i.handler(e,t);}catch{}}match(e,t){return t.some(r=>r instanceof RegExp?r.test(e):e===r||e.startsWith(r+" "))}enableAll(){this.globalEnabled=true,this.plugins.forEach(e=>e.enabled=true),this.disabledPlugins.clear();}disableAll(){this.globalEnabled=false;}enable(e){let t=e.toString(),r=this.plugins.find(i=>i.config.matcher.some(n=>n.toString()===t));return r?(r.enabled=true,this.disabledPlugins.delete(this.getPluginId(r.config.matcher)),true):false}disable(e){let t=e.toString(),r=this.plugins.find(i=>i.config.matcher.some(n=>n.toString()===t));return r?(r.enabled=false,this.disabledPlugins.add(this.getPluginId(r.config.matcher)),true):false}enableByParent(e){let t=0;return this.plugins.forEach(r=>{r.parent===e&&(r.enabled=true,this.disabledPlugins.delete(this.getPluginId(r.config.matcher)),t++);}),t}disableByParent(e){let t=0;return this.plugins.forEach(r=>{r.parent===e&&(r.enabled=false,this.disabledPlugins.add(this.getPluginId(r.config.matcher)),t++);}),t}isEnabled(){return this.globalEnabled}getLoadedPlugins(){return this.plugins}getPluginsInfo(){return this.plugins.map(e=>({matcher:e.config.matcher,metadata:e.config.metadata,parent:e.parent,enabled:e.enabled}))}async reload(){this.plugins=[],await this.load();}},Ja=(s,e)=>({handler:s,config:e});var zt=class{constructor(e){this.options=e;this.options=le(Dt,e);let t=new te().classInjection(this,[new Ie(this),new Pe(this),new Re(this),new Ee(this),new Ae(this)]);return this._ready=this.initialize(t),t}_ready;logs;middleware=new Be;plugins=new De;health;cleanup;async initialize(e){await Ft(),await ze(this.options.disableFFmpeg),this.health=new Oe(this),this.cleanup=new $e(this),this.options.autoCleanUp?.enabled&&this.cleanup.start(),await wt(this),await this.plugins.load(),new Se(e||this),this.logs||(this.logs=new Fe(this));}ready(){return this._ready}db(e){return lt(this.options.session,e)}on(e,t){a.events.on(e,t);}use(e){return this.middleware.use(e),this}get socket(){return a.get("socket")}async getRoomName(e){let t=a.get("socket"),r=e.endsWith("@g.us"),i=null;if(r){let n=O.get(e);if(n)i=n.subject;else {let o=await t.groupMetadata(e);o&&(O.set(e,o),i=o.subject);}}return H(i)}inject(e,t){Y.inject(e,t);}getInjection(e){return Y.getSync(e)}removeInjection(e){Y.remove(e);}clearInjections(){Y.clear();}};
21
+ `,u+=`${y(`[${e?.chatType||"unknown"}]`,"dimgray")} \u2192 ${y(p+l,n?["#ff5f6d","#ffc371"]:"brown")}
22
+ `,u+="\u2014",console.log(u);}}call(e){if(!this.isReady)return;let t=M(this.getRoomColor(e)),n=y(`[${new Date(e?.date).toTimeString().split(" ")[0]}]`,"dimgray"),i=y(`${e?.roomName}`,t),r=`${n} \u2192 ${i}
23
+ `;r+=`${y("[caller]","dimgray")} \u2192 ${y(`${e?.callerId} (${L(e?.callerId)})`,t)}
24
+ `,r+=`${y(`[${e?.status}]`,"dimgray")} \u2192 ${y(e?.isVideo?"Video Call":"Voice Call","brown")}
25
+ `,r+="\u2014",console.log(r);}};c();var $e=class{stack=[];use(e){return this.stack.push(e),this}async run(e){let t=-1,n=async i=>{if(i<=t)throw "next() called multiple times";t=i;let r=this.stack[i];if(r)try{await r(e,()=>n(i+1));}catch(o){throw console.error("Middleware error:",o),o}};await n(0);}};c();var De=class{plugins=[];pluginsDir;globalEnabled=true;disabledPlugins=new Set;constructor(e=ee__namespace.join(process.cwd(),"plugins")){this.pluginsDir=e;}async getAllFiles(e,t=e){try{await Ne__namespace.promises.access(e);}catch{return []}let n=await Ne__namespace.promises.readdir(e,{withFileTypes:true});return (await Promise.all(n.map(async r=>{let o=ee__namespace.join(e,r.name);if(r.isDirectory())return this.getAllFiles(o,t);if((r.name.endsWith(".ts")||r.name.endsWith(".js"))&&!r.name.endsWith(".d.ts")){let l=ee__namespace.relative(t,e),u=l===""?null:l.split(ee__namespace.sep)[0];return [{filePath:o,parent:u}]}return []}))).flat()}async load(){try{await Ne__namespace.promises.access(this.pluginsDir);}catch{return}let e=await this.getAllFiles(this.pluginsDir),t=await Promise.all(e.map(async({filePath:n,parent:i})=>{try{let o=(await import(url.pathToFileURL(n).href)).default;if(o?.default&&(o=o.default),o?.handler&&o?.config){let p=this.getPluginId(o.config.matcher);return {...o,parent:i,enabled:!this.disabledPlugins.has(p)}}}catch{}return null}));this.plugins=t.filter(n=>n!==null);}getPluginId(e){return e.map(t=>t.toString()).join("|")}async execute(e,t){if(!this.globalEnabled)return;let n=t.messages.text||"";for(let i of this.plugins)if(i.enabled)try{this.match(n,i.config.matcher)&&await i.handler(e,t);}catch{}}match(e,t){return t.some(n=>n instanceof RegExp?n.test(e):e===n||e.startsWith(n+" "))}enableAll(){this.globalEnabled=true,this.plugins.forEach(e=>e.enabled=true),this.disabledPlugins.clear();}disableAll(){this.globalEnabled=false;}enable(e){let t=e.toString(),n=this.plugins.find(i=>i.config.matcher.some(r=>r.toString()===t));return n?(n.enabled=true,this.disabledPlugins.delete(this.getPluginId(n.config.matcher)),true):false}disable(e){let t=e.toString(),n=this.plugins.find(i=>i.config.matcher.some(r=>r.toString()===t));return n?(n.enabled=false,this.disabledPlugins.add(this.getPluginId(n.config.matcher)),true):false}enableByParent(e){let t=0;return this.plugins.forEach(n=>{n.parent===e&&(n.enabled=true,this.disabledPlugins.delete(this.getPluginId(n.config.matcher)),t++);}),t}disableByParent(e){let t=0;return this.plugins.forEach(n=>{n.parent===e&&(n.enabled=false,this.disabledPlugins.add(this.getPluginId(n.config.matcher)),t++);}),t}isEnabled(){return this.globalEnabled}getLoadedPlugins(){return this.plugins}getPluginsInfo(){return this.plugins.map(e=>({matcher:e.config.matcher,metadata:e.config.metadata,parent:e.parent,enabled:e.enabled}))}async reload(){this.plugins=[],await this.load();}},Ja=(s,e)=>({handler:s,config:e});var zt=class{constructor(e){this.options=e;this.options=le(Dt,e);let t=new te().classInjection(this,[new Pe(this),new Re(this),new Be(this),new Fe(this),new Ee(this)]);return this._ready=this.initialize(t),t}_ready;logs;middleware=new $e;plugins=new De;health;cleanup;async initialize(e){await Ft(),await ze(this.options.disableFFmpeg),this.health=new be(this),this.cleanup=new ge(this),this.options.autoCleanUp?.enabled&&this.cleanup.start(),await wt(this),await this.plugins.load(),new Ie(e||this),this.logs||(this.logs=new Oe(this));}ready(){return this._ready}db(e){return lt(this.options.session,e)}on(e,t){a.events.on(e,t);}use(e){return this.middleware.use(e),this}get socket(){return a.get("socket")}async getRoomName(e){let t=a.get("socket"),n=e.endsWith("@g.us"),i=null;if(n){let r=$.get(e);if(r)i=r.subject;else {let o=await t.groupMetadata(e);o&&($.set(e,o),i=o.subject);}}return H(i)}inject(e,t){Y.inject(e,t);}getInjection(e){return Y.getSync(e)}removeInjection(e){Y.remove(e);}clearInjections(){Y.clear();}};
26
26
  /*
27
27
  * Copyright (c) 2025 zaadevofc.
28
28
  * All rights reserved.
@@ -30,7 +30,7 @@ ${u}
30
30
  * See LICENSE file for details.
31
31
 
32
32
  * Author: zaadevofc
33
- * Last build time: 12/23/2025 9:25:57 AM
33
+ * Last build time: 12/23/2025 10:26:47 AM
34
34
  *
35
35
  * Repository: git+https://github.com/zeative/zaileys.git
36
- */exports.BaseMessagesType=Lt;exports.ButtonInteractiveCallType=In;exports.ButtonInteractiveCopyType=Cn;exports.ButtonInteractiveReplyType=Tn;exports.ButtonInteractiveSingleSelectType=An;exports.ButtonInteractiveType=Pn;exports.ButtonInteractiveUrlType=Sn;exports.ButtonSimpleType=En;exports.ButtonType=Ot;exports.CitationType=Fn;exports.Client=zt;exports.ClientAuthPairingType=Nn;exports.ClientAuthQRType=Dn;exports.ClientBaseType=Nt;exports.ClientOptionsType=Dt;exports.DEVICE_ENUM_TYPES=Zn;exports.EventEnumType=xs;exports.FakeReplyType=Bn;exports.LimiterType=Rn;exports.ListenerCallsType=xa;exports.ListenerConnectionType=da;exports.ListenerMessagesType=wa;exports.MESSAGE_ENUM_TYPES=Yn;exports.MediaModifier=et;exports.Plugins=De;exports.StickerMetadataType=$n;exports.StickerShapeType=rt;exports.autoCleanUp=On;exports.cleanJid=L;exports.cleanMediaObject=Tt;exports.definePlugins=Ja;exports.extractJids=qe;exports.extractUrls=Pt;exports.findGlobalWord=me;exports.findNestedByKeys=ao;exports.generateId=X;exports.getDeepContent=ye;exports.getLatestLibVersion=Ct;exports.getUsersMentions=vt;exports.ignoreLint=M;exports.logColor=y;exports.mediaModifier=$;exports.modifyFn=co;exports.normalizeText=H;exports.numbersToJids=wi;exports.pickKeysFromArray=Je;exports.randomize=so;exports.registerAuthCreds=wt;exports.removeAuthCreds=It;exports.shuffleString=oo;exports.toJson=Ge;exports.toString=ue;exports.useAuthState=gt;
36
+ */exports.BaseMessagesType=Lt;exports.ButtonInteractiveCallType=An;exports.ButtonInteractiveCopyType=In;exports.ButtonInteractiveReplyType=Sn;exports.ButtonInteractiveSingleSelectType=Pn;exports.ButtonInteractiveType=En;exports.ButtonInteractiveUrlType=Cn;exports.ButtonSimpleType=Rn;exports.ButtonType=$t;exports.CitationType=Bn;exports.Client=zt;exports.ClientAuthPairingType=Dn;exports.ClientAuthQRType=Wn;exports.ClientBaseType=Nt;exports.ClientOptionsType=Dt;exports.DEVICE_ENUM_TYPES=Yn;exports.EventEnumType=Es;exports.FakeReplyType=On;exports.LimiterType=Fn;exports.ListenerCallsType=Ea;exports.ListenerConnectionType=Ma;exports.ListenerMessagesType=Ca;exports.MESSAGE_ENUM_TYPES=Xn;exports.MediaModifier=et;exports.Plugins=De;exports.StickerMetadataType=$n;exports.StickerShapeType=rt;exports.autoCleanUp=Nn;exports.cleanJid=L;exports.cleanMediaObject=Tt;exports.definePlugins=Ja;exports.extractJids=qe;exports.extractUrls=Pt;exports.findGlobalWord=me;exports.findNestedByKeys=yo;exports.generateId=X;exports.getDeepContent=he;exports.getLatestLibVersion=Ct;exports.getUsersMentions=vt;exports.ignoreLint=M;exports.logColor=y;exports.mediaModifier=O;exports.modifyFn=ho;exports.normalizeText=H;exports.numbersToJids=Mi;exports.pickKeysFromArray=Je;exports.randomize=go;exports.registerAuthCreds=wt;exports.removeAuthCreds=It;exports.shuffleString=fo;exports.toJson=Ge;exports.toString=ue;exports.useAuthState=gt;
package/dist/index.mjs CHANGED
@@ -1,28 +1,28 @@
1
- import*as te from'path';import te__default from'path';import {pathToFileURL}from'url';import ye from'fluent-ffmpeg';import Ue from'fs/promises';import {tmpdir}from'os';import nn,{initAuthCreds,proto,makeCacheableSignalKeyStore,Browsers,extractMessageContent,getContentType,URL_REGEX,BufferJSON,generateWAMessageFromContent,generateMessageIDV2,isJidGroup,delay,DisconnectReason,jidNormalizedUser,getDevice,downloadMediaMessage}from'baileys';import {createJetDB}from'jetdb';import {createSpinner}from'nanospinner';import ce from'node-cache';import Qt from'pino';import Zn,{EventEmitter}from'stream';import {Mutex}from'async-mutex';import {fileTypeFromBuffer}from'file-type';import {Jimp}from'jimp';import dn from'node-webpmux';import R from'lodash';import Ct from'unorm';import {fromError}from'zod-validation-error';import Pt,{cristal}from'gradient-string';import wn from'figlet';import bn from'qrcode-terminal';import {RateLimiterMemory}from'rate-limiter-flexible';import m,{z as z$1}from'zod';import*as De from'fs';var Gt=Object.defineProperty;var pt=(s,e)=>()=>(s&&(e=s(s=0)),e);var Jt=(s,e)=>{for(var t in e)Gt(s,t,{get:e[t],enumerable:true});};var c=pt(()=>{});var bt={};Jt(bt,{BufferConverter:()=>A,FFMPEG_CONSTANTS:()=>b,FFmpegProcessor:()=>L,FileManager:()=>w,MimeValidator:()=>F,initializeFFmpeg:()=>qe});var b,qe,w,A,F,L,G=pt(()=>{c();b={OPUS:{CODEC:"libopus",CHANNELS:1,FREQUENCY:48e3,BITRATE:"48k",FORMAT:"ogg"},THUMBNAIL:{SIZE:100,QUALITY:50,TIMESTAMP:"10%"},STICKER:{SIZE:512,MAX_DURATION:10,FPS:15,DEFAULT_QUALITY:80,COMPRESSION_LEVEL:6},MIME:{AUDIO:"audio/",VIDEO:"video/",IMAGE:"image/",GIF:"image/gif",MP4:"video/mp4"}},qe=async(s=false)=>{if(!s)try{let e=(await import('@ffmpeg-installer/ffmpeg')).default,t=(await import('@ffprobe-installer/ffprobe')).default;ye.setFfmpegPath(e.path),ye.setFfprobePath(t.path);}catch{}},w=class{static generateUniqueId(){return `${Date.now()}_${Math.random().toString(36).slice(2,11)}`}static createTempPath(e,t){return te__default.join(tmpdir(),`${e}_${this.generateUniqueId()}.${t}`)}static async cleanup(e){await Promise.allSettled(e.map(t=>Ue.unlink(t)));}static async safeReadFile(e){try{return await Ue.readFile(e)}catch{throw new Error(`Failed to read file: ${e}`)}}static async safeWriteFile(e,t){try{await Ue.writeFile(e,t);}catch{throw new Error(`Failed to write file: ${e}`)}}},A=class{static async toBuffer(e){if(Buffer.isBuffer(e))return e;if(e instanceof ArrayBuffer)return Buffer.from(e);if(typeof e=="string")return this.fromString(e);throw new Error("Invalid input type: expected string, Buffer, or ArrayBuffer")}static async fromString(e){return e.startsWith("http://")||e.startsWith("https://")?this.fromUrl(e):Buffer.from(e,"base64")}static async fromUrl(e){try{let t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}: ${t.statusText}`);let r=await t.arrayBuffer();return Buffer.from(r)}catch(t){throw new Error(`Failed to fetch URL: ${t.message}`)}}},F=class{static validate(e,t){if(!e?.mime?.startsWith(t))throw new Error(`Invalid file type: expected ${t}*, got ${e?.mime||"unknown"}`)}static isMedia(e){return e.startsWith(b.MIME.IMAGE)||e.startsWith(b.MIME.VIDEO)}static isAnimated(e){return e===b.MIME.GIF||e.startsWith(b.MIME.VIDEO)}},L=class{static async process(e){return new Promise((t,r)=>{let i=ye(e.input).output(e.output);for(let n=0;n<e.options.length;n++){let o=e.options[n];o.startsWith("-")&&n+1<e.options.length&&!e.options[n+1].startsWith("-")?(i.outputOptions(o,e.options[n+1]),n++):i.outputOptions(o);}i.on("end",async()=>{try{await e.onEnd(),t();}catch(n){r(n);}}).on("error",async n=>{try{await e.onError(n);}finally{r(n);}}).run();})}static async getDuration(e){return new Promise((t,r)=>{ye.ffprobe(e,(i,n)=>{if(i)return r(i);t(n.format.duration||0);});})}};});c();c();c();c();var lt=s=>createJetDB(`${s}/auth/creds.json`,{BufferJSON:BufferJSON,cacheSize:100,flushMode:"sync",compression:"none",enableIndexing:false}),ge=s=>createJetDB(`${s}/auth/keys.json`,{BufferJSON:BufferJSON,size:1024*1024,cacheSize:2e3,flushMode:"sync",compression:"deflate",enableIndexing:false,hotThreshold:5}),ut=(s,e)=>createJetDB(`.session/${s}/store/${e}.json`,{BufferJSON:BufferJSON,cacheSize:2e4,debounceMs:1e3,flushMode:"debounce",compression:"deflate",serialization:"json",enableIndexing:true,hotThreshold:2,size:5*1024*1024});c();c();var mt=new ce({stdTTL:600,checkperiod:120,useClones:false}),N=new ce({stdTTL:300,useClones:false}),dt=new ce({stdTTL:300}),ft=new ce({stdTTL:600,checkperiod:120,useClones:false,deleteOnExpire:true,maxKeys:100}),gt=new ce;c();var ne=class{classInjection(e,t){let r=t.length;return new Proxy(e,{get(i,n,o){if(n in i){let p=Reflect.get(i,n,o);return typeof p=="function"?p.bind(i):p}for(let p=0;p<r;p++){let l=t[p];if(n in l){let u=Reflect.get(l,n,o);return typeof u=="function"?u.bind(l):u}}},set(i,n,o,p){if(n in i)return Reflect.set(i,n,o,p);for(let l=0;l<r;l++){let u=t[l];if(n in u)return Reflect.set(u,n,o,p)}return Reflect.set(i,n,o,p)},has(i,n){if(n in e)return true;for(let o=0;o<r;o++)if(n in t[o])return true;return false},ownKeys(){let i=[];for(let n of Reflect.ownKeys(e))i.push(n);for(let n=0;n<r;n++)for(let o of Reflect.ownKeys(t[n]))i.includes(o)||i.push(o);return i},getOwnPropertyDescriptor(i,n){let o=Object.getOwnPropertyDescriptor(e,n);if(o)return o;for(let p=0;p<r;p++)if(o=Object.getOwnPropertyDescriptor(t[p],n),o)return o}})}};var Le=class extends ce{constructor(){return super({useClones:false}),new ne().classInjection(this,[mt])}spinner=createSpinner("",{color:"green"});logger=Qt({level:"silent",enabled:false});events=new EventEmitter},a=new Le;var yt=async s=>{a.spinner.start(" Initializing auth state...");let e=lt(s),t=ge(s),r=await e.get("creds")||initAuthCreds();return a.spinner.success(" Generate auth successfully"),{state:{creds:r,keys:{get:async(i,n)=>{let o={};return await Promise.all(n.map(async p=>{let l=`${i}:${p}`,u=await t.get(l);i==="app-state-sync-key"&&u&&(u=proto.Message.AppStateSyncKeyData.fromObject(u)),o[p]=u;})),o},set:async i=>{let n=[],o=[];for(let p in i)for(let l in i[p]){let u=i[p][l],T=`${p}:${l}`;u?n.push({key:T,value:u}):o.push(T);}n.length&&await t.batchSet(n),o.length&&await t.batchDelete(o),await t.flush();}}},saveCreds:async()=>{await e.set("creds",r);}}};c();c();var wt=(s,e)=>({logger:s.health.logger,printQRInTerminal:false,enableRecentMessageCache:true,emitOwnEvents:true,keepAliveIntervalMs:3e4,browser:Browsers.ubuntu("Chrome"),markOnlineOnConnect:s.options.autoOnline,syncFullHistory:s.options.syncFullHistory,msgRetryCounterCache:gt,mediaCache:dt,auth:{creds:e.creds,keys:makeCacheableSignalKeyStore(e.keys,a.logger)},cachedGroupMetadata:async t=>N.get(t),shouldIgnoreJid:()=>false,shouldSyncHistoryMessage:()=>s.options.syncFullHistory,patchMessageBeforeSending:t=>t,getMessage:async t=>{if(!t?.remoteJid)return proto.Message.fromObject({});let r=await s.db("messages").getByIndex("messages","key.id",t.id);return proto.Message.fromObject(r[0])}});var kt=async s=>{let e=`.session/${s.options.session}`;console.info=()=>{};let{state:t,saveCreds:r}=await yt(e),i=wt(s,t),n=nn(i);n.ev.on("creds.update",r),a.set("socket",n);};c();c();c();var ze=class{store=ft;mutex=new Mutex;async inject(e,t){let r=await this.mutex.acquire();try{this.store.set(e,t);}finally{r();}}async get(e){let t=await this.mutex.acquire();try{return this.store.get(e)}finally{t();}}getSync(e){return this.store.get(e)}getAll(){let e=this.store.keys();return this.store.mget(e)}async remove(e){let t=await this.mutex.acquire();try{return this.store.del(e)>0}finally{t();}}async clear(){let e=await this.mutex.acquire();try{this.store.flushAll();}finally{e();}}has(e){return this.store.has(e)}get size(){return this.store.getStats().keys}keys(){return this.store.keys()}},X=new ze;c();G();c();G();var re=class{static async toOpus(e){return this.convert(e,"opus")}static async toMp3(e){return this.convert(e,"mp3")}static async convert(e,t="opus"){let r=await A.toBuffer(e),i=await fileTypeFromBuffer(r);F.validate(i,b.MIME.AUDIO);let n=w.createTempPath("audio_in","wav"),o=t==="opus"?"ogg":"mp3",p=w.createTempPath("audio_out",o);await w.safeWriteFile(n,r);let l;try{let u=t==="opus"?["-vn","-c:a","libopus","-b:a","48k","-ac","1","-avoid_negative_ts","make_zero","-map_metadata","-1","-f","opus"]:["-vn","-c:a","libmp3lame","-b:a","128k","-ac","2","-avoid_negative_ts","make_zero","-map_metadata","-1","-f","mp3"];return await L.process({input:n,output:p,options:u,onEnd:async()=>{l=await w.safeReadFile(p);},onError:async()=>{await w.cleanup([n,p]);}}),await w.cleanup([n,p]),l}catch(u){throw await w.cleanup([n,p]),new Error(`${t.toUpperCase()} conversion failed: ${u.message}`)}}};c();G();var z=class{static async toMp4(e){let t=await A.toBuffer(e),r=await fileTypeFromBuffer(t);F.validate(r,b.MIME.VIDEO);let i=w.createTempPath("video_in","mp4"),n=w.createTempPath("video_out","mp4");await w.safeWriteFile(i,t);let o;try{let p=["-c:v","libx264","-preset","ultrafast","-crf","28","-c:a","aac","-b:a","128k","-movflags","+faststart","-pix_fmt","yuv420p","-f","mp4"];return await L.process({input:i,output:n,options:p,onEnd:async()=>{o=await w.safeReadFile(n);},onError:async()=>{await w.cleanup([i,n]);}}),await w.cleanup([i,n]),o}catch(p){throw await w.cleanup([i,n]),new Error(`Video re-encoding failed: ${p.message}`)}}static async thumbnail(e){let t=await A.toBuffer(e),r=await fileTypeFromBuffer(t);F.validate(r,b.MIME.VIDEO);let i=w.createTempPath("video","mp4"),n=w.createTempPath("thumb","jpg");await w.safeWriteFile(i,t);let o;try{return await new Promise((p,l)=>{ye(i).screenshots({timestamps:[b.THUMBNAIL.TIMESTAMP],filename:te__default.basename(n),folder:te__default.dirname(n),size:`${b.THUMBNAIL.SIZE}x${b.THUMBNAIL.SIZE}`}).on("end",async()=>{try{o=(await w.safeReadFile(n)).toString("base64"),p();}catch(u){l(u);}}).on("error",l);}),await w.cleanup([i,n]),o}catch(p){throw await w.cleanup([i,n]),new Error(`Thumbnail generation failed: ${p.message}`)}}static async duration(e){return L.getDuration(e)}};c();G();var D=class{static async thumbnail(e){let t=await fileTypeFromBuffer(e),r=b.THUMBNAIL.SIZE,i=await Jimp.read(e);return i.cover({w:r,h:r}),t?.mime===b.MIME.GIF&&i.resize({w:r,h:r}),(await i.getBuffer("image/jpeg",{quality:b.THUMBNAIL.QUALITY})).toString("base64")}static async resize(e,t,r){let i=await Jimp.read(e);return i.cover({w:t,h:r}),await i.getBuffer("image/png")}static async toJpeg(e){let t=await A.toBuffer(e),r=await fileTypeFromBuffer(t);if(!r||!r.mime.startsWith(b.MIME.IMAGE))throw new Error("Invalid image type");return r.mime==="image/webp"?await(await Jimp.read(t)).getBuffer("image/jpeg"):t}static async resizeForSticker(e,t,r="default"){let i=b.STICKER.SIZE,n=await Jimp.read(e);if(n.contain({w:i,h:i}),r!=="default"){let C=new Jimp({width:i,height:i,color:0});for(let M=0;M<i;M++)for(let P=0;P<i;P++){let W=false,J=i/2,K=i/2;switch(r){case "circle":{let v=P-J,O=M-K;W=v*v+O*O<=J*J;break}case "rounded":{let v=i/10,O=P>=v&&P<i-v&&M>=0&&M<i,V=P>=0&&P<i&&M>=v&&M<i-v,S=false,_=[[v,v],[i-v,v],[v,i-v],[i-v,i-v]];for(let[oe,se]of _){let Y=P-oe,H=M-se;if(Y*Y+H*H<=v*v){S=true;break}}W=O||V||S;break}case "oval":{let v=i/2,O=i/3,V=(P-J)/v,S=(M-K)/O;W=V*V+S*S<=1;break}}W&&C.setPixelColor(4294967295,P,M);}n.mask(C);}let o=w.createTempPath("sticker_img","png"),p=w.createTempPath("sticker_out","webp"),l=await n.getBuffer("image/png");await w.safeWriteFile(o,l);let{FFmpegProcessor:u}=await Promise.resolve().then(()=>(G(),bt)),T;try{return await u.process({input:o,output:p,options:["-vf",`scale=${i}:${i}`,"-quality",String(t),"-f","webp"],onEnd:async()=>{T=await w.safeReadFile(p);},onError:async()=>{await w.cleanup([o,p]);}}),await w.cleanup([o,p]),T}catch(C){throw await w.cleanup([o,p]),new Error(`Sticker resize failed: ${C.message}`)}}};c();c();var ee=s=>{let e;Array.isArray(s)?e=s.join("|"):typeof s=="string"?e=s:e=String(s);let t=2166136261,r=e.length;for(let i=0;i<r;i++)t^=e.charCodeAt(i),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return "Z4D3FC"+(t>>>0).toString(16).padStart(8,"0").toUpperCase()},Tt=(s="")=>{if(!s)return [];let e=new Set;for(let t of s.matchAll(/@(\d+)/g))e.add(t[1]);return R.toArray(e)},Ve=(s="")=>{if(!s)return [];let e=new Set;for(let t of s.matchAll(/@(\d+)/g))t[1].length<=15&&e.add(t[1]);return R.flatMap([...e],t=>[`${t}@s.whatsapp.net`,`${t}@g.us`,`${t}@lid`])},vi=s=>R.isEmpty(s)?[]:R.map([...s],e=>`${e}@s.whatsapp.net`),St=s=>R.omit(s,["url","contextInfo","fileSha256","fileEncSha256","mediaKey","directPath","waveform","thumbnail","jpegThumbnail","thumbnailEncSha256","thumbnailSha256","thumbnailDirectPath","firstFrameSidecar","streamingSidecar","scansSidecar","callKey","message","key","midQualityFileSha256","historySyncNotification","appStateSyncKeyShare","appStateSyncKeyRequest","initialSecurityNotificationSettingSync","appStateFatalExceptionNotification","disappearingMode","peerDataOperationRequestMessage","peerDataOperationRequestResponseMessage","botFeedbackMessage"]),he=s=>{if(!s)return {leaf:void 0,chain:[]};let e=extractMessageContent(s)||s,t=[];for(;e&&typeof e=="object";){let r=getContentType(e);if(!r)break;t.push(r);let i=e[r];if(!i||typeof i!="object"){e=i;break}e=i;}return {leaf:e,chain:t}},U=s=>Number(s?.split("@")[0]);c();var x=s=>s,It=async()=>{try{return (await(await fetch("https://registry.npmjs.org/zaileys")).json())["dist-tags"].latest}catch(s){throw s}},At=async s=>{try{let e=`.session/${s}/auth/creds.json`;await Ue.unlink(e);}catch(e){throw a.spinner.error(`Failed to remove auth creds for session "${s}"!`),e}},Q=(s="")=>{if(!s?.length)return null;let e=s.replace(/\u202E(.*?)(\u202C|$)/gu,(t,r)=>[...r].reverse().join("")).replace(/\u202D(.*?)(\u202C|$)/gu,(t,r)=>[...r].reverse().join("")).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/gu,"").replace(/[\u200B\u200C\u200D\uFEFF]/gu,"").replace(/[\u00AD\u034F\u115F\u1160\u17B4\u17B5\u180B-\u180E]/gu,"").replace(/[\u2060-\u2064\u206A-\u206F]/gu,"").replace(/[\u2800\uFFFC\uFFFD]/gu,"").replace(/[\uFE00-\uFE0F]/gu,"").split("").map(t=>Ct.nfkd(t)).join("").replace(/[\u0300-\u036F]/gu,"").replace(/[\u1AB0-\u1AFF]/gu,"").replace(/[\u1DC0-\u1DFF]/gu,"").replace(/[\u20D0-\u20FF]/gu,"").replace(/[\uFE20-\uFE2F]/gu,"").replace(/[\p{Cc}]/gu,"").replace(/[\p{Cf}]/gu,"").replace(/[\p{Co}]/gu,"").replace(/[\p{Cn}]/gu,"").replace(/[\p{Cs}]/gu,"").replace(/[\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/gu," ").replace(/[\u2028\u2029]/gu," ").replace(/[\t\r\n\f\v]/g," ").split("").map(t=>Ct.nfkc(t)).join("").normalize("NFC").replace(/\s+/g," ").trim();return e.length?e:null};G();var we=class{static async create(e,t){try{let r=await A.toBuffer(e),i=await fileTypeFromBuffer(r);if(!i)throw new Error("Unable to detect file type");let n=t?.quality||b.STICKER.DEFAULT_QUALITY,o=F.isAnimated(i.mime),p=t?.shape||"default",l=o?await this.processAnimated(r,i.mime,n):await D.resizeForSticker(r,n,p),u=this.createExifMetadata(t),T=new dn.Image;await T.load(l),T.exif=u;let C=await T.save(null);return Buffer.isBuffer(C)?C:Buffer.from(C)}catch(r){throw new Error(`Sticker creation failed: ${r.message||r}`)}}static createExifMetadata(e){let t={"sticker-pack-id":ee(Date.now().toString()),"sticker-pack-name":e?.packageName||"Zaileys Library","sticker-pack-publisher":e?.authorName||"https://github.com/zeative/zaileys",emojis:["\u{1F913}"],"android-app-store-link":"https://play.google.com/store/apps/details?id=com.marsvard.stickermakerforwhatsapp","ios-app-store-link":"https://itunes.apple.com/app/sticker-maker-studio/id1443326857"},r=Buffer.from([73,73,42,0,8,0,0,0,1,0,65,87,7,0,0,0,0,0,22,0,0,0]),i=Buffer.from(JSON.stringify(t),"utf8"),n=Buffer.concat([r,i]);return n.writeUIntLE(i.length,14,4),n}static async processAnimated(e,t,r){let i=this.getExtension(t),n=w.createTempPath("sticker_in",i),o=w.createTempPath("sticker_out","webp");await w.safeWriteFile(n,e);let p=b.STICKER.MAX_DURATION;try{let P=await z.duration(n);p=x(Math.min(P,b.STICKER.MAX_DURATION));}catch{console.warn("Using default duration:",b.STICKER.MAX_DURATION);}let l=b.STICKER.SIZE,u=b.STICKER.FPS,T=`scale=${l}:${l}:force_original_aspect_ratio=increase,crop=${l}:${l},fps=${u},format=rgba`,C=Math.max(1,Math.min(100,100-r)),M;try{return await L.process({input:n,output:o,options:["-vcodec libwebp",`-vf ${T}`,`-q:v ${C}`,"-loop 0","-preset default","-an","-vsync 0",`-t ${p}`,`-compression_level ${b.STICKER.COMPRESSION_LEVEL}`],onEnd:async()=>{M=await w.safeReadFile(o);},onError:async()=>{await w.cleanup([n,o]);}}),await w.cleanup([n,o]),M}catch(P){throw await w.cleanup([n,o]),new Error(`Animated sticker processing failed: ${P.message}`)}}static getExtension(e){return e===b.MIME.GIF?"gif":e.startsWith(b.MIME.VIDEO)?"mp4":"tmp"}};c();G();G();var ke=class{static async create(e){try{let t=await A.toBuffer(e),r=await fileTypeFromBuffer(t);if(!r)throw new Error("Unable to detect file type");let i;return r.mime.startsWith(b.MIME.VIDEO)?i=await z.thumbnail(t):F.isMedia(r.mime)?i=await D.thumbnail(t):i="",{document:t,mimetype:r.mime,fileName:ee(Date.now().toString()),jpegThumbnail:i}}catch(t){throw new Error(`Document creation failed: ${t.message||t}`)}}};c();var ue=(s,e)=>{try{return s.parse(e)}catch(t){let r=fromError(t);throw new Error(r.toString())}};c();c();var Ge=class{concurrency;timeout;onError;queue;running;completed;failed;isClosing;closeResolve;constructor(e){this.concurrency=e?.concurrency||10,this.timeout=e?.timeout||3e4,this.onError=e?.onError||this._defaultErrorHandler,this.queue=[],this.running=new Set,this.completed=0,this.failed=0,this.isClosing=false,this.closeResolve=null;}add(e,t){if(this.isClosing)throw new Error("Queue is closing, cannot add new tasks");let r={id:this._generateId(),fn:e,priority:t?.priority||0,timeout:t?.timeout||this.timeout,retries:t?.retries||0,maxRetries:t?.maxRetries||0,createdAt:Date.now()},i=this.queue.findIndex(n=>n.priority<r.priority);return i===-1?this.queue.push(r):this.queue.splice(i,0,r),this._process(),r.id}addBulk(e){return e.map(({fn:t,options:r})=>this.add(t,r))}async _process(){for(;this.running.size<this.concurrency&&this.queue.length>0;){let e=this.queue.shift();this.running.add(e),this._executeTask(e);}this.isClosing&&this.running.size===0&&this.queue.length===0&&this.closeResolve?.();}async _executeTask(e){try{await this._withTimeout(e.fn(),e.timeout),this.completed++;}catch(t){e.retries<e.maxRetries?(e.retries++,this.queue.unshift(e)):(this.failed++,this.onError(t,e));}finally{this.running.delete(e),this._process();}}_withTimeout(e,t){return Promise.race([e,new Promise((r,i)=>setTimeout(()=>i(new Error("Task timeout")),t))])}async close(e=0){if(this.isClosing=true,this.running.size===0&&this.queue.length===0)return;let t=new Promise(r=>{this.closeResolve=r;});if(e>0){let r=new Promise(i=>setTimeout(i,e));await Promise.race([t,r]);}else await t;}forceClose(){this.queue=[],this.running.clear(),this.isClosing=true,this.closeResolve?.();}getStats(){return {queued:this.queue.length,running:this.running.size,completed:this.completed,failed:this.failed,total:this.completed+this.failed}}isIdle(){return this.queue.length===0&&this.running.size===0}async waitUntilIdle(e=100){for(;!this.isIdle();)await new Promise(t=>setTimeout(t,e));}_defaultErrorHandler(e,t){console.error(`[FireAndForget] Task ${t.id} failed:`,e);}_generateId(){return `${Date.now()}-${Math.random().toString(36).substr(2,9)}`}},E=new Ge;process.on("SIGTERM",()=>E.close());c();c();c();var h=(s,e="lime")=>Array.isArray(e)?Pt(e)(s):Pt([e,e])(s),Je=s=>{try{return JSON.parse(s)}catch{return R.attempt(()=>JSON.parse(JSON.stringify(s)||"{}"))}},me=s=>{try{return JSON.stringify(s)}catch{let e=R.attempt(()=>JSON.stringify(Je(s)||"{}"));return R.isError(e)?"{}":e}},lo=(s="")=>R.shuffle(s).join(""),de=(s="",e="")=>s?R.includes(s.toLowerCase(),e.toLowerCase()):null,Et=(s="")=>s?R.castArray(s.match(URL_REGEX)||[]):[],uo=s=>s[Math.floor(Math.random()*s.length)],Ke=(s,e)=>{let t=i=>!!(i==null||typeof i=="string"&&i.trim()===""||Array.isArray(i)&&i.length===0||typeof i=="object"&&Object.keys(i).length===0),r=(i,n)=>{if(!i||typeof i!="object")return;let o=i,p=n.split(".");for(let l of p){let u=l.match(/^(.+?)\[(\d+)\]$/);if(u){let[,T,C]=u;o=o?.[T]?.[parseInt(C,10)];}else o=o?.[l];if(t(o))return}return o};if(!(!Array.isArray(s)||s.length===0)&&!(!Array.isArray(e)||e.length===0)){for(let i of s)if(!(!i||typeof i!="object"))for(let n of e){let o=r(i,n);if(!t(o))return o}}},mo=(s,e)=>{let t=R.castArray(e),r=(o,p)=>R.every(p,(l,u)=>o?.[u]===l),i=(o,p)=>R.some(p,(l,u)=>o?.[u]===l),n=o=>R.isArray(o)?R.find(o,n)??o:R.isObject(o)?R.find(t,u=>r(o,u))||R.find(t,u=>i(o,u))?o:R.find(R.values(o),n)??o:null;return n(s)},fo=(s,e,t)=>new Proxy(s,{apply(r,i,n){e?.(n);let o=Reflect.apply(r,i,n);return t?t(o,n):o}});c();var He=class{input;constructor(e){this.input=e;}async toOpus(){return re.toOpus(this.input)}async toMp3(){return re.toMp3(this.input)}async convert(e="opus"){return re.convert(this.input,e)}},Qe=class{input;constructor(e){this.input=e;}async toMp4(){return z.toMp4(this.input)}async thumbnail(){return z.thumbnail(this.input)}},Ze=class{input;constructor(e){this.input=e;}async toJpeg(){return D.toJpeg(this.input)}async thumbnail(){let e=await A.toBuffer(this.input);return D.thumbnail(e)}async resize(e,t){let r=await A.toBuffer(this.input);return D.resize(r,e,t)}},Ye=class{input;metadata;constructor(e,t){this.input=e,this.metadata=t;}async create(){return we.create(this.input,this.metadata)}},Xe=class{input;constructor(e){this.input=e;}async create(){return ke.create(this.input)}},et=class{input;constructor(e){this.input=e;}async get(){let e=await A.toBuffer(this.input),t=await fileTypeFromBuffer(e);if(!t||!F.isMedia(t.mime))throw new Error("Invalid media type: expected image or video");return t.mime.startsWith(b.MIME.VIDEO)?z.thumbnail(this.input):D.thumbnail(e)}},tt=class{audio(e){return new He(e)}video(e){return new Qe(e)}image(e){return new Ze(e)}sticker(e,t){return new Ye(e,t)}document(e){return new Xe(e)}thumbnail(e){return new et(e)}async toBuffer(e){return A.toBuffer(e)}},$=new tt;var be=class{constructor(e){this.client=e;this.initialize();}async initialize(){let e=a.get("socket");e.ev.on("call",async t=>{for(let r of t){let i=await this.parse(r);i&&(E.add(async()=>this.client.middleware.run({calls:i})),E.add(async()=>this.client.plugins.execute(this.client,{messages:i})),a.events.emit("calls",i),this.client.options?.autoRejectCall&&E.add(async()=>e.rejectCall(i.callId,i.callerId)));}});}async parse(e){let t=a.get("socket"),r={};return r.callId=e.id,r.callerId=jidNormalizedUser(e.from),r.roomId=jidNormalizedUser(e.chatId),r.roomName=Q(t?.user?.name||t?.user?.verifiedName),r.date=e.date,r.offline=e.offline,r.status=e.status,r.isVideo=!!e.isVideo,r.isGroup=!!e.isGroup,this.client.logs.call(r),r}};c();c();var Ft=s=>{bn.generate(s,{small:true},e=>{console.log(e);});},Bt=async()=>{console.clear(),a.spinner.start(" Checking for updates...");let s="2.1.9",e="zaadevofc",t=await It(),r=s===t;a.spinner.stop();let i="Zaileys",n=`
2
- by ${e} \xB7 v${s}`,o=`${r?"Already using latest version!":`Update available! (v${t})`}
3
- `,p=r?"lime":"orange",l=await wn.text(i),u=cristal(l);console.log(u),console.log(h(n,"dimgray")),console.log(h(o,p));};var xe=class{constructor(e){this.client=e;this.initialize();}async initialize(){a.spinner.start(" Initializing connection...");let e=a.get("socket"),t={},r=async()=>{t.status="reload",a.spinner.warn(" Connection lost. Attempting auto-reload..."),await this.client.initialize();},i=async()=>{await delay(3e3),a.spinner.warn(" Invalid session. Attempting auto cleaning creds..."),await delay(3e3),await At(this.client.options.session),await r();};if(this.client.options.authType==="pairing"&&this.client.options.phoneNumber&&!e.authState.creds.registered){a.spinner.update(" Generating pairing code..."),await delay(3500);try{t.authTimeout=Date.now()+6e4;let n=new Date(t.authTimeout).toLocaleTimeString(),o=await e.requestPairingCode(this.client.options.phoneNumber.toString());a.spinner.warn(` Pairing expired at ${cristal(n)}`),a.spinner.warn(` Pairing code: ${o}`),t.code=o;}catch{await i();}}e.ev.on("connection.update",async n=>{let{connection:o,lastDisconnect:p,qr:l}=n;if(t.status=o||"connecting",t.authType=this.client.options.authType,a.spinner.update(" Connection status: "+cristal(t.status)),this.client.options.authType==="qr"&&l){t.authTimeout=Date.now()+6e4;let u=new Date(t.authTimeout).toLocaleTimeString();a.spinner.warn(" Please scan the QR code..."),a.spinner.warn(` Qr code expired at ${cristal(u)}`),Ft(l),t.qr=l;return}if(o==="close"){let u=x(p?.error)?.output?.statusCode,T=p?.error?.message||"",C=typeof u=="number"&&u!==DisconnectReason.loggedOut;if(a.spinner.error(` [${u} - Closed] ${T}`),u===401||u===405){a.spinner.warn(" Session may be used by another device/instance."),a.spinner.warn(" If you want to connect here, close the other connection first."),a.spinner.warn(` Or use a different session name in your Client options.
4
- `);return}if(u===500){a.spinner.error(" Server error occurred, attempting reconnect..."),await r();return}C&&await r();}if(o==="open")if(e.user?.id){let u=jidNormalizedUser(e.user.id).split("@")[0],T=e.user.name||e.user.verifiedName;a.spinner.success(` Connected as ${cristal(T||u)}`);}else a.spinner.success(" Connected!");a.events.emit("connection",t);}),e.ev.on("messaging-history.set",({progress:n})=>{t.status="syncing",t.syncProgress=n,a.spinner.start(" Syncing messages history..."),n&&a.spinner.update(` Syncing messages history ${n+"%"}`),n==100&&(a.spinner.success(" Syncing messages history completed!"),t.syncCompleted=true),a.events.emit("connection",t);});}};c();c();var Ot={text:"text",conversation:"text",imageMessage:"image",contactMessage:"contact",locationMessage:"location",documentMessage:"document",audioMessage:"audio",videoMessage:"video",protocolMessage:"protocol",contactsArrayMessage:"contacts",highlyStructuredMessage:"highlyStructured",sendPaymentMessage:"sendPayment",liveLocationMessage:"location",requestPaymentMessage:"requestPayment",groupStatusMentionMessage:"groupStatusMention",statusMentionMessage:"statusMention",albumMessage:"album",declinePaymentRequestMessage:"declinePaymentRequest",cancelPaymentRequestMessage:"cancelPaymentRequest",templateMessage:"template",stickerMessage:"sticker",groupInviteMessage:"groupInvite",templateButtonReplyMessage:"buttons",productMessage:"product",deviceSentMessage:"deviceSent",listMessage:"lists",viewOnceMessage:"viewOnce",orderMessage:"order",listResponseMessage:"lists",ephemeralMessage:"ephemeral",invoiceMessage:"invoice",buttonsMessage:"buttons",buttonsResponseMessage:"buttons",paymentInviteMessage:"paymentInvite",interactiveMessage:"interactive",reactionMessage:"reaction",stickerSyncRmrMessage:"sticker",questionMessage:"question",nativeFlowResponseMessage:"lists",interactiveResponseMessage:"interactiveResponse",pollCreationMessage:"pollCreation",pollCreationMessageKey:"pollUpdate",pollUpdateMessage:"pollUpdate",keepInChatMessage:"keepInChat",documentWithCaptionMessage:"document",requestPhoneNumberMessage:"requestPhoneNumber",viewOnceMessageV2:"viewOnce",encReactionMessage:"reaction",editedMessage:"text",viewOnceMessageV2Extension:"viewOnce",pollCreationMessageV2:"pollCreation",scheduledCallCreationMessage:"scheduledCallCreation",groupMentionedMessage:"groupMentioned",pinInChatMessage:"pinInChat",pollCreationMessageV3:"pollCreation",scheduledCallEditMessage:"scheduledCallEdit",ptvMessage:"ptv",botInvokeMessage:"botInvoke",callLogMesssage:"callLog",encCommentMessage:"encComment",bcallMessage:"bcall",lottieStickerMessage:"lottieSticker",eventMessage:"event",commentMessage:"comment",newsletterAdminInviteMessage:"text",extendedTextMessageWithParentKey:"text",extendedTextMessage:"text",placeholderMessage:"placeholder",encEventUpdateMessage:"encEventUpdate"},rt={whatsapp:"0@s.whatsapp.net",meta:"13135550002@s.whatsapp.net",chatgpt:"18002428478@s.whatsapp.net",copilot:"18772241042@s.whatsapp.net",instagram:"447723442971@s.whatsapp.net",tiktok:"6285574670498@s.whatsapp.net"};c();var ve=class{constructor(e){this.client=e;this.limiter=new RateLimiterMemory({points:this.client.options.limiter?.maxMessages,duration:this.client.options.limiter?.durationMs/1e3});}limiter;async isSpam(e){try{return await this.limiter.consume(e),!1}catch{return true}}};var Se=class{constructor(e){this.client=e;this.limiter=new ve(e),this.initialize();}limiter;maxReplies=3;async initialize(){let e=a.get("socket");if(!e?.ev){console.warn("\u26A0\uFE0F [Messages] Socket or socket.ev is not available during initialization");return}e.ev.on("messages.upsert",async({messages:t,type:r})=>{try{if(r!=="notify"&&r!=="append")return;for(let i of t)try{let n=await this.parse(i);n&&(E.add(async()=>this.client.middleware.run({messages:n})),E.add(async()=>this.client.plugins.execute(this.client,{messages:n})),a.set("message",n),a.events.emit("messages",n),this.client.options.autoRead&&E.add(async()=>e.readMessages([n.message().key])));}catch(n){console.error(`\u274C [Messages] Error processing message ${i.key?.id}:`,n);}}catch(i){console.error("\u274C [Messages] Critical error in upsert listener:",i);}});}async parse(e,t){if(e?.category==="peer"||!e?.message||!e?.key?.id||e?.messageStubType||e?.messageStubParameters?.length||e.message?.protocolMessage?.peerDataOperationRequestResponseMessage)return;let r=e,i=a.get("socket"),n={},o=he(e.message),p=o.chain.at(-1),l=o.leaf;if(l?.message&&(o=he(l.message),p=o.chain.at(-1),l=o.leaf),n.uniqueId=null,n.channelId=null,n.chatId=e?.message?.protocolMessage?.key?.id||e?.key?.id||null,n.chatType=Ot[p],!n.chatType)return;n.receiverLid=jidNormalizedUser(i?.user?.lid||""),n.receiverId=jidNormalizedUser(i?.user?.id||""),n.receiverName=Q(i?.user?.name||i?.user?.verifiedName),n.roomId=jidNormalizedUser(e?.key?.remoteJid);let u=l?.type===0,T=l?.type===1,C=l?.type===2,M=n.roomId?.includes("@newsletter"),P=!!e?.message?.questionMessage,W=e?.key?.fromMe||false;if(W&&this.client.options.ignoreMe&&t!=="replied")return;let J=l?.key?.id;if(u||T||C){let S=await this.client.db("messages").query(n.roomId).where("key.id","=",J).first();if(!S)return;e=S,o=he(e.message),p=o.chain.at(-1),l=o.leaf;}if(n.roomName=await this.client.getRoomName(n.roomId),n.senderLid=jidNormalizedUser(e?.key?.participant||e?.key?.remoteJid)||null,n.senderId=jidNormalizedUser(e?.key?.participantAlt||e?.key?.remoteJidAlt)||null,n.senderName=Q(e?.pushName||e?.verifiedBizName),n.senderDevice=getDevice(n.chatId||""),n.channelId=ee([n.roomId,n.senderId]),n.uniqueId=ee([n.channelId,n.chatId]),n.timestamp=Number(e?.messageTimestamp)*1e3,M){let S=await i.newsletterMetadata("jid",n.roomId);n.roomName=x(S.thread_metadata.name)?.text,n.senderId=null,n.senderLid=null;}W&&(n.senderLid=jidNormalizedUser(i.user.lid),n.senderId=n.receiverId,n.senderName=n.receiverName),n.text=l?.text||l?.caption||l?.name||l?.displayName||l?.conversation||l?.contentText||l?.selectedDisplayText||l||null,l?.name=="menu_options"&&(n.text=Je(l?.paramsJson)?.id),n.text=Q(n.text),n.mentions=Tt(n.text),n.links=Et(n.text||""),n.isBot=n.chatId.startsWith("BAE5")||n.chatId.startsWith("3EB0")||n.chatId.startsWith("Z4D3FC"),n.isFromMe=W;let K=R.castArray(this.client.options?.prefix);if(n.isPrefix=!!K.find(S=>n.text?.startsWith(S)),n.isTagMe=n.mentions?.includes(n.receiverId.split("@")[0])||n.mentions?.includes(n.receiverLid.split("@")[0]),n.isStatusMention=!!e?.message?.statusMentionMessage,n.isGroupStatusMention=!!e?.message?.groupStatusMentionMessage,n.isHideTags=false,R.isEmpty(n.text)&&l?.contextInfo?.mentionedJid?.length&&(n.isHideTags=true),n.isSpam=await this.limiter.isSpam(n.channelId),n.isPrefix&&(n.text=n.text.replace(new RegExp(`^${R.escapeRegExp(K.find(S=>n.text?.startsWith(S))||"")}`),"")),n.isGroup=n.roomId?.includes("@g.us"),n.isNewsletter=M,n.isQuestion=P,n.isStory=n.roomId?.includes("@broadcast"),!n.isGroup&&!n.roomName&&(n.roomName=n.senderName),n.isViewOnce=false,n.isEdited=!!de(me(o),"editedMessage"),n.isDeleted=u,n.isPinned=T,n.isUnPinned=C,n.isBroadcast=!!e?.broadcast,n.isEphemeral=!!de(me(l?.contextInfo),"ephemeralSettingTimestamp"),n.isForwarded=!!de(me(l?.contextInfo),"forwardingScore"),n.citation=null,this.client.options.citation){n.citation=n.citation||{};let S=this.client.options.citation;for(let _ of Object.keys(S)){let oe=S[_];n.citation[_]=async()=>{let se=await oe(),Y=[U(n.roomId),U(n.senderLid),U(n.senderId)];return !!R.intersection(Y,se).length};}}n.chatType!=="text"&&(n.media={...St(l),buffer:()=>downloadMediaMessage(e,"buffer",{}),stream:()=>downloadMediaMessage(e,"stream",{})}),n.isStatusMention&&(n.chatType="statusMention"),n.isGroupStatusMention&&(n.chatType="groupStatusMention"),n.message=()=>r,n.replied=null;let v=l?.contextInfo?.quotedMessage,O=de(me(v),"viewOnce"),V=l?.contextInfo?.stanzaId;if(v&&this.maxReplies){this.maxReplies--;let S=await this.client.db("messages").getByIndex("messages","key.id",V),_;O?_={...S[0],message:v}:_=S[0],n.replied=await this.parse(_,"replied"),n.replied&&(n.replied.isViewOnce=true),this.maxReplies=3;}return t!="replied"&&this.client.logs.message(n),n.injection=X.getAll(),n}};var Ce=class{constructor(e){this.client=e;this.connection=new xe(e),this.messages=new Se(e),this.calls=new be(e),this.initialize();}connection;messages;calls;async initialize(){let e=a.get("socket");e.ev.on("groups.update",async([t])=>{E.add(async()=>{let r=await e.groupMetadata(t.id);N.set(t.id,r);});}),e.ev.on("group-participants.update",async t=>{E.add(async()=>{let r=await e.groupMetadata(t.id);N.set(t.id,r);});}),e?.ev.on("messaging-history.set",async t=>{let{chats:r,contacts:i,messages:n}=t;E.add(async()=>{await this.client.db("chats").batchUpsert("chats",r,"id");}),E.add(async()=>{await this.client.db("contacts").batchUpsert("contacts",i,"id");}),E.add(async()=>{await this.client.db("messages").batchUpsert("messages",n,"key.id");});}),e?.ev.on("messages.upsert",async({messages:t})=>{E.add(async()=>{await this.client.db("messages").batchUpsert("messages",t,"key.id");});}),e?.ev.on("chats.upsert",async t=>{E.add(async()=>{await this.client.db("chats").batchUpsert("chats",t,"id");});}),e?.ev.on("contacts.upsert",async t=>{E.add(async()=>{await this.client.db("contacts").batchUpsert("contacts",t,"id");});}),await this.client.db("messages").createIndex("messages","key.remoteJid"),await this.client.db("messages").createIndex("messages","key.id"),await this.client.db("chats").createIndex("chats","id"),await this.client.db("contacts").createIndex("contacts","id");}};c();c();c();var Sn=m.object({type:m.literal("quick_reply"),text:m.string()}),Cn=m.object({type:m.literal("cta_url"),url:m.url(),text:m.string()}),In=m.object({type:m.literal("cta_copy"),copy:m.string(),text:m.string()}),An=m.object({type:m.literal("cta_call"),text:m.string(),phoneNumber:m.string()}),Pn=m.object({type:m.literal("single_select"),text:m.string(),section:m.object({title:m.string(),highlight_label:m.string().optional(),rows:m.object({id:m.string(),title:m.string(),header:m.string().optional(),description:m.string().optional()}).array()}).array()}),En=m.object({type:m.literal("interactive"),footer:m.string().optional(),data:m.union([Sn,Cn,In,An,Pn]).array()}),Rn=m.object({type:m.literal("simple"),footer:m.string().optional(),data:m.object({id:m.string(),text:m.string()}).array()}),Nt=m.union([Rn,En]);c();var Fn=z$1.object({maxMessages:z$1.number().default(20),durationMs:z$1.number().default(1e4)}).optional(),Bn=z$1.record(z$1.string(),z$1.function({output:z$1.promise(z$1.array(z$1.number()))})).optional(),On=z$1.object({provider:z$1.enum(["whatsapp","meta","chatgpt","copilot","instagram","tiktok"]).or(z$1.number())}).optional(),it=z$1.enum(["default","rounded","circle","oval"]).default("default"),$n=z$1.object({packageName:z$1.string().optional(),authorName:z$1.string().optional(),quality:z$1.number().optional(),shape:it.optional()}).optional(),Nn=z$1.object({enabled:z$1.boolean().default(false).optional(),intervalMs:z$1.number().default(3600*1e3).optional(),maxAgeMs:z$1.number().default(1440*60*1e3).optional(),scopes:z$1.array(z$1.string()).default(["messages"]).optional()}).optional(),Dt=z$1.object({session:z$1.string().default("zaileys").optional(),prefix:z$1.union([z$1.string(),z$1.array(z$1.string())]).optional(),ignoreMe:z$1.boolean().default(true).optional(),showLogs:z$1.boolean().default(true).optional(),fancyLogs:z$1.boolean().default(false).optional(),syncFullHistory:z$1.boolean().default(true).optional(),disableFFmpeg:z$1.boolean().default(false).optional(),autoMarkAI:z$1.boolean().default(true).optional(),autoMentions:z$1.boolean().default(true).optional(),autoOnline:z$1.boolean().default(true).optional(),autoRead:z$1.boolean().default(true).optional(),autoPresence:z$1.boolean().default(true).optional(),autoRejectCall:z$1.boolean().default(true).optional(),autoCleanUp:Nn,limiter:Fn,citation:Bn,fakeReply:On,sticker:$n}),Dn=z$1.object({authType:z$1.literal("pairing"),phoneNumber:z$1.number()}),Wn=z$1.object({authType:z$1.literal("qr")}),Wt=z$1.union([Dn.extend(Dt.shape),Wn.extend(Dt.shape)]),Is=z$1.enum(["connection","messages","calls"]);var fe=m.url().or(m.base64()).or(m.instanceof(Buffer)),_t=m.object({text:m.string()}).passthrough(),_n=m.object({image:fe,caption:m.string().optional()}).passthrough(),jn=m.object({audio:fe,caption:m.string().optional(),ptt:m.boolean().optional()}).passthrough(),Ln=m.object({video:fe,caption:m.string().optional(),ptv:m.boolean().optional()}).passthrough(),zn=m.object({sticker:fe,shape:it.optional(),caption:m.string().optional()}).passthrough(),Un=m.object({document:fe,caption:m.string().optional(),fileName:m.string().optional()}).passthrough(),qn=m.object({location:m.object({latitude:m.number(),longitude:m.number(),url:m.url().optional(),title:m.string().optional(),footer:m.string().optional()}).optional()}).passthrough(),Vn=m.object({contacts:m.object({title:m.string().optional(),contacts:m.object({fullname:m.string(),phoneNumber:m.number(),organization:m.string().optional()}).array()})}).passthrough(),Gn=m.object({poll:m.object({name:m.string(),answers:m.string().array(),isMultiple:m.boolean().default(false).optional()})}),jt=m.object({replied:m.custom().optional(),isForwardedMany:m.boolean().optional(),isViewOnce:m.boolean().optional(),banner:m.custom().optional(),buttons:Nt.optional()});m.enum(["forward","button","edit","delete"]);var Jn=m.union([_t,_n,jn,Ln,zn,Un,qn,Vn,Gn]),Lt=m.string().or(m.intersection(Jn,jt.omit({buttons:true}))),zt=m.intersection(_t,jt.omit({banner:true}));c();var Ie=class{toNativeSimple(e){return e.map(({id:t,text:r})=>({name:"quick_reply",buttonParamsJson:JSON.stringify({display_text:r,id:t})}))}toNativeInteractive(e){let t={quick_reply:r=>({display_text:r.text,id:r.id}),cta_url:r=>({display_text:r.text,url:r.url,merchant_url:r.url}),cta_copy:r=>({display_text:r.text,id:r.id,copy_code:r.copy}),cta_call:r=>({display_text:r.text,phone_number:r.phoneNumber}),single_select:r=>({title:r.text,sections:r.section})};return e.map(r=>({name:r.type,buttonParamsJson:JSON.stringify(t[r.type](r))}))}build(e){let t=x(e).buttons,r=t?.data||[],n=t?.type=="simple"?this.toNativeSimple(r):this.toNativeInteractive(r);return {body:{text:x(e).text},footer:t.footer?{text:t.footer}:void 0,nativeFlowMessage:{buttons:n}}}async send(e,t,r){let i=a.get("socket"),n=i?.authState?.creds?.me?.id||i?.user?.id,o=this.build(t),p=generateWAMessageFromContent(e,{interactiveMessage:o},{userJid:n,messageId:generateMessageIDV2(n),...r});return await i.relayMessage(e,p.message,{messageId:p.key.id,...r,additionalNodes:[{tag:"biz",attrs:{},content:[{tag:"interactive",attrs:{type:"native_flow",v:"1"},content:[{tag:"native_flow",attrs:{v:"9",name:"mixed"}}]}]}]}),i.config?.emitOwnEvents&&!isJidGroup(e)&&process.nextTick(()=>i.upsertMessage?.(p,"append")),p}};var Ae=class{constructor(e){this.client=e;}async signal(e,t,r,i){r!="delete"&&(r=="button"?t=ue(zt,t):t=ue(Lt,t));let n=a.get("socket"),o={},p={},l=R.isString(t),u=this.client.options?.fakeReply?.provider,T=this.client.options?.autoMentions,C=this.client.options?.autoPresence,M=R.has(t,"replied"),P=R.has(t,"banner"),W=R.has(t,"isViewOnce"),J=r=="button",K=R.has(t,"image"),v=R.has(t,"video"),O=R.has(t,"audio"),V=R.has(t,"sticker"),S=R.has(t,"document"),_=R.has(t,"location"),oe=R.has(t,"contacts"),se=R.has(t,"poll"),Y=K||v||O||V||S,H=l?t:Ke([t],["text","caption"]);if(C&&(O?await n.sendPresenceUpdate("recording",e):await n.sendPresenceUpdate("composing",e)),T&&(o={...o,mentions:Ve(H),contextInfo:{mentionedJid:Ve(H)}}),M&&(p.quoted=x(t).replied,u&&(p.quoted.key.remoteJid=rt[u],p.quoted.key.participant=rt[u])),P&&(o={...o,contextInfo:{externalAdReply:x(t).banner}},o.contextInfo.externalAdReply.mediaType=1),W&&(o={...o,viewOnce:x(t)?.isViewOnce}),H&&(o={...o,text:H,caption:H},Y&&delete x(o).text),Y){let I=Ke([t],["image","video","audio","sticker","document"]);if(K&&(o={...o,image:await $.image(I).toJpeg(),jpegThumbnail:await $.thumbnail(I).get()}),v){let j=x(t)?.ptv;o={...o,video:await $.video(I).toMp4(),ptv:j,jpegThumbnail:await $.thumbnail(I).get()};}if(O){let j=x(t)?.ptt;o={...o,audio:await $.audio(I).toOpus(),ptt:j,mimetype:j?"audio/ogg; codecs=opus":"audio/mpeg"};}if(V){let j=x(t)?.shape;o={...o,sticker:await $.sticker(I,{...this.client.options?.sticker,shape:j}).create()};}if(S){let j=await $.document(I).create();o={...o,fileName:x(t).fileName,...j};}}if(_){let I=x(t).location;o={...o,location:{degreesLatitude:I.latitude,degreesLongitude:I.longitude,url:I.url,address:I.footer,name:I.title}};}if(oe){let I=x(t)?.contacts,j=I?.contacts.map(ae=>{let Vt=["BEGIN:VCARD","VERSION:3.0",`FN:${ae.fullname}`,`ORG:${ae.organization||""}`,`TEL;type=CELL;type=VOICE;waid=${ae.phoneNumber}:${ae.phoneNumber}`,"END:VCARD"].join(`
5
- `);return {displayName:ae.fullname,vcard:Vt}});o={...o,contacts:{displayName:I?.title,contacts:j}};}if(se){let I=x(t)?.poll;o={...o,poll:{name:I.name,values:I.answers,selectableCount:I.isMultiple?1:0,toAnnouncementGroup:true}};}return r=="forward"&&(o={...o,contextInfo:{...x(o).contextInfo,isForwarded:true,forwardingScore:x(t).isForwardedMany?9999:1}}),r=="edit"&&(o={...o,edit:i?.key},await n.sendPresenceUpdate("paused",e)),r=="delete"&&(o={...o,delete:i?.key},await n.sendPresenceUpdate("paused",e)),J?await new Ie().send(e,t,p):await n.sendMessage(e,x(o),p)}async send(e,t){return await this.signal(e,t)}async forward(e,t){return await this.signal(e,t,"forward")}async button(e,t){return await this.signal(e,t,"button")}async edit(e,t){return await this.signal(e.key.remoteJid,t,"edit",e)}async delete(e){return R.isArray(e)?Promise.all(e.map(t=>this.signal(t.key.remoteJid,{},"delete",t))):await this.signal(e.key.remoteJid,{},"delete",e)}async presence(e,t){let r=a.get("socket"),i={typing:"composing",recording:"recording",online:"available",offline:"unavailable",paused:"paused"};return await r.sendPresenceUpdate(i[t],e)}async reaction(e,t){return await a.get("socket").sendMessage(e.key.remoteJid,{react:{text:t,key:e?.key}})}async memberLabel(e,t){return await a.get("socket").relayMessage(e,{protocolMessage:{type:30,memberLabel:{label:t,labelTimestamp:Date.now()}}},{})}};c();var ot=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").communityCreate(e,t)}async createGroup(e,t,r){return await a.get("socket").communityCreateGroup(e,t,r)}async leave(e){return await a.get("socket").communityLeave(e)}async metadata(e){return await a.get("socket").communityMetadata(e)}async update(e,t,r){let i=a.get("socket");switch(t){case "subject":return await i.communityUpdateSubject(e,r);case "description":return await i.communityUpdateDescription(e,r)}}async group(e,t,r){let i=a.get("socket");switch(t){case "link":if(!r)throw "Group JID is required for linking";return await i.communityLinkGroup(e,r);case "unlink":if(!r)throw "Group JID is required for unlinking";return await i.communityUnlinkGroup(e,r);case "linked":return await i.communityFetchLinkedGroups(e)}}async participants(e,t,r,i){let n=a.get("socket");switch(t){case "list":return await n.communityRequestParticipantsList(e);case "request-update":return await n.communityRequestParticipantsUpdate(e,i,x(r));case "update":if(!r||!i)throw "Action and participants are required for update";return await n.communityParticipantsUpdate(e,i,x(r));case "all":return await n.communityFetchAllParticipating()}}async invite(e,t,...r){let i=a.get("socket");switch(t){case "code":return await i.communityInviteCode(e);case "revoke":return await i.communityRevokeInvite(e);case "accept":return await i.communityAcceptInvite(e);case "info":return await i.communityGetInviteInfo(e);case "revokeV4":return await i.communityRevokeInviteV4(e,r[0]);case "acceptV4":return await i.communityAcceptInviteV4(e,r[0])}}async settings(e,t,r){let i=a.get("socket");switch(t){case "ephemeral":return await i.communityToggleEphemeral(e,r);case "update":return await i.communitySettingUpdate(e,r);case "memberAdd":return await i.communityMemberAddMode(e,r);case "approval":return await i.communityJoinApprovalMode(e,r)}}},Pe=class{constructor(e){this.mlient=e;this.community=new ot(e);}community};c();var st=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").groupCreate(e,t)}async participant(e,t,r){return await a.get("socket").groupParticipantsUpdate(e,t,r)}async profile(e,t,r){let i=a.get("socket"),n=Buffer.isBuffer(t);switch(r){case "subject":if(!n)return await i.groupUpdateSubject(e,t);case "description":if(!n)return await i.groupUpdateDescription(e,t);case "picture":return await i.updateProfilePicture(e,await $.toBuffer(t))}}async setting(e,t){let r=a.get("socket");switch(t){case "open":return await r.groupSettingUpdate(e,"not_announcement");case "close":return await r.groupSettingUpdate(e,"announcement");case "locked":return await r.groupSettingUpdate(e,t);case "unlocked":return await r.groupSettingUpdate(e,t);case "all_member_add":return await r.groupMemberAddMode(e,t);case "admin_add":return await r.groupMemberAddMode(e,t)}}async leave(e){return await a.get("socket").groupLeave(e)}async inviteCode(e,t){let r=a.get("socket");switch(t){case "code":return await r.groupInviteCode(e);case "revoke":return await r.groupRevokeInvite(e);case "accept":return await r.groupAcceptInvite(e);case "info":return await r.groupGetInviteInfo(e)}}async metadata(e){let t=a.get("socket"),r=N.get(e);if(r)return r;let i=await t.groupMetadata(e);return i&&N.set(e,i),i}async requestJoin(e,t,r){let i=a.get("socket");switch(r){case "approve":return await i.groupRequestParticipantsUpdate(e,t,r);case "reject":return await i.groupRequestParticipantsUpdate(e,t,r)}}async requestJoinList(e){return await a.get("socket").groupRequestParticipantsList(e)}async fetchAllGroups(){return await a.get("socket").groupFetchAllParticipating()}async ephemeral(e,t){let r=a.get("socket"),i={off:0,"24h":86400,"7d":604800,"90d":7776e3};return await r.groupToggleEphemeral(e,i[t])}},Ee=class{constructor(e){this.glient=e;this.group=new st(e);}group};c();var at=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").newsletterCreate(e,t)}async action(e,t){let r=a.get("socket");switch(t){case "follow":return await r.newsletterFollow(e);case "unfollow":return await r.newsletterUnfollow(e);case "mute":return await r.newsletterMute(e);case "unmute":return await r.newsletterUnmute(e);}}async update(e,t,r){let i=a.get("socket"),n=Buffer.isBuffer(t);switch(r){case "name":if(!n)return await i.newsletterUpdateName(e,t);case "description":if(!n)return await i.newsletterUpdateDescription(e,t);case "picture":return await i.newsletterUpdatePicture(e,await $.toBuffer(t))}}async metadata(e,t){return await a.get("socket").newsletterMetadata(t,e)}async subscribers(e){return await a.get("socket").newsletterSubscribers(e)}async reaction(e,t,r){return await a.get("socket").newsletterReactMessage(e,t,r)}async fetchMessages(e,t,r,i){let n=a.get("socket"),o=r.getTime()/1e3,p=i.getTime()/1e3;return await n.newsletterFetchMessages(e,t,o,p)}async adminCount(e){return await a.get("socket").newsletterAdminCount(e)}async changeOwner(e,t){return await a.get("socket").newsletterChangeOwner(e,t)}async demote(e,t){return await a.get("socket").newsletterDemote(e,t)}async delete(e){return await a.get("socket").newsletterDelete(e)}async removePicture(e){return await a.get("socket").newsletterRemovePicture(e)}},Re=class{constructor(e){this.nlient=e;this.newsletter=new at(e);}newsletter};c();var ct=class{constructor(e){this.client=e;}async block(e){return await a.get("socket").updateBlockStatus(e,"block")}async unblock(e){return await a.get("socket").updateBlockStatus(e,"unblock")}async lastSeen(e){return await a.get("socket").updateLastSeenPrivacy(e)}async online(e){return await a.get("socket").updateOnlinePrivacy(e)}async picture(e){return await a.get("socket").updateProfilePicturePrivacy(e)}async status(e){return await a.get("socket").updateStatusPrivacy(e)}async readReceipt(e){return await a.get("socket").updateReadReceiptsPrivacy(e)}async groupsAdd(e){return await a.get("socket").updateGroupsAddPrivacy(e)}async ephemeral(e){let t=a.get("socket"),r={off:0,"24h":86400,"7d":604800,"90d":7776e3};return await t.updateDefaultDisappearingMode(r[e])}async blocklist(){return await a.get("socket").fetchBlocklist()}async getSettings(){return await a.get("socket").fetchPrivacySettings(true)}},Fe=class{constructor(e){this.plient=e;this.privacy=new ct(e);}privacy};c();c();var wa=m.object({status:m.enum(["connecting","open","close","reload","syncing"]),authType:m.enum(["pairing","qr"]),authTimeout:m.number().optional(),syncProgress:m.number().optional(),syncCompleted:m.boolean().default(false).optional(),qr:m.string().optional(),code:m.string().optional()});c();var Yn=m.enum(["unknown","android","ios","desktop","web"]),Xn=m.enum(["text","album","image","contact","location","document","audio","video","protocol","contacts","highlyStructured","sendPayment","requestPayment","groupStatusMention","statusMention","declinePaymentRequest","cancelPaymentRequest","template","sticker","groupInvite","product","deviceSent","lists","viewOnce","order","ephemeral","invoice","buttons","paymentInvite","interactive","reaction","sticker","interactiveResponse","pollCreation","pollUpdate","keepInChat","document","requestPhoneNumber","viewOnce","reaction","text","viewOnce","pollCreation","scheduledCallCreation","groupMentioned","pinInChat","pollCreation","scheduledCallEdit","ptv","botInvoke","callLog","encComment","bcall","lottieSticker","event","comment","placeholder","encEventUpdate"]),Ut=m.object({channelId:m.string(),uniqueId:m.string(),chatId:m.string(),chatType:Xn,receiverLid:m.string(),receiverId:m.string(),receiverName:m.string(),roomId:m.string(),roomName:m.string(),senderLid:m.string(),senderId:m.string(),senderName:m.string(),senderDevice:Yn,timestamp:m.number(),text:m.string().nullable(),mentions:m.string().array(),links:m.string().array(),isBot:m.boolean(),isFromMe:m.boolean(),isPrefix:m.boolean(),isSpam:m.boolean(),isTagMe:m.boolean(),isStatusMention:m.boolean(),isGroupStatusMention:m.boolean(),isHideTags:m.boolean(),isGroup:m.boolean(),isNewsletter:m.boolean(),isQuestion:m.boolean(),isStory:m.boolean(),isViewOnce:m.boolean(),isEdited:m.boolean(),isDeleted:m.boolean(),isPinned:m.boolean(),isUnPinned:m.boolean(),isBroadcast:m.boolean(),isEphemeral:m.boolean(),isForwarded:m.boolean(),citation:m.record(m.string(),m.function({output:m.promise(m.boolean())})).nullable(),media:m.object({buffer:m.function({output:m.promise(m.instanceof(Buffer))}),stream:m.function({output:m.promise(m.instanceof(Zn))})}).loose().nullable(),injection:m.record(m.string(),m.any()).default({}),message:m.function({input:[],output:m.custom()})}),va=Ut.extend({replied:Ut.nullable()});c();var Ia=m.object({callId:m.string(),callerId:m.string(),roomId:m.string(),roomName:m.string(),date:m.date(),offline:m.boolean(),status:m.enum(["accept","offer","reject","ringing","terminate","timeout"]),isVideo:m.boolean(),isGroup:m.boolean()});c();var Be=class{constructor(e){this.client=e;this.initialize();}logsInitialized=false;logsDisplayed=false;isReady=false;getRoomColor(e){return e?.isNewsletter?"blue":e?.isGroup?e?.isGroup?"lime":"dimgray":"orange"}initialize(){if(!this.client.options.showLogs||this.logsInitialized)return;this.logsInitialized=true;let e=async({status:t})=>{t==="open"&&(this.isReady=true,this.logsDisplayed||setTimeout(()=>{this.displayIndicator();},500));};a.events.on("connection",e);}displayIndicator(){this.logsDisplayed||(this.logsDisplayed=true,console.log(),a.spinner.info("Logs Indicator:"),console.log(h(" \u2022","orange")+" Private Chat"),console.log(h(" \u2022","lime")+" Group Chat"),console.log(h(" \u2022","blue")+" Newsletter Chat"),console.log());}message(e){if(!this.isReady)return;let t=x(this.getRoomColor(e)),r=e?.text?.toLowerCase()?.match("zaileys"),i=this.client.options?.fancyLogs,n=h(`[${new Date(e?.timestamp).toTimeString().split(" ")[0]}]`,"dimgray"),o=h(`${e?.roomName}`,t),p=e?.text?.slice(0,300)||"",l=p?.length>=300?"...":"";if(i){let u=h("\u2501".repeat(50),"dimgray"),T=h("\u2192","dimgray"),C=h("\u2022",t),M=`
1
+ import*as te from'path';import te__default from'path';import {pathToFileURL}from'url';import he from'fluent-ffmpeg';import Ue from'fs/promises';import {tmpdir}from'os';import nn,{initAuthCreds,proto,makeCacheableSignalKeyStore,Browsers,extractMessageContent,getContentType,URL_REGEX,BufferJSON,generateWAMessageFromContent,generateMessageIDV2,isJidGroup,delay,DisconnectReason,jidNormalizedUser,getDevice,downloadMediaMessage}from'baileys';import {createJetDB}from'jetdb';import {createSpinner}from'nanospinner';import ce from'node-cache';import Qt from'pino';import Yn,{EventEmitter}from'stream';import {Mutex}from'async-mutex';import {fileTypeFromBuffer}from'file-type';import {Jimp}from'jimp';import dn from'node-webpmux';import R from'lodash';import Ct from'unorm';import {fromError}from'zod-validation-error';import Pt,{cristal}from'gradient-string';import kn from'figlet';import Mn from'qrcode-terminal';import {RateLimiterMemory}from'rate-limiter-flexible';import m,{z as z$1}from'zod';import*as De from'fs';var Gt=Object.defineProperty;var pt=(s,e)=>()=>(s&&(e=s(s=0)),e);var Jt=(s,e)=>{for(var t in e)Gt(s,t,{get:e[t],enumerable:true});};var c=pt(()=>{});var bt={};Jt(bt,{BufferConverter:()=>A,FFMPEG_CONSTANTS:()=>b,FFmpegProcessor:()=>L,FileManager:()=>w,MimeValidator:()=>F,initializeFFmpeg:()=>qe});var b,qe,w,A,F,L,G=pt(()=>{c();b={OPUS:{CODEC:"libopus",CHANNELS:1,FREQUENCY:48e3,BITRATE:"48k",FORMAT:"ogg"},THUMBNAIL:{SIZE:100,QUALITY:50,TIMESTAMP:"10%"},STICKER:{SIZE:512,MAX_DURATION:10,FPS:15,DEFAULT_QUALITY:80,COMPRESSION_LEVEL:6},MIME:{AUDIO:"audio/",VIDEO:"video/",IMAGE:"image/",GIF:"image/gif",MP4:"video/mp4"}},qe=async(s=false)=>{if(!s)try{let e=(await import('@ffmpeg-installer/ffmpeg')).default,t=(await import('@ffprobe-installer/ffprobe')).default;he.setFfmpegPath(e.path),he.setFfprobePath(t.path);}catch{}},w=class{static generateUniqueId(){return `${Date.now()}_${Math.random().toString(36).slice(2,11)}`}static createTempPath(e,t){return te__default.join(tmpdir(),`${e}_${this.generateUniqueId()}.${t}`)}static async cleanup(e){await Promise.allSettled(e.map(t=>Ue.unlink(t)));}static async safeReadFile(e){try{return await Ue.readFile(e)}catch{throw new Error(`Failed to read file: ${e}`)}}static async safeWriteFile(e,t){try{await Ue.writeFile(e,t);}catch{throw new Error(`Failed to write file: ${e}`)}}},A=class{static async toBuffer(e){if(Buffer.isBuffer(e))return e;if(e instanceof ArrayBuffer)return Buffer.from(e);if(typeof e=="string")return this.fromString(e);throw new Error("Invalid input type: expected string, Buffer, or ArrayBuffer")}static async fromString(e){return e.startsWith("http://")||e.startsWith("https://")?this.fromUrl(e):Buffer.from(e,"base64")}static async fromUrl(e){try{let t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}: ${t.statusText}`);let n=await t.arrayBuffer();return Buffer.from(n)}catch(t){throw new Error(`Failed to fetch URL: ${t.message}`)}}},F=class{static validate(e,t){if(!e?.mime?.startsWith(t))throw new Error(`Invalid file type: expected ${t}*, got ${e?.mime||"unknown"}`)}static isMedia(e){return e.startsWith(b.MIME.IMAGE)||e.startsWith(b.MIME.VIDEO)}static isAnimated(e){return e===b.MIME.GIF||e.startsWith(b.MIME.VIDEO)}},L=class{static async process(e){return new Promise((t,n)=>{let i=he(e.input).output(e.output);for(let r=0;r<e.options.length;r++){let o=e.options[r];o.startsWith("-")&&r+1<e.options.length&&!e.options[r+1].startsWith("-")?(i.outputOptions(o,e.options[r+1]),r++):i.outputOptions(o);}i.on("end",async()=>{try{await e.onEnd(),t();}catch(r){n(r);}}).on("error",async r=>{try{await e.onError(r);}finally{n(r);}}).run();})}static async getDuration(e){return new Promise((t,n)=>{he.ffprobe(e,(i,r)=>{if(i)return n(i);t(r.format.duration||0);});})}};});c();c();c();c();var lt=s=>createJetDB(`${s}/auth/creds.json`,{BufferJSON:BufferJSON,cacheSize:100,flushMode:"sync",compression:"none",enableIndexing:false}),ge=s=>createJetDB(`${s}/auth/keys.json`,{BufferJSON:BufferJSON,size:1024*1024,cacheSize:2e3,flushMode:"sync",compression:"deflate",enableIndexing:false,hotThreshold:5}),ut=(s,e)=>createJetDB(`.session/${s}/store/${e}.json`,{BufferJSON:BufferJSON,cacheSize:2e4,debounceMs:1e3,flushMode:"debounce",compression:"deflate",serialization:"json",enableIndexing:true,hotThreshold:2,size:5*1024*1024});c();c();var mt=new ce({stdTTL:600,checkperiod:120,useClones:false}),N=new ce({stdTTL:300,useClones:false}),dt=new ce({stdTTL:300}),ft=new ce({stdTTL:600,checkperiod:120,useClones:false,deleteOnExpire:true,maxKeys:100}),gt=new ce;c();var ne=class{classInjection(e,t){let n=t.length;return new Proxy(e,{get(i,r,o){if(r in i){let p=Reflect.get(i,r,o);return typeof p=="function"?p.bind(i):p}for(let p=0;p<n;p++){let l=t[p];if(r in l){let u=Reflect.get(l,r,o);return typeof u=="function"?u.bind(l):u}}},set(i,r,o,p){if(r in i)return Reflect.set(i,r,o,p);for(let l=0;l<n;l++){let u=t[l];if(r in u)return Reflect.set(u,r,o,p)}return Reflect.set(i,r,o,p)},has(i,r){if(r in e)return true;for(let o=0;o<n;o++)if(r in t[o])return true;return false},ownKeys(){let i=[];for(let r of Reflect.ownKeys(e))i.push(r);for(let r=0;r<n;r++)for(let o of Reflect.ownKeys(t[r]))i.includes(o)||i.push(o);return i},getOwnPropertyDescriptor(i,r){let o=Object.getOwnPropertyDescriptor(e,r);if(o)return o;for(let p=0;p<n;p++)if(o=Object.getOwnPropertyDescriptor(t[p],r),o)return o}})}};var Le=class extends ce{constructor(){return super({useClones:false}),new ne().classInjection(this,[mt])}spinner=createSpinner("",{color:"green"});logger=Qt({level:"silent",enabled:false});events=new EventEmitter},a=new Le;var yt=async s=>{a.spinner.start(" Initializing auth state...");let e=lt(s),t=ge(s),n=await e.get("creds")||initAuthCreds();return a.spinner.success(" Generate auth successfully"),{state:{creds:n,keys:{get:async(i,r)=>{let o={};return await Promise.all(r.map(async p=>{let l=`${i}:${p}`,u=await t.get(l);i==="app-state-sync-key"&&u&&(u=proto.Message.AppStateSyncKeyData.fromObject(u)),o[p]=u;})),o},set:async i=>{let r=[],o=[];for(let p in i)for(let l in i[p]){let u=i[p][l],T=`${p}:${l}`;u?r.push({key:T,value:u}):o.push(T);}r.length&&await t.batchSet(r),o.length&&await t.batchDelete(o),await t.flush();}}},saveCreds:async()=>{await e.set("creds",n);}}};c();c();var wt=(s,e)=>({logger:s.health.logger,printQRInTerminal:false,enableRecentMessageCache:true,emitOwnEvents:true,keepAliveIntervalMs:3e4,browser:Browsers.ubuntu("Chrome"),markOnlineOnConnect:s.options.autoOnline,syncFullHistory:s.options.syncFullHistory,msgRetryCounterCache:gt,mediaCache:dt,auth:{creds:e.creds,keys:makeCacheableSignalKeyStore(e.keys,a.logger)},cachedGroupMetadata:async t=>N.get(t),shouldIgnoreJid:()=>false,shouldSyncHistoryMessage:()=>s.options.syncFullHistory,patchMessageBeforeSending:t=>t,getMessage:async t=>{if(!t?.remoteJid)return proto.Message.fromObject({});let n=await s.db("messages").getByIndex("messages","key.id",t.id);return proto.Message.fromObject(n[0])}});var kt=async s=>{let e=`.session/${s.options.session}`;console.info=()=>{},console.warn=()=>{};let{state:t,saveCreds:n}=await yt(e),i=wt(s,t),r=nn(i);r.ev.on("creds.update",n),a.set("socket",r);};c();c();c();var ye=class{constructor(e){this.client=e;}interval=null;start(){let e=this.client.options.autoCleanUp;e?.enabled&&(this.interval=setInterval(()=>{this.run();},e.intervalMs),this.run());}stop(){this.interval&&(clearInterval(this.interval),this.interval=null);}async run(){let e=this.client.options.autoCleanUp;if(!e?.enabled)return;let t=Date.now()-e.maxAgeMs;for(let n of e.scopes)try{let i=this.client.db(n),r=await i.query(n).where("timestamp","<",t).get();if(r.length>0){let o=r.map(p=>p.key?.id||p.id);await i.batchDelete(o),a.spinner.info(` [CleanUpManager] Cleaned up ${r.length} items from ${n}`);}}catch{}}};c();var ze=class{store=ft;mutex=new Mutex;async inject(e,t){let n=await this.mutex.acquire();try{this.store.set(e,t);}finally{n();}}async get(e){let t=await this.mutex.acquire();try{return this.store.get(e)}finally{t();}}getSync(e){return this.store.get(e)}getAll(){let e=this.store.keys();return this.store.mget(e)}async remove(e){let t=await this.mutex.acquire();try{return this.store.del(e)>0}finally{t();}}async clear(){let e=await this.mutex.acquire();try{this.store.flushAll();}finally{e();}}has(e){return this.store.has(e)}get size(){return this.store.getStats().keys}keys(){return this.store.keys()}},X=new ze;c();G();c();G();var re=class{static async toOpus(e){return this.convert(e,"opus")}static async toMp3(e){return this.convert(e,"mp3")}static async convert(e,t="opus"){let n=await A.toBuffer(e),i=await fileTypeFromBuffer(n);F.validate(i,b.MIME.AUDIO);let r=w.createTempPath("audio_in","wav"),o=t==="opus"?"ogg":"mp3",p=w.createTempPath("audio_out",o);await w.safeWriteFile(r,n);let l;try{let u=t==="opus"?["-vn","-c:a","libopus","-b:a","48k","-ac","1","-avoid_negative_ts","make_zero","-map_metadata","-1","-f","opus"]:["-vn","-c:a","libmp3lame","-b:a","128k","-ac","2","-avoid_negative_ts","make_zero","-map_metadata","-1","-f","mp3"];return await L.process({input:r,output:p,options:u,onEnd:async()=>{l=await w.safeReadFile(p);},onError:async()=>{await w.cleanup([r,p]);}}),await w.cleanup([r,p]),l}catch(u){throw await w.cleanup([r,p]),new Error(`${t.toUpperCase()} conversion failed: ${u.message}`)}}};c();G();var z=class{static async toMp4(e){let t=await A.toBuffer(e),n=await fileTypeFromBuffer(t);F.validate(n,b.MIME.VIDEO);let i=w.createTempPath("video_in","mp4"),r=w.createTempPath("video_out","mp4");await w.safeWriteFile(i,t);let o;try{let p=["-c:v","libx264","-preset","ultrafast","-crf","28","-c:a","aac","-b:a","128k","-movflags","+faststart","-pix_fmt","yuv420p","-f","mp4"];return await L.process({input:i,output:r,options:p,onEnd:async()=>{o=await w.safeReadFile(r);},onError:async()=>{await w.cleanup([i,r]);}}),await w.cleanup([i,r]),o}catch(p){throw await w.cleanup([i,r]),new Error(`Video re-encoding failed: ${p.message}`)}}static async thumbnail(e){let t=await A.toBuffer(e),n=await fileTypeFromBuffer(t);F.validate(n,b.MIME.VIDEO);let i=w.createTempPath("video","mp4"),r=w.createTempPath("thumb","jpg");await w.safeWriteFile(i,t);let o;try{return await new Promise((p,l)=>{he(i).screenshots({timestamps:[b.THUMBNAIL.TIMESTAMP],filename:te__default.basename(r),folder:te__default.dirname(r),size:`${b.THUMBNAIL.SIZE}x${b.THUMBNAIL.SIZE}`}).on("end",async()=>{try{o=(await w.safeReadFile(r)).toString("base64"),p();}catch(u){l(u);}}).on("error",l);}),await w.cleanup([i,r]),o}catch(p){throw await w.cleanup([i,r]),new Error(`Thumbnail generation failed: ${p.message}`)}}static async duration(e){return L.getDuration(e)}};c();G();var D=class{static async thumbnail(e){let t=await fileTypeFromBuffer(e),n=b.THUMBNAIL.SIZE,i=await Jimp.read(e);return i.cover({w:n,h:n}),t?.mime===b.MIME.GIF&&i.resize({w:n,h:n}),(await i.getBuffer("image/jpeg",{quality:b.THUMBNAIL.QUALITY})).toString("base64")}static async resize(e,t,n){let i=await Jimp.read(e);return i.cover({w:t,h:n}),await i.getBuffer("image/png")}static async toJpeg(e){let t=await A.toBuffer(e),n=await fileTypeFromBuffer(t);if(!n||!n.mime.startsWith(b.MIME.IMAGE))throw new Error("Invalid image type");return n.mime==="image/webp"?await(await Jimp.read(t)).getBuffer("image/jpeg"):t}static async resizeForSticker(e,t,n="default"){let i=b.STICKER.SIZE,r=await Jimp.read(e);if(r.contain({w:i,h:i}),n!=="default"){let C=new Jimp({width:i,height:i,color:0});for(let M=0;M<i;M++)for(let P=0;P<i;P++){let W=false,J=i/2,K=i/2;switch(n){case "circle":{let v=P-J,O=M-K;W=v*v+O*O<=J*J;break}case "rounded":{let v=i/10,O=P>=v&&P<i-v&&M>=0&&M<i,V=P>=0&&P<i&&M>=v&&M<i-v,S=false,_=[[v,v],[i-v,v],[v,i-v],[i-v,i-v]];for(let[oe,se]of _){let Y=P-oe,H=M-se;if(Y*Y+H*H<=v*v){S=true;break}}W=O||V||S;break}case "oval":{let v=i/2,O=i/3,V=(P-J)/v,S=(M-K)/O;W=V*V+S*S<=1;break}}W&&C.setPixelColor(4294967295,P,M);}r.mask(C);}let o=w.createTempPath("sticker_img","png"),p=w.createTempPath("sticker_out","webp"),l=await r.getBuffer("image/png");await w.safeWriteFile(o,l);let{FFmpegProcessor:u}=await Promise.resolve().then(()=>(G(),bt)),T;try{return await u.process({input:o,output:p,options:["-vf",`scale=${i}:${i}`,"-quality",String(t),"-f","webp"],onEnd:async()=>{T=await w.safeReadFile(p);},onError:async()=>{await w.cleanup([o,p]);}}),await w.cleanup([o,p]),T}catch(C){throw await w.cleanup([o,p]),new Error(`Sticker resize failed: ${C.message}`)}}};c();c();var ee=s=>{let e;Array.isArray(s)?e=s.join("|"):typeof s=="string"?e=s:e=String(s);let t=2166136261,n=e.length;for(let i=0;i<n;i++)t^=e.charCodeAt(i),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return "Z4D3FC"+(t>>>0).toString(16).padStart(8,"0").toUpperCase()},Tt=(s="")=>{if(!s)return [];let e=new Set;for(let t of s.matchAll(/@(\d+)/g))e.add(t[1]);return R.toArray(e)},Ve=(s="")=>{if(!s)return [];let e=new Set;for(let t of s.matchAll(/@(\d+)/g))t[1].length<=15&&e.add(t[1]);return R.flatMap([...e],t=>[`${t}@s.whatsapp.net`,`${t}@g.us`,`${t}@lid`])},Ci=s=>R.isEmpty(s)?[]:R.map([...s],e=>`${e}@s.whatsapp.net`),St=s=>R.omit(s,["url","contextInfo","fileSha256","fileEncSha256","mediaKey","directPath","waveform","thumbnail","jpegThumbnail","thumbnailEncSha256","thumbnailSha256","thumbnailDirectPath","firstFrameSidecar","streamingSidecar","scansSidecar","callKey","message","key","midQualityFileSha256","historySyncNotification","appStateSyncKeyShare","appStateSyncKeyRequest","initialSecurityNotificationSettingSync","appStateFatalExceptionNotification","disappearingMode","peerDataOperationRequestMessage","peerDataOperationRequestResponseMessage","botFeedbackMessage"]),we=s=>{if(!s)return {leaf:void 0,chain:[]};let e=extractMessageContent(s)||s,t=[];for(;e&&typeof e=="object";){let n=getContentType(e);if(!n)break;t.push(n);let i=e[n];if(!i||typeof i!="object"){e=i;break}e=i;}return {leaf:e,chain:t}},U=s=>Number(s?.split("@")[0]);c();var x=s=>s,It=async()=>{try{return (await(await fetch("https://registry.npmjs.org/zaileys")).json())["dist-tags"].latest}catch(s){throw s}},At=async s=>{try{let e=`.session/${s}/auth/creds.json`;await Ue.unlink(e);}catch(e){throw a.spinner.error(`Failed to remove auth creds for session "${s}"!`),e}},Q=(s="")=>{if(!s?.length)return null;let e=s.replace(/\u202E(.*?)(\u202C|$)/gu,(t,n)=>[...n].reverse().join("")).replace(/\u202D(.*?)(\u202C|$)/gu,(t,n)=>[...n].reverse().join("")).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/gu,"").replace(/[\u200B\u200C\u200D\uFEFF]/gu,"").replace(/[\u00AD\u034F\u115F\u1160\u17B4\u17B5\u180B-\u180E]/gu,"").replace(/[\u2060-\u2064\u206A-\u206F]/gu,"").replace(/[\u2800\uFFFC\uFFFD]/gu,"").replace(/[\uFE00-\uFE0F]/gu,"").split("").map(t=>Ct.nfkd(t)).join("").replace(/[\u0300-\u036F]/gu,"").replace(/[\u1AB0-\u1AFF]/gu,"").replace(/[\u1DC0-\u1DFF]/gu,"").replace(/[\u20D0-\u20FF]/gu,"").replace(/[\uFE20-\uFE2F]/gu,"").replace(/[\p{Cc}]/gu,"").replace(/[\p{Cf}]/gu,"").replace(/[\p{Co}]/gu,"").replace(/[\p{Cn}]/gu,"").replace(/[\p{Cs}]/gu,"").replace(/[\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/gu," ").replace(/[\u2028\u2029]/gu," ").replace(/[\t\r\n\f\v]/g," ").split("").map(t=>Ct.nfkc(t)).join("").normalize("NFC").replace(/\s+/g," ").trim();return e.length?e:null};G();var ke=class{static async create(e,t){try{let n=await A.toBuffer(e),i=await fileTypeFromBuffer(n);if(!i)throw new Error("Unable to detect file type");let r=t?.quality||b.STICKER.DEFAULT_QUALITY,o=F.isAnimated(i.mime),p=t?.shape||"default",l=o?await this.processAnimated(n,i.mime,r):await D.resizeForSticker(n,r,p),u=this.createExifMetadata(t),T=new dn.Image;await T.load(l),T.exif=u;let C=await T.save(null);return Buffer.isBuffer(C)?C:Buffer.from(C)}catch(n){throw new Error(`Sticker creation failed: ${n.message||n}`)}}static createExifMetadata(e){let t={"sticker-pack-id":ee(Date.now().toString()),"sticker-pack-name":e?.packageName||"Zaileys Library","sticker-pack-publisher":e?.authorName||"https://github.com/zeative/zaileys",emojis:["\u{1F913}"],"android-app-store-link":"https://play.google.com/store/apps/details?id=com.marsvard.stickermakerforwhatsapp","ios-app-store-link":"https://itunes.apple.com/app/sticker-maker-studio/id1443326857"},n=Buffer.from([73,73,42,0,8,0,0,0,1,0,65,87,7,0,0,0,0,0,22,0,0,0]),i=Buffer.from(JSON.stringify(t),"utf8"),r=Buffer.concat([n,i]);return r.writeUIntLE(i.length,14,4),r}static async processAnimated(e,t,n){let i=this.getExtension(t),r=w.createTempPath("sticker_in",i),o=w.createTempPath("sticker_out","webp");await w.safeWriteFile(r,e);let p=b.STICKER.MAX_DURATION;try{let P=await z.duration(r);p=x(Math.min(P,b.STICKER.MAX_DURATION));}catch{console.warn("Using default duration:",b.STICKER.MAX_DURATION);}let l=b.STICKER.SIZE,u=b.STICKER.FPS,T=`scale=${l}:${l}:force_original_aspect_ratio=increase,crop=${l}:${l},fps=${u},format=rgba`,C=Math.max(1,Math.min(100,100-n)),M;try{return await L.process({input:r,output:o,options:["-vcodec libwebp",`-vf ${T}`,`-q:v ${C}`,"-loop 0","-preset default","-an","-vsync 0",`-t ${p}`,`-compression_level ${b.STICKER.COMPRESSION_LEVEL}`],onEnd:async()=>{M=await w.safeReadFile(o);},onError:async()=>{await w.cleanup([r,o]);}}),await w.cleanup([r,o]),M}catch(P){throw await w.cleanup([r,o]),new Error(`Animated sticker processing failed: ${P.message}`)}}static getExtension(e){return e===b.MIME.GIF?"gif":e.startsWith(b.MIME.VIDEO)?"mp4":"tmp"}};c();G();G();var be=class{static async create(e){try{let t=await A.toBuffer(e),n=await fileTypeFromBuffer(t);if(!n)throw new Error("Unable to detect file type");let i;return n.mime.startsWith(b.MIME.VIDEO)?i=await z.thumbnail(t):F.isMedia(n.mime)?i=await D.thumbnail(t):i="",{document:t,mimetype:n.mime,fileName:ee(Date.now().toString()),jpegThumbnail:i}}catch(t){throw new Error(`Document creation failed: ${t.message||t}`)}}};c();var Me=class{constructor(e){this.client=e;this.keysDb=ge(e.options.session),this.setupLogFilters();}keysDb;setupLogFilters(){let e=console.error,t=console.log,n=i=>{let r=i.join(" ");return ["Bad MAC","Session error:","Closing open session in favor of incoming prekey bundle","Error: Bad MAC"].some(p=>r.includes(p))};console.error=(...i)=>{n(i)||e.apply(console,i);},console.log=(...i)=>{n(i)||t.apply(console,i);};}async repair(e){if(!e)return;let t=[`session:${e}`,`sender-key:${e}`];try{await this.keysDb.batchDelete(t),await this.keysDb.flush(),a.spinner.warn(` [HealthManager] Repaired session for ${e} due to Bad MAC`);}catch{}}get logger(){return Qt({level:"debug"},{write:e=>{try{let t=JSON.parse(e);if(t.msg?.includes("Bad MAC")){let n=t.jid||t.remoteJid;n&&this.repair(n);}}catch{}}})}};c();var ue=(s,e)=>{try{return s.parse(e)}catch(t){let n=fromError(t);throw new Error(n.toString())}};c();c();var Ge=class{concurrency;timeout;onError;queue;running;completed;failed;isClosing;closeResolve;constructor(e){this.concurrency=e?.concurrency||10,this.timeout=e?.timeout||3e4,this.onError=e?.onError||this._defaultErrorHandler,this.queue=[],this.running=new Set,this.completed=0,this.failed=0,this.isClosing=false,this.closeResolve=null;}add(e,t){if(this.isClosing)throw new Error("Queue is closing, cannot add new tasks");let n={id:this._generateId(),fn:e,priority:t?.priority||0,timeout:t?.timeout||this.timeout,retries:t?.retries||0,maxRetries:t?.maxRetries||0,createdAt:Date.now()},i=this.queue.findIndex(r=>r.priority<n.priority);return i===-1?this.queue.push(n):this.queue.splice(i,0,n),this._process(),n.id}addBulk(e){return e.map(({fn:t,options:n})=>this.add(t,n))}async _process(){for(;this.running.size<this.concurrency&&this.queue.length>0;){let e=this.queue.shift();this.running.add(e),this._executeTask(e);}this.isClosing&&this.running.size===0&&this.queue.length===0&&this.closeResolve?.();}async _executeTask(e){try{await this._withTimeout(e.fn(),e.timeout),this.completed++;}catch(t){e.retries<e.maxRetries?(e.retries++,this.queue.unshift(e)):(this.failed++,this.onError(t,e));}finally{this.running.delete(e),this._process();}}_withTimeout(e,t){return Promise.race([e,new Promise((n,i)=>setTimeout(()=>i(new Error("Task timeout")),t))])}async close(e=0){if(this.isClosing=true,this.running.size===0&&this.queue.length===0)return;let t=new Promise(n=>{this.closeResolve=n;});if(e>0){let n=new Promise(i=>setTimeout(i,e));await Promise.race([t,n]);}else await t;}forceClose(){this.queue=[],this.running.clear(),this.isClosing=true,this.closeResolve?.();}getStats(){return {queued:this.queue.length,running:this.running.size,completed:this.completed,failed:this.failed,total:this.completed+this.failed}}isIdle(){return this.queue.length===0&&this.running.size===0}async waitUntilIdle(e=100){for(;!this.isIdle();)await new Promise(t=>setTimeout(t,e));}_defaultErrorHandler(e,t){console.error(`[FireAndForget] Task ${t.id} failed:`,e);}_generateId(){return `${Date.now()}-${Math.random().toString(36).substr(2,9)}`}},E=new Ge;process.on("SIGTERM",()=>E.close());c();c();c();var h=(s,e="lime")=>Array.isArray(e)?Pt(e)(s):Pt([e,e])(s),Je=s=>{try{return JSON.parse(s)}catch{return R.attempt(()=>JSON.parse(JSON.stringify(s)||"{}"))}},me=s=>{try{return JSON.stringify(s)}catch{let e=R.attempt(()=>JSON.stringify(Je(s)||"{}"));return R.isError(e)?"{}":e}},ko=(s="")=>R.shuffle(s).join(""),de=(s="",e="")=>s?R.includes(s.toLowerCase(),e.toLowerCase()):null,Et=(s="")=>s?R.castArray(s.match(URL_REGEX)||[]):[],bo=s=>s[Math.floor(Math.random()*s.length)],Ke=(s,e)=>{let t=i=>!!(i==null||typeof i=="string"&&i.trim()===""||Array.isArray(i)&&i.length===0||typeof i=="object"&&Object.keys(i).length===0),n=(i,r)=>{if(!i||typeof i!="object")return;let o=i,p=r.split(".");for(let l of p){let u=l.match(/^(.+?)\[(\d+)\]$/);if(u){let[,T,C]=u;o=o?.[T]?.[parseInt(C,10)];}else o=o?.[l];if(t(o))return}return o};if(!(!Array.isArray(s)||s.length===0)&&!(!Array.isArray(e)||e.length===0)){for(let i of s)if(!(!i||typeof i!="object"))for(let r of e){let o=n(i,r);if(!t(o))return o}}},Mo=(s,e)=>{let t=R.castArray(e),n=(o,p)=>R.every(p,(l,u)=>o?.[u]===l),i=(o,p)=>R.some(p,(l,u)=>o?.[u]===l),r=o=>R.isArray(o)?R.find(o,r)??o:R.isObject(o)?R.find(t,u=>n(o,u))||R.find(t,u=>i(o,u))?o:R.find(R.values(o),r)??o:null;return r(s)},xo=(s,e,t)=>new Proxy(s,{apply(n,i,r){e?.(r);let o=Reflect.apply(n,i,r);return t?t(o,r):o}});c();var He=class{input;constructor(e){this.input=e;}async toOpus(){return re.toOpus(this.input)}async toMp3(){return re.toMp3(this.input)}async convert(e="opus"){return re.convert(this.input,e)}},Qe=class{input;constructor(e){this.input=e;}async toMp4(){return z.toMp4(this.input)}async thumbnail(){return z.thumbnail(this.input)}},Ze=class{input;constructor(e){this.input=e;}async toJpeg(){return D.toJpeg(this.input)}async thumbnail(){let e=await A.toBuffer(this.input);return D.thumbnail(e)}async resize(e,t){let n=await A.toBuffer(this.input);return D.resize(n,e,t)}},Ye=class{input;metadata;constructor(e,t){this.input=e,this.metadata=t;}async create(){return ke.create(this.input,this.metadata)}},Xe=class{input;constructor(e){this.input=e;}async create(){return be.create(this.input)}},et=class{input;constructor(e){this.input=e;}async get(){let e=await A.toBuffer(this.input),t=await fileTypeFromBuffer(e);if(!t||!F.isMedia(t.mime))throw new Error("Invalid media type: expected image or video");return t.mime.startsWith(b.MIME.VIDEO)?z.thumbnail(this.input):D.thumbnail(e)}},tt=class{audio(e){return new He(e)}video(e){return new Qe(e)}image(e){return new Ze(e)}sticker(e,t){return new Ye(e,t)}document(e){return new Xe(e)}thumbnail(e){return new et(e)}async toBuffer(e){return A.toBuffer(e)}},$=new tt;var xe=class{constructor(e){this.client=e;this.initialize();}async initialize(){let e=a.get("socket");e.ev.on("call",async t=>{for(let n of t){let i=await this.parse(n);i&&(E.add(async()=>this.client.middleware.run({calls:i})),E.add(async()=>this.client.plugins.execute(this.client,{messages:i})),a.events.emit("calls",i),this.client.options?.autoRejectCall&&E.add(async()=>e.rejectCall(i.callId,i.callerId)));}});}async parse(e){let t=a.get("socket"),n={};return n.callId=e.id,n.callerId=jidNormalizedUser(e.from),n.roomId=jidNormalizedUser(e.chatId),n.roomName=Q(t?.user?.name||t?.user?.verifiedName),n.date=e.date,n.offline=e.offline,n.status=e.status,n.isVideo=!!e.isVideo,n.isGroup=!!e.isGroup,this.client.logs.call(n),n}};c();c();var Ft=s=>{Mn.generate(s,{small:true},e=>{console.log(e);});},Bt=async()=>{console.clear(),a.spinner.start(" Checking for updates...");let s="2.2.1",e="zaadevofc",t=await It(),n=s===t;a.spinner.stop();let i="Zaileys",r=`
2
+ by ${e} \xB7 v${s}`,o=`${n?"Already using latest version!":`Update available! (v${t})`}
3
+ `,p=n?"lime":"orange",l=await kn.text(i),u=cristal(l);console.log(u),console.log(h(r,"dimgray")),console.log(h(o,p));};var Te=class{constructor(e){this.client=e;this.initialize();}async initialize(){a.spinner.start(" Initializing connection...");let e=a.get("socket"),t={},n=async()=>{t.status="reload",a.spinner.warn(" Connection lost. Attempting auto-reload..."),await this.client.initialize();},i=async()=>{await delay(3e3),a.spinner.warn(" Invalid session. Attempting auto cleaning creds..."),await delay(3e3),await At(this.client.options.session),await n();};if(this.client.options.authType==="pairing"&&this.client.options.phoneNumber&&!e.authState.creds.registered){a.spinner.update(" Generating pairing code..."),await delay(3500);try{t.authTimeout=Date.now()+6e4;let r=new Date(t.authTimeout).toLocaleTimeString(),o=await e.requestPairingCode(this.client.options.phoneNumber.toString());a.spinner.warn(` Pairing expired at ${cristal(r)}`),a.spinner.warn(` Pairing code: ${o}`),t.code=o;}catch{await i();}}e.ev.on("connection.update",async r=>{let{connection:o,lastDisconnect:p,qr:l}=r;if(t.status=o||"connecting",t.authType=this.client.options.authType,a.spinner.update(" Connection status: "+cristal(t.status)),this.client.options.authType==="qr"&&l){t.authTimeout=Date.now()+6e4;let u=new Date(t.authTimeout).toLocaleTimeString();a.spinner.warn(" Please scan the QR code..."),a.spinner.warn(` Qr code expired at ${cristal(u)}`),Ft(l),t.qr=l;return}if(o==="close"){let u=x(p?.error)?.output?.statusCode,T=p?.error?.message||"",C=typeof u=="number"&&u!==DisconnectReason.loggedOut;if(a.spinner.error(` [${u} - Closed] ${T}`),u===401||u===405){a.spinner.warn(" Session may be used by another device/instance."),a.spinner.warn(" If you want to connect here, close the other connection first."),a.spinner.warn(` Or use a different session name in your Client options.
4
+ `);return}if(u===500){a.spinner.error(" Server error occurred, attempting reconnect..."),await n();return}C&&await n();}if(o==="open")if(e.user?.id){let u=jidNormalizedUser(e.user.id).split("@")[0],T=e.user.name||e.user.verifiedName;a.spinner.success(` Connected as ${cristal(T||u)}`);}else a.spinner.success(" Connected!");a.events.emit("connection",t);}),e.ev.on("messaging-history.set",({progress:r})=>{t.status="syncing",t.syncProgress=r,a.spinner.start(" Syncing messages history..."),r&&a.spinner.update(` Syncing messages history ${r+"%"}`),r==100&&(a.spinner.success(" Syncing messages history completed!"),t.syncCompleted=true),a.events.emit("connection",t);});}};c();c();var Ot={text:"text",conversation:"text",imageMessage:"image",contactMessage:"contact",locationMessage:"location",documentMessage:"document",audioMessage:"audio",videoMessage:"video",protocolMessage:"protocol",contactsArrayMessage:"contacts",highlyStructuredMessage:"highlyStructured",sendPaymentMessage:"sendPayment",liveLocationMessage:"location",requestPaymentMessage:"requestPayment",groupStatusMentionMessage:"groupStatusMention",statusMentionMessage:"statusMention",albumMessage:"album",declinePaymentRequestMessage:"declinePaymentRequest",cancelPaymentRequestMessage:"cancelPaymentRequest",templateMessage:"template",stickerMessage:"sticker",groupInviteMessage:"groupInvite",templateButtonReplyMessage:"buttons",productMessage:"product",deviceSentMessage:"deviceSent",listMessage:"lists",viewOnceMessage:"viewOnce",orderMessage:"order",listResponseMessage:"lists",ephemeralMessage:"ephemeral",invoiceMessage:"invoice",buttonsMessage:"buttons",buttonsResponseMessage:"buttons",paymentInviteMessage:"paymentInvite",interactiveMessage:"interactive",reactionMessage:"reaction",stickerSyncRmrMessage:"sticker",questionMessage:"question",nativeFlowResponseMessage:"lists",interactiveResponseMessage:"interactiveResponse",pollCreationMessage:"pollCreation",pollCreationMessageKey:"pollUpdate",pollUpdateMessage:"pollUpdate",keepInChatMessage:"keepInChat",documentWithCaptionMessage:"document",requestPhoneNumberMessage:"requestPhoneNumber",viewOnceMessageV2:"viewOnce",encReactionMessage:"reaction",editedMessage:"text",viewOnceMessageV2Extension:"viewOnce",pollCreationMessageV2:"pollCreation",scheduledCallCreationMessage:"scheduledCallCreation",groupMentionedMessage:"groupMentioned",pinInChatMessage:"pinInChat",pollCreationMessageV3:"pollCreation",scheduledCallEditMessage:"scheduledCallEdit",ptvMessage:"ptv",botInvokeMessage:"botInvoke",callLogMesssage:"callLog",encCommentMessage:"encComment",bcallMessage:"bcall",lottieStickerMessage:"lottieSticker",eventMessage:"event",commentMessage:"comment",newsletterAdminInviteMessage:"text",extendedTextMessageWithParentKey:"text",extendedTextMessage:"text",placeholderMessage:"placeholder",encEventUpdateMessage:"encEventUpdate"},rt={whatsapp:"0@s.whatsapp.net",meta:"13135550002@s.whatsapp.net",chatgpt:"18002428478@s.whatsapp.net",copilot:"18772241042@s.whatsapp.net",instagram:"447723442971@s.whatsapp.net",tiktok:"6285574670498@s.whatsapp.net"};c();var Se=class{constructor(e){this.client=e;this.limiter=new RateLimiterMemory({points:this.client.options.limiter?.maxMessages,duration:this.client.options.limiter?.durationMs/1e3});}limiter;async isSpam(e){try{return await this.limiter.consume(e),!1}catch{return true}}};var Ie=class{constructor(e){this.client=e;this.limiter=new Se(e),this.initialize();}limiter;maxReplies=3;async initialize(){let e=a.get("socket");if(!e?.ev){console.warn("\u26A0\uFE0F [Messages] Socket or socket.ev is not available during initialization");return}e.ev.on("messages.upsert",async({messages:t,type:n})=>{try{if(n!=="notify"&&n!=="append")return;for(let i of t)try{let r=await this.parse(i);r&&(E.add(async()=>this.client.middleware.run({messages:r})),E.add(async()=>this.client.plugins.execute(this.client,{messages:r})),a.set("message",r),a.events.emit("messages",r),this.client.options.autoRead&&E.add(async()=>e.readMessages([r.message().key])));}catch{}}catch{}});}async parse(e,t){if(e?.category==="peer"||!e?.message||!e?.key?.id||e?.messageStubType||e?.messageStubParameters?.length||e.message?.protocolMessage?.peerDataOperationRequestResponseMessage)return;let n=e,i=a.get("socket"),r={},o=we(e.message),p=o.chain.at(-1),l=o.leaf;if(l?.message&&(o=we(l.message),p=o.chain.at(-1),l=o.leaf),r.uniqueId=null,r.channelId=null,r.chatId=e?.message?.protocolMessage?.key?.id||e?.key?.id||null,r.chatType=Ot[p],!r.chatType)return;r.receiverLid=jidNormalizedUser(i?.user?.lid||""),r.receiverId=jidNormalizedUser(i?.user?.id||""),r.receiverName=Q(i?.user?.name||i?.user?.verifiedName),r.roomId=jidNormalizedUser(e?.key?.remoteJid);let u=l?.type===0,T=l?.type===1,C=l?.type===2,M=r.roomId?.includes("@newsletter"),P=!!e?.message?.questionMessage,W=e?.key?.fromMe||false;if(W&&this.client.options.ignoreMe&&t!=="replied")return;let J=l?.key?.id;if(u||T||C){let S=await this.client.db("messages").query(r.roomId).where("key.id","=",J).first();if(!S)return;e=S,o=we(e.message),p=o.chain.at(-1),l=o.leaf;}if(r.roomName=await this.client.getRoomName(r.roomId),r.senderLid=jidNormalizedUser(e?.key?.participant||e?.key?.remoteJid)||null,r.senderId=jidNormalizedUser(e?.key?.participantAlt||e?.key?.remoteJidAlt)||null,r.senderName=Q(e?.pushName||e?.verifiedBizName),r.senderDevice=getDevice(r.chatId||""),r.channelId=ee([r.roomId,r.senderId]),r.uniqueId=ee([r.channelId,r.chatId]),r.timestamp=Number(e?.messageTimestamp)*1e3,M){let S=await i.newsletterMetadata("jid",r.roomId);r.roomName=x(S.thread_metadata.name)?.text,r.senderId=null,r.senderLid=null;}W&&(r.senderLid=jidNormalizedUser(i.user.lid),r.senderId=r.receiverId,r.senderName=r.receiverName),r.text=l?.text||l?.caption||l?.name||l?.displayName||l?.conversation||l?.contentText||l?.selectedDisplayText||l||null,l?.name=="menu_options"&&(r.text=Je(l?.paramsJson)?.id),r.text=Q(r.text),r.mentions=Tt(r.text),r.links=Et(r.text||""),r.isBot=r.chatId.startsWith("BAE5")||r.chatId.startsWith("3EB0")||r.chatId.startsWith("Z4D3FC"),r.isFromMe=W;let K=R.castArray(this.client.options?.prefix);if(r.isPrefix=!!K.find(S=>r.text?.startsWith(S)),r.isTagMe=r.mentions?.includes(r.receiverId.split("@")[0])||r.mentions?.includes(r.receiverLid.split("@")[0]),r.isStatusMention=!!e?.message?.statusMentionMessage,r.isGroupStatusMention=!!e?.message?.groupStatusMentionMessage,r.isHideTags=false,R.isEmpty(r.text)&&l?.contextInfo?.mentionedJid?.length&&(r.isHideTags=true),r.isSpam=await this.limiter.isSpam(r.channelId),r.isPrefix&&(r.text=r.text.replace(new RegExp(`^${R.escapeRegExp(K.find(S=>r.text?.startsWith(S))||"")}`),"")),r.isGroup=r.roomId?.includes("@g.us"),r.isNewsletter=M,r.isQuestion=P,r.isStory=r.roomId?.includes("@broadcast"),!r.isGroup&&!r.roomName&&(r.roomName=r.senderName),r.isViewOnce=false,r.isEdited=!!de(me(o),"editedMessage"),r.isDeleted=u,r.isPinned=T,r.isUnPinned=C,r.isBroadcast=!!e?.broadcast,r.isEphemeral=!!de(me(l?.contextInfo),"ephemeralSettingTimestamp"),r.isForwarded=!!de(me(l?.contextInfo),"forwardingScore"),r.citation=null,this.client.options.citation){r.citation=r.citation||{};let S=this.client.options.citation;for(let _ of Object.keys(S)){let oe=S[_];r.citation[_]=async()=>{let se=await oe(),Y=[U(r.roomId),U(r.senderLid),U(r.senderId)];return !!R.intersection(Y,se).length};}}r.chatType!=="text"&&(r.media={...St(l),buffer:()=>downloadMediaMessage(e,"buffer",{}),stream:()=>downloadMediaMessage(e,"stream",{})}),r.isStatusMention&&(r.chatType="statusMention"),r.isGroupStatusMention&&(r.chatType="groupStatusMention"),r.message=()=>n,r.replied=null;let v=l?.contextInfo?.quotedMessage,O=de(me(v),"viewOnce"),V=l?.contextInfo?.stanzaId;if(v&&this.maxReplies){this.maxReplies--;let S=await this.client.db("messages").getByIndex("messages","key.id",V),_;O?_={...S[0],message:v}:_=S[0],r.replied=await this.parse(_,"replied"),r.replied&&(r.replied.isViewOnce=true),this.maxReplies=3;}return t!="replied"&&this.client.logs.message(r),r.injection=X.getAll(),r}};var Ae=class{constructor(e){this.client=e;this.connection=new Te(e),this.messages=new Ie(e),this.calls=new xe(e),this.initialize();}connection;messages;calls;async initialize(){let e=a.get("socket");e.ev.on("groups.update",async([t])=>{E.add(async()=>{let n=await e.groupMetadata(t.id);N.set(t.id,n);});}),e.ev.on("group-participants.update",async t=>{E.add(async()=>{let n=await e.groupMetadata(t.id);N.set(t.id,n);});}),e?.ev.on("messaging-history.set",async t=>{let{chats:n,contacts:i,messages:r}=t;E.add(async()=>{await this.client.db("chats").batchUpsert("chats",n,"id");}),E.add(async()=>{await this.client.db("contacts").batchUpsert("contacts",i,"id");}),E.add(async()=>{await this.client.db("messages").batchUpsert("messages",r,"key.id");});}),e?.ev.on("messages.upsert",async({messages:t})=>{E.add(async()=>{await this.client.db("messages").batchUpsert("messages",t,"key.id");});}),e?.ev.on("chats.upsert",async t=>{E.add(async()=>{await this.client.db("chats").batchUpsert("chats",t,"id");});}),e?.ev.on("contacts.upsert",async t=>{E.add(async()=>{await this.client.db("contacts").batchUpsert("contacts",t,"id");});}),await this.client.db("messages").createIndex("messages","key.remoteJid"),await this.client.db("messages").createIndex("messages","key.id"),await this.client.db("chats").createIndex("chats","id"),await this.client.db("contacts").createIndex("contacts","id");}};c();c();c();var Cn=m.object({type:m.literal("quick_reply"),text:m.string()}),In=m.object({type:m.literal("cta_url"),url:m.url(),text:m.string()}),An=m.object({type:m.literal("cta_copy"),copy:m.string(),text:m.string()}),Pn=m.object({type:m.literal("cta_call"),text:m.string(),phoneNumber:m.string()}),En=m.object({type:m.literal("single_select"),text:m.string(),section:m.object({title:m.string(),highlight_label:m.string().optional(),rows:m.object({id:m.string(),title:m.string(),header:m.string().optional(),description:m.string().optional()}).array()}).array()}),Rn=m.object({type:m.literal("interactive"),footer:m.string().optional(),data:m.union([Cn,In,An,Pn,En]).array()}),Fn=m.object({type:m.literal("simple"),footer:m.string().optional(),data:m.object({id:m.string(),text:m.string()}).array()}),Nt=m.union([Fn,Rn]);c();var Bn=z$1.object({maxMessages:z$1.number().default(20),durationMs:z$1.number().default(1e4)}).optional(),On=z$1.record(z$1.string(),z$1.function({output:z$1.promise(z$1.array(z$1.number()))})).optional(),$n=z$1.object({provider:z$1.enum(["whatsapp","meta","chatgpt","copilot","instagram","tiktok"]).or(z$1.number())}).optional(),it=z$1.enum(["default","rounded","circle","oval"]).default("default"),Nn=z$1.object({packageName:z$1.string().optional(),authorName:z$1.string().optional(),quality:z$1.number().optional(),shape:it.optional()}).optional(),Dn=z$1.object({enabled:z$1.boolean().default(false).optional(),intervalMs:z$1.number().default(3600*1e3).optional(),maxAgeMs:z$1.number().default(1440*60*1e3).optional(),scopes:z$1.array(z$1.string()).default(["messages"]).optional()}).optional(),Dt=z$1.object({session:z$1.string().default("zaileys").optional(),prefix:z$1.union([z$1.string(),z$1.array(z$1.string())]).optional(),ignoreMe:z$1.boolean().default(true).optional(),showLogs:z$1.boolean().default(true).optional(),fancyLogs:z$1.boolean().default(false).optional(),syncFullHistory:z$1.boolean().default(true).optional(),disableFFmpeg:z$1.boolean().default(false).optional(),autoMarkAI:z$1.boolean().default(true).optional(),autoMentions:z$1.boolean().default(true).optional(),autoOnline:z$1.boolean().default(true).optional(),autoRead:z$1.boolean().default(true).optional(),autoPresence:z$1.boolean().default(true).optional(),autoRejectCall:z$1.boolean().default(true).optional(),autoCleanUp:Dn,limiter:Bn,citation:On,fakeReply:$n,sticker:Nn}),Wn=z$1.object({authType:z$1.literal("pairing"),phoneNumber:z$1.number()}),_n=z$1.object({authType:z$1.literal("qr")}),Wt=z$1.union([Wn.extend(Dt.shape),_n.extend(Dt.shape)]),$s=z$1.enum(["connection","messages","calls"]);var fe=m.url().or(m.base64()).or(m.instanceof(Buffer)),_t=m.object({text:m.string()}).passthrough(),jn=m.object({image:fe,caption:m.string().optional()}).passthrough(),Ln=m.object({audio:fe,caption:m.string().optional(),ptt:m.boolean().optional()}).passthrough(),zn=m.object({video:fe,caption:m.string().optional(),ptv:m.boolean().optional()}).passthrough(),Un=m.object({sticker:fe,shape:it.optional(),caption:m.string().optional()}).passthrough(),qn=m.object({document:fe,caption:m.string().optional(),fileName:m.string().optional()}).passthrough(),Vn=m.object({location:m.object({latitude:m.number(),longitude:m.number(),url:m.url().optional(),title:m.string().optional(),footer:m.string().optional()}).optional()}).passthrough(),Gn=m.object({contacts:m.object({title:m.string().optional(),contacts:m.object({fullname:m.string(),phoneNumber:m.number(),organization:m.string().optional()}).array()})}).passthrough(),Jn=m.object({poll:m.object({name:m.string(),answers:m.string().array(),isMultiple:m.boolean().default(false).optional()})}),jt=m.object({replied:m.custom().optional(),isForwardedMany:m.boolean().optional(),isViewOnce:m.boolean().optional(),banner:m.custom().optional(),buttons:Nt.optional()});m.enum(["forward","button","edit","delete"]);var Kn=m.union([_t,jn,Ln,zn,Un,qn,Vn,Gn,Jn]),Lt=m.string().or(m.intersection(Kn,jt.omit({buttons:true}))),zt=m.intersection(_t,jt.omit({banner:true}));c();var Pe=class{toNativeSimple(e){return e.map(({id:t,text:n})=>({name:"quick_reply",buttonParamsJson:JSON.stringify({display_text:n,id:t})}))}toNativeInteractive(e){let t={quick_reply:n=>({display_text:n.text,id:n.id}),cta_url:n=>({display_text:n.text,url:n.url,merchant_url:n.url}),cta_copy:n=>({display_text:n.text,id:n.id,copy_code:n.copy}),cta_call:n=>({display_text:n.text,phone_number:n.phoneNumber}),single_select:n=>({title:n.text,sections:n.section})};return e.map(n=>({name:n.type,buttonParamsJson:JSON.stringify(t[n.type](n))}))}build(e){let t=x(e).buttons,n=t?.data||[],r=t?.type=="simple"?this.toNativeSimple(n):this.toNativeInteractive(n);return {body:{text:x(e).text},footer:t.footer?{text:t.footer}:void 0,nativeFlowMessage:{buttons:r}}}async send(e,t,n){let i=a.get("socket"),r=i?.authState?.creds?.me?.id||i?.user?.id,o=this.build(t),p=generateWAMessageFromContent(e,{interactiveMessage:o},{userJid:r,messageId:generateMessageIDV2(r),...n});return await i.relayMessage(e,p.message,{messageId:p.key.id,...n,additionalNodes:[{tag:"biz",attrs:{},content:[{tag:"interactive",attrs:{type:"native_flow",v:"1"},content:[{tag:"native_flow",attrs:{v:"9",name:"mixed"}}]}]}]}),i.config?.emitOwnEvents&&!isJidGroup(e)&&process.nextTick(()=>i.upsertMessage?.(p,"append")),p}};var Ee=class{constructor(e){this.client=e;}async signal(e,t,n,i){n!="delete"&&(n=="button"?t=ue(zt,t):t=ue(Lt,t));let r=a.get("socket"),o={},p={},l=R.isString(t),u=this.client.options?.fakeReply?.provider,T=this.client.options?.autoMentions,C=this.client.options?.autoPresence,M=R.has(t,"replied"),P=R.has(t,"banner"),W=R.has(t,"isViewOnce"),J=n=="button",K=R.has(t,"image"),v=R.has(t,"video"),O=R.has(t,"audio"),V=R.has(t,"sticker"),S=R.has(t,"document"),_=R.has(t,"location"),oe=R.has(t,"contacts"),se=R.has(t,"poll"),Y=K||v||O||V||S,H=l?t:Ke([t],["text","caption"]);if(C&&(O?await r.sendPresenceUpdate("recording",e):await r.sendPresenceUpdate("composing",e)),T&&(o={...o,mentions:Ve(H),contextInfo:{mentionedJid:Ve(H)}}),M&&(p.quoted=x(t).replied,u&&(p.quoted.key.remoteJid=rt[u],p.quoted.key.participant=rt[u])),P&&(o={...o,contextInfo:{externalAdReply:x(t).banner}},o.contextInfo.externalAdReply.mediaType=1),W&&(o={...o,viewOnce:x(t)?.isViewOnce}),H&&(o={...o,text:H,caption:H},Y&&delete x(o).text),Y){let I=Ke([t],["image","video","audio","sticker","document"]);if(K&&(o={...o,image:await $.image(I).toJpeg(),jpegThumbnail:await $.thumbnail(I).get()}),v){let j=x(t)?.ptv;o={...o,video:await $.video(I).toMp4(),ptv:j,jpegThumbnail:await $.thumbnail(I).get()};}if(O){let j=x(t)?.ptt;o={...o,audio:await $.audio(I).toOpus(),ptt:j,mimetype:j?"audio/ogg; codecs=opus":"audio/mpeg"};}if(V){let j=x(t)?.shape;o={...o,sticker:await $.sticker(I,{...this.client.options?.sticker,shape:j}).create()};}if(S){let j=await $.document(I).create();o={...o,fileName:x(t).fileName,...j};}}if(_){let I=x(t).location;o={...o,location:{degreesLatitude:I.latitude,degreesLongitude:I.longitude,url:I.url,address:I.footer,name:I.title}};}if(oe){let I=x(t)?.contacts,j=I?.contacts.map(ae=>{let Vt=["BEGIN:VCARD","VERSION:3.0",`FN:${ae.fullname}`,`ORG:${ae.organization||""}`,`TEL;type=CELL;type=VOICE;waid=${ae.phoneNumber}:${ae.phoneNumber}`,"END:VCARD"].join(`
5
+ `);return {displayName:ae.fullname,vcard:Vt}});o={...o,contacts:{displayName:I?.title,contacts:j}};}if(se){let I=x(t)?.poll;o={...o,poll:{name:I.name,values:I.answers,selectableCount:I.isMultiple?1:0,toAnnouncementGroup:true}};}return n=="forward"&&(o={...o,contextInfo:{...x(o).contextInfo,isForwarded:true,forwardingScore:x(t).isForwardedMany?9999:1}}),n=="edit"&&(o={...o,edit:i?.key},await r.sendPresenceUpdate("paused",e)),n=="delete"&&(o={...o,delete:i?.key},await r.sendPresenceUpdate("paused",e)),J?await new Pe().send(e,t,p):await r.sendMessage(e,x(o),p)}async send(e,t){return await this.signal(e,t)}async forward(e,t){return await this.signal(e,t,"forward")}async button(e,t){return await this.signal(e,t,"button")}async edit(e,t){return await this.signal(e.key.remoteJid,t,"edit",e)}async delete(e){return R.isArray(e)?Promise.all(e.map(t=>this.signal(t.key.remoteJid,{},"delete",t))):await this.signal(e.key.remoteJid,{},"delete",e)}async presence(e,t){let n=a.get("socket"),i={typing:"composing",recording:"recording",online:"available",offline:"unavailable",paused:"paused"};return await n.sendPresenceUpdate(i[t],e)}async reaction(e,t){return await a.get("socket").sendMessage(e.key.remoteJid,{react:{text:t,key:e?.key}})}async memberLabel(e,t){return await a.get("socket").relayMessage(e,{protocolMessage:{type:30,memberLabel:{label:t,labelTimestamp:Date.now()}}},{})}};c();var ot=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").communityCreate(e,t)}async createGroup(e,t,n){return await a.get("socket").communityCreateGroup(e,t,n)}async leave(e){return await a.get("socket").communityLeave(e)}async metadata(e){return await a.get("socket").communityMetadata(e)}async update(e,t,n){let i=a.get("socket");switch(t){case "subject":return await i.communityUpdateSubject(e,n);case "description":return await i.communityUpdateDescription(e,n)}}async group(e,t,n){let i=a.get("socket");switch(t){case "link":if(!n)throw "Group JID is required for linking";return await i.communityLinkGroup(e,n);case "unlink":if(!n)throw "Group JID is required for unlinking";return await i.communityUnlinkGroup(e,n);case "linked":return await i.communityFetchLinkedGroups(e)}}async participants(e,t,n,i){let r=a.get("socket");switch(t){case "list":return await r.communityRequestParticipantsList(e);case "request-update":return await r.communityRequestParticipantsUpdate(e,i,x(n));case "update":if(!n||!i)throw "Action and participants are required for update";return await r.communityParticipantsUpdate(e,i,x(n));case "all":return await r.communityFetchAllParticipating()}}async invite(e,t,...n){let i=a.get("socket");switch(t){case "code":return await i.communityInviteCode(e);case "revoke":return await i.communityRevokeInvite(e);case "accept":return await i.communityAcceptInvite(e);case "info":return await i.communityGetInviteInfo(e);case "revokeV4":return await i.communityRevokeInviteV4(e,n[0]);case "acceptV4":return await i.communityAcceptInviteV4(e,n[0])}}async settings(e,t,n){let i=a.get("socket");switch(t){case "ephemeral":return await i.communityToggleEphemeral(e,n);case "update":return await i.communitySettingUpdate(e,n);case "memberAdd":return await i.communityMemberAddMode(e,n);case "approval":return await i.communityJoinApprovalMode(e,n)}}},Re=class{constructor(e){this.mlient=e;this.community=new ot(e);}community};c();var st=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").groupCreate(e,t)}async participant(e,t,n){return await a.get("socket").groupParticipantsUpdate(e,t,n)}async profile(e,t,n){let i=a.get("socket"),r=Buffer.isBuffer(t);switch(n){case "subject":if(!r)return await i.groupUpdateSubject(e,t);case "description":if(!r)return await i.groupUpdateDescription(e,t);case "picture":return await i.updateProfilePicture(e,await $.toBuffer(t))}}async setting(e,t){let n=a.get("socket");switch(t){case "open":return await n.groupSettingUpdate(e,"not_announcement");case "close":return await n.groupSettingUpdate(e,"announcement");case "locked":return await n.groupSettingUpdate(e,t);case "unlocked":return await n.groupSettingUpdate(e,t);case "all_member_add":return await n.groupMemberAddMode(e,t);case "admin_add":return await n.groupMemberAddMode(e,t)}}async leave(e){return await a.get("socket").groupLeave(e)}async inviteCode(e,t){let n=a.get("socket");switch(t){case "code":return await n.groupInviteCode(e);case "revoke":return await n.groupRevokeInvite(e);case "accept":return await n.groupAcceptInvite(e);case "info":return await n.groupGetInviteInfo(e)}}async metadata(e){let t=a.get("socket"),n=N.get(e);if(n)return n;let i=await t.groupMetadata(e);return i&&N.set(e,i),i}async requestJoin(e,t,n){let i=a.get("socket");switch(n){case "approve":return await i.groupRequestParticipantsUpdate(e,t,n);case "reject":return await i.groupRequestParticipantsUpdate(e,t,n)}}async requestJoinList(e){return await a.get("socket").groupRequestParticipantsList(e)}async fetchAllGroups(){return await a.get("socket").groupFetchAllParticipating()}async ephemeral(e,t){let n=a.get("socket"),i={off:0,"24h":86400,"7d":604800,"90d":7776e3};return await n.groupToggleEphemeral(e,i[t])}},Fe=class{constructor(e){this.glient=e;this.group=new st(e);}group};c();var at=class{constructor(e){this.client=e;}async create(e,t){return await a.get("socket").newsletterCreate(e,t)}async action(e,t){let n=a.get("socket");switch(t){case "follow":return await n.newsletterFollow(e);case "unfollow":return await n.newsletterUnfollow(e);case "mute":return await n.newsletterMute(e);case "unmute":return await n.newsletterUnmute(e);}}async update(e,t,n){let i=a.get("socket"),r=Buffer.isBuffer(t);switch(n){case "name":if(!r)return await i.newsletterUpdateName(e,t);case "description":if(!r)return await i.newsletterUpdateDescription(e,t);case "picture":return await i.newsletterUpdatePicture(e,await $.toBuffer(t))}}async metadata(e,t){return await a.get("socket").newsletterMetadata(t,e)}async subscribers(e){return await a.get("socket").newsletterSubscribers(e)}async reaction(e,t,n){return await a.get("socket").newsletterReactMessage(e,t,n)}async fetchMessages(e,t,n,i){let r=a.get("socket"),o=n.getTime()/1e3,p=i.getTime()/1e3;return await r.newsletterFetchMessages(e,t,o,p)}async adminCount(e){return await a.get("socket").newsletterAdminCount(e)}async changeOwner(e,t){return await a.get("socket").newsletterChangeOwner(e,t)}async demote(e,t){return await a.get("socket").newsletterDemote(e,t)}async delete(e){return await a.get("socket").newsletterDelete(e)}async removePicture(e){return await a.get("socket").newsletterRemovePicture(e)}},Be=class{constructor(e){this.nlient=e;this.newsletter=new at(e);}newsletter};c();var ct=class{constructor(e){this.client=e;}async block(e){return await a.get("socket").updateBlockStatus(e,"block")}async unblock(e){return await a.get("socket").updateBlockStatus(e,"unblock")}async lastSeen(e){return await a.get("socket").updateLastSeenPrivacy(e)}async online(e){return await a.get("socket").updateOnlinePrivacy(e)}async picture(e){return await a.get("socket").updateProfilePicturePrivacy(e)}async status(e){return await a.get("socket").updateStatusPrivacy(e)}async readReceipt(e){return await a.get("socket").updateReadReceiptsPrivacy(e)}async groupsAdd(e){return await a.get("socket").updateGroupsAddPrivacy(e)}async ephemeral(e){let t=a.get("socket"),n={off:0,"24h":86400,"7d":604800,"90d":7776e3};return await t.updateDefaultDisappearingMode(n[e])}async blocklist(){return await a.get("socket").fetchBlocklist()}async getSettings(){return await a.get("socket").fetchPrivacySettings(true)}},Oe=class{constructor(e){this.plient=e;this.privacy=new ct(e);}privacy};c();c();var Ca=m.object({status:m.enum(["connecting","open","close","reload","syncing"]),authType:m.enum(["pairing","qr"]),authTimeout:m.number().optional(),syncProgress:m.number().optional(),syncCompleted:m.boolean().default(false).optional(),qr:m.string().optional(),code:m.string().optional()});c();var Xn=m.enum(["unknown","android","ios","desktop","web"]),er=m.enum(["text","album","image","contact","location","document","audio","video","protocol","contacts","highlyStructured","sendPayment","requestPayment","groupStatusMention","statusMention","declinePaymentRequest","cancelPaymentRequest","template","sticker","groupInvite","product","deviceSent","lists","viewOnce","order","ephemeral","invoice","buttons","paymentInvite","interactive","reaction","sticker","interactiveResponse","pollCreation","pollUpdate","keepInChat","document","requestPhoneNumber","viewOnce","reaction","text","viewOnce","pollCreation","scheduledCallCreation","groupMentioned","pinInChat","pollCreation","scheduledCallEdit","ptv","botInvoke","callLog","encComment","bcall","lottieSticker","event","comment","placeholder","encEventUpdate"]),Ut=m.object({channelId:m.string(),uniqueId:m.string(),chatId:m.string(),chatType:er,receiverLid:m.string(),receiverId:m.string(),receiverName:m.string(),roomId:m.string(),roomName:m.string(),senderLid:m.string(),senderId:m.string(),senderName:m.string(),senderDevice:Xn,timestamp:m.number(),text:m.string().nullable(),mentions:m.string().array(),links:m.string().array(),isBot:m.boolean(),isFromMe:m.boolean(),isPrefix:m.boolean(),isSpam:m.boolean(),isTagMe:m.boolean(),isStatusMention:m.boolean(),isGroupStatusMention:m.boolean(),isHideTags:m.boolean(),isGroup:m.boolean(),isNewsletter:m.boolean(),isQuestion:m.boolean(),isStory:m.boolean(),isViewOnce:m.boolean(),isEdited:m.boolean(),isDeleted:m.boolean(),isPinned:m.boolean(),isUnPinned:m.boolean(),isBroadcast:m.boolean(),isEphemeral:m.boolean(),isForwarded:m.boolean(),citation:m.record(m.string(),m.function({output:m.promise(m.boolean())})).nullable(),media:m.object({buffer:m.function({output:m.promise(m.instanceof(Buffer))}),stream:m.function({output:m.promise(m.instanceof(Yn))})}).loose().nullable(),injection:m.record(m.string(),m.any()).default({}),message:m.function({input:[],output:m.custom()})}),Ra=Ut.extend({replied:Ut.nullable()});c();var $a=m.object({callId:m.string(),callerId:m.string(),roomId:m.string(),roomName:m.string(),date:m.date(),offline:m.boolean(),status:m.enum(["accept","offer","reject","ringing","terminate","timeout"]),isVideo:m.boolean(),isGroup:m.boolean()});c();var $e=class{constructor(e){this.client=e;this.initialize();}logsInitialized=false;logsDisplayed=false;isReady=false;getRoomColor(e){return e?.isNewsletter?"blue":e?.isGroup?e?.isGroup?"lime":"dimgray":"orange"}initialize(){if(!this.client.options.showLogs||this.logsInitialized)return;this.logsInitialized=true;let e=async({status:t})=>{t==="open"&&(this.isReady=true,this.logsDisplayed||setTimeout(()=>{this.displayIndicator();},500));};a.events.on("connection",e);}displayIndicator(){this.logsDisplayed||(this.logsDisplayed=true,console.log(),a.spinner.info("Logs Indicator:"),console.log(h(" \u2022","orange")+" Private Chat"),console.log(h(" \u2022","lime")+" Group Chat"),console.log(h(" \u2022","blue")+" Newsletter Chat"),console.log());}message(e){if(!this.isReady)return;let t=x(this.getRoomColor(e)),n=e?.text?.toLowerCase()?.match("zaileys"),i=this.client.options?.fancyLogs,r=h(`[${new Date(e?.timestamp).toTimeString().split(" ")[0]}]`,"dimgray"),o=h(`${e?.roomName}`,t),p=e?.text?.slice(0,300)||"",l=p?.length>=300?"...":"";if(i){let u=h("\u2501".repeat(50),"dimgray"),T=h("\u2192","dimgray"),C=h("\u2022",t),M=`
6
6
  ${u}
7
- `;M+=`${C} ${n} ${T} ${o}
7
+ `;M+=`${C} ${r} ${T} ${o}
8
8
  `,e?.isNewsletter?(M+=` ${h("\u{1F4E2} Room:","dimgray")} ${h(`${e?.roomName}`,t)}
9
9
  `,M+=` ${h("\u{1F194} ID:","dimgray")} ${h(`${U(e?.roomId)}`,"gray")}
10
10
  `):(M+=` ${h("\u{1F464} Sender:","dimgray")} ${h(`${e?.senderName}`,t)}
11
11
  `,M+=` ${h("\u{1F194} ID:","dimgray")} ${h(`${U(e?.senderId)}`,"gray")}
12
12
  `,e?.isGroup&&(M+=` ${h("\u{1F3E0} Group:","dimgray")} ${h(`${e?.roomName}`,"lime")}
13
13
  `)),M+=` ${h("\u{1F4DD} Type:","dimgray")} ${h(`${e?.chatType||"text"}`,"cyan")}
14
- `,M+=` ${h("\u{1F4AC} Text:","dimgray")} ${h(p+l,r?["#ff5f6d","#ffc371"]:"brown")}
14
+ `,M+=` ${h("\u{1F4AC} Text:","dimgray")} ${h(p+l,n?["#ff5f6d","#ffc371"]:"brown")}
15
15
  `,e?.isSpam&&(M+=` ${h("\u26A0\uFE0F Spam:","dimgray")} ${h("Yes","red")}
16
16
  `),e?.isForwarded&&(M+=` ${h("\u21AA\uFE0F Forwarded:","dimgray")} ${h("Yes","yellow")}
17
17
  `),e?.isEdited&&(M+=` ${h("\u270F\uFE0F Edited:","dimgray")} ${h("Yes","yellow")}
18
- `),M+=`${u}`,console.log(M);}else {let u=`${n} \u2192 ${o}
18
+ `),M+=`${u}`,console.log(M);}else {let u=`${r} \u2192 ${o}
19
19
  `;e?.isNewsletter?u+=`${h("[room]","dimgray")} \u2192 ${h(`${e?.roomName} (${U(e?.roomId)})`,t)}
20
20
  `:u+=`${h("[sender]","dimgray")} \u2192 ${h(`${e?.senderName} (${U(e?.senderId)})`,t)}
21
- `,u+=`${h(`[${e?.chatType||"unknown"}]`,"dimgray")} \u2192 ${h(p+l,r?["#ff5f6d","#ffc371"]:"brown")}
22
- `,u+="\u2014",console.log(u);}}call(e){if(!this.isReady)return;let t=x(this.getRoomColor(e)),r=h(`[${new Date(e?.date).toTimeString().split(" ")[0]}]`,"dimgray"),i=h(`${e?.roomName}`,t),n=`${r} \u2192 ${i}
23
- `;n+=`${h("[caller]","dimgray")} \u2192 ${h(`${e?.callerId} (${U(e?.callerId)})`,t)}
24
- `,n+=`${h(`[${e?.status}]`,"dimgray")} \u2192 ${h(e?.isVideo?"Video Call":"Voice Call","brown")}
25
- `,n+="\u2014",console.log(n);}};c();var Oe=class{stack=[];use(e){return this.stack.push(e),this}async run(e){let t=-1,r=async i=>{if(i<=t)throw "next() called multiple times";t=i;let n=this.stack[i];if(n)try{await n(e,()=>r(i+1));}catch(o){throw console.error("Middleware error:",o),o}};await r(0);}};c();var $e=class{constructor(e){this.client=e;}interval=null;start(){let e=this.client.options.autoCleanUp;e?.enabled&&(this.interval=setInterval(()=>{this.run();},e.intervalMs),this.run());}stop(){this.interval&&(clearInterval(this.interval),this.interval=null);}async run(){let e=this.client.options.autoCleanUp;if(!e?.enabled)return;let t=Date.now()-e.maxAgeMs;for(let r of e.scopes)try{let i=this.client.db(r),n=await i.query(r).where("timestamp","<",t).get();if(n.length>0){let o=n.map(p=>p.key?.id||p.id);await i.batchDelete(o),a.spinner.info(` [CleanUpManager] Cleaned up ${n.length} items from ${r}`);}}catch{}}};c();var Ne=class{constructor(e){this.client=e;this.keysDb=ge(e.options.session),this.setupLogFilters();}keysDb;setupLogFilters(){let e=console.error,t=console.log,r=i=>{let n=i.join(" ");return ["Bad MAC","Session error:","Closing open session in favor of incoming prekey bundle","Error: Bad MAC"].some(p=>n.includes(p))};console.error=(...i)=>{r(i)||e.apply(console,i);},console.log=(...i)=>{r(i)||t.apply(console,i);};}async repair(e){if(!e)return;let t=[`session:${e}`,`sender-key:${e}`];try{await this.keysDb.batchDelete(t),await this.keysDb.flush(),a.spinner.warn(` [HealthManager] Repaired session for ${e} due to Bad MAC`);}catch{}}get logger(){return Qt({level:"debug"},{write:e=>{try{let t=JSON.parse(e);if(t.msg?.includes("Bad MAC")){let r=t.jid||t.remoteJid;r&&this.repair(r);}}catch{}}})}};c();var We=class{plugins=[];pluginsDir;globalEnabled=true;disabledPlugins=new Set;constructor(e=te.join(process.cwd(),"plugins")){this.pluginsDir=e;}async getAllFiles(e,t=e){try{await De.promises.access(e);}catch{return []}let r=await De.promises.readdir(e,{withFileTypes:true});return (await Promise.all(r.map(async n=>{let o=te.join(e,n.name);if(n.isDirectory())return this.getAllFiles(o,t);if((n.name.endsWith(".ts")||n.name.endsWith(".js"))&&!n.name.endsWith(".d.ts")){let l=te.relative(t,e),u=l===""?null:l.split(te.sep)[0];return [{filePath:o,parent:u}]}return []}))).flat()}async load(){try{await De.promises.access(this.pluginsDir);}catch{return}let e=await this.getAllFiles(this.pluginsDir),t=await Promise.all(e.map(async({filePath:r,parent:i})=>{try{let o=(await import(pathToFileURL(r).href)).default;if(o?.default&&(o=o.default),o?.handler&&o?.config){let p=this.getPluginId(o.config.matcher);return {...o,parent:i,enabled:!this.disabledPlugins.has(p)}}}catch{}return null}));this.plugins=t.filter(r=>r!==null);}getPluginId(e){return e.map(t=>t.toString()).join("|")}async execute(e,t){if(!this.globalEnabled)return;let r=t.messages.text||"";for(let i of this.plugins)if(i.enabled)try{this.match(r,i.config.matcher)&&await i.handler(e,t);}catch{}}match(e,t){return t.some(r=>r instanceof RegExp?r.test(e):e===r||e.startsWith(r+" "))}enableAll(){this.globalEnabled=true,this.plugins.forEach(e=>e.enabled=true),this.disabledPlugins.clear();}disableAll(){this.globalEnabled=false;}enable(e){let t=e.toString(),r=this.plugins.find(i=>i.config.matcher.some(n=>n.toString()===t));return r?(r.enabled=true,this.disabledPlugins.delete(this.getPluginId(r.config.matcher)),true):false}disable(e){let t=e.toString(),r=this.plugins.find(i=>i.config.matcher.some(n=>n.toString()===t));return r?(r.enabled=false,this.disabledPlugins.add(this.getPluginId(r.config.matcher)),true):false}enableByParent(e){let t=0;return this.plugins.forEach(r=>{r.parent===e&&(r.enabled=true,this.disabledPlugins.delete(this.getPluginId(r.config.matcher)),t++);}),t}disableByParent(e){let t=0;return this.plugins.forEach(r=>{r.parent===e&&(r.enabled=false,this.disabledPlugins.add(this.getPluginId(r.config.matcher)),t++);}),t}isEnabled(){return this.globalEnabled}getLoadedPlugins(){return this.plugins}getPluginsInfo(){return this.plugins.map(e=>({matcher:e.config.matcher,metadata:e.config.metadata,parent:e.parent,enabled:e.enabled}))}async reload(){this.plugins=[],await this.load();}},Ya=(s,e)=>({handler:s,config:e});var qt=class{constructor(e){this.options=e;this.options=ue(Wt,e);let t=new ne().classInjection(this,[new Ae(this),new Ee(this),new Fe(this),new Re(this),new Pe(this)]);return this._ready=this.initialize(t),t}_ready;logs;middleware=new Oe;plugins=new We;health;cleanup;async initialize(e){await Bt(),await qe(this.options.disableFFmpeg),this.health=new Ne(this),this.cleanup=new $e(this),this.options.autoCleanUp?.enabled&&this.cleanup.start(),await kt(this),await this.plugins.load(),new Ce(e||this),this.logs||(this.logs=new Be(this));}ready(){return this._ready}db(e){return ut(this.options.session,e)}on(e,t){a.events.on(e,t);}use(e){return this.middleware.use(e),this}get socket(){return a.get("socket")}async getRoomName(e){let t=a.get("socket"),r=e.endsWith("@g.us"),i=null;if(r){let n=N.get(e);if(n)i=n.subject;else {let o=await t.groupMetadata(e);o&&(N.set(e,o),i=o.subject);}}return Q(i)}inject(e,t){X.inject(e,t);}getInjection(e){return X.getSync(e)}removeInjection(e){X.remove(e);}clearInjections(){X.clear();}};
21
+ `,u+=`${h(`[${e?.chatType||"unknown"}]`,"dimgray")} \u2192 ${h(p+l,n?["#ff5f6d","#ffc371"]:"brown")}
22
+ `,u+="\u2014",console.log(u);}}call(e){if(!this.isReady)return;let t=x(this.getRoomColor(e)),n=h(`[${new Date(e?.date).toTimeString().split(" ")[0]}]`,"dimgray"),i=h(`${e?.roomName}`,t),r=`${n} \u2192 ${i}
23
+ `;r+=`${h("[caller]","dimgray")} \u2192 ${h(`${e?.callerId} (${U(e?.callerId)})`,t)}
24
+ `,r+=`${h(`[${e?.status}]`,"dimgray")} \u2192 ${h(e?.isVideo?"Video Call":"Voice Call","brown")}
25
+ `,r+="\u2014",console.log(r);}};c();var Ne=class{stack=[];use(e){return this.stack.push(e),this}async run(e){let t=-1,n=async i=>{if(i<=t)throw "next() called multiple times";t=i;let r=this.stack[i];if(r)try{await r(e,()=>n(i+1));}catch(o){throw console.error("Middleware error:",o),o}};await n(0);}};c();var We=class{plugins=[];pluginsDir;globalEnabled=true;disabledPlugins=new Set;constructor(e=te.join(process.cwd(),"plugins")){this.pluginsDir=e;}async getAllFiles(e,t=e){try{await De.promises.access(e);}catch{return []}let n=await De.promises.readdir(e,{withFileTypes:true});return (await Promise.all(n.map(async r=>{let o=te.join(e,r.name);if(r.isDirectory())return this.getAllFiles(o,t);if((r.name.endsWith(".ts")||r.name.endsWith(".js"))&&!r.name.endsWith(".d.ts")){let l=te.relative(t,e),u=l===""?null:l.split(te.sep)[0];return [{filePath:o,parent:u}]}return []}))).flat()}async load(){try{await De.promises.access(this.pluginsDir);}catch{return}let e=await this.getAllFiles(this.pluginsDir),t=await Promise.all(e.map(async({filePath:n,parent:i})=>{try{let o=(await import(pathToFileURL(n).href)).default;if(o?.default&&(o=o.default),o?.handler&&o?.config){let p=this.getPluginId(o.config.matcher);return {...o,parent:i,enabled:!this.disabledPlugins.has(p)}}}catch{}return null}));this.plugins=t.filter(n=>n!==null);}getPluginId(e){return e.map(t=>t.toString()).join("|")}async execute(e,t){if(!this.globalEnabled)return;let n=t.messages.text||"";for(let i of this.plugins)if(i.enabled)try{this.match(n,i.config.matcher)&&await i.handler(e,t);}catch{}}match(e,t){return t.some(n=>n instanceof RegExp?n.test(e):e===n||e.startsWith(n+" "))}enableAll(){this.globalEnabled=true,this.plugins.forEach(e=>e.enabled=true),this.disabledPlugins.clear();}disableAll(){this.globalEnabled=false;}enable(e){let t=e.toString(),n=this.plugins.find(i=>i.config.matcher.some(r=>r.toString()===t));return n?(n.enabled=true,this.disabledPlugins.delete(this.getPluginId(n.config.matcher)),true):false}disable(e){let t=e.toString(),n=this.plugins.find(i=>i.config.matcher.some(r=>r.toString()===t));return n?(n.enabled=false,this.disabledPlugins.add(this.getPluginId(n.config.matcher)),true):false}enableByParent(e){let t=0;return this.plugins.forEach(n=>{n.parent===e&&(n.enabled=true,this.disabledPlugins.delete(this.getPluginId(n.config.matcher)),t++);}),t}disableByParent(e){let t=0;return this.plugins.forEach(n=>{n.parent===e&&(n.enabled=false,this.disabledPlugins.add(this.getPluginId(n.config.matcher)),t++);}),t}isEnabled(){return this.globalEnabled}getLoadedPlugins(){return this.plugins}getPluginsInfo(){return this.plugins.map(e=>({matcher:e.config.matcher,metadata:e.config.metadata,parent:e.parent,enabled:e.enabled}))}async reload(){this.plugins=[],await this.load();}},Ya=(s,e)=>({handler:s,config:e});var qt=class{constructor(e){this.options=e;this.options=ue(Wt,e);let t=new ne().classInjection(this,[new Ee(this),new Fe(this),new Oe(this),new Be(this),new Re(this)]);return this._ready=this.initialize(t),t}_ready;logs;middleware=new Ne;plugins=new We;health;cleanup;async initialize(e){await Bt(),await qe(this.options.disableFFmpeg),this.health=new Me(this),this.cleanup=new ye(this),this.options.autoCleanUp?.enabled&&this.cleanup.start(),await kt(this),await this.plugins.load(),new Ae(e||this),this.logs||(this.logs=new $e(this));}ready(){return this._ready}db(e){return ut(this.options.session,e)}on(e,t){a.events.on(e,t);}use(e){return this.middleware.use(e),this}get socket(){return a.get("socket")}async getRoomName(e){let t=a.get("socket"),n=e.endsWith("@g.us"),i=null;if(n){let r=N.get(e);if(r)i=r.subject;else {let o=await t.groupMetadata(e);o&&(N.set(e,o),i=o.subject);}}return Q(i)}inject(e,t){X.inject(e,t);}getInjection(e){return X.getSync(e)}removeInjection(e){X.remove(e);}clearInjections(){X.clear();}};
26
26
  /*
27
27
  * Copyright (c) 2025 zaadevofc.
28
28
  * All rights reserved.
@@ -30,7 +30,7 @@ ${u}
30
30
  * See LICENSE file for details.
31
31
 
32
32
  * Author: zaadevofc
33
- * Last build time: 12/23/2025 9:25:57 AM
33
+ * Last build time: 12/23/2025 10:26:47 AM
34
34
  *
35
35
  * Repository: git+https://github.com/zeative/zaileys.git
36
- */export{Ut as BaseMessagesType,An as ButtonInteractiveCallType,In as ButtonInteractiveCopyType,Sn as ButtonInteractiveReplyType,Pn as ButtonInteractiveSingleSelectType,En as ButtonInteractiveType,Cn as ButtonInteractiveUrlType,Rn as ButtonSimpleType,Nt as ButtonType,Bn as CitationType,qt as Client,Dn as ClientAuthPairingType,Wn as ClientAuthQRType,Dt as ClientBaseType,Wt as ClientOptionsType,Yn as DEVICE_ENUM_TYPES,Is as EventEnumType,On as FakeReplyType,Fn as LimiterType,Ia as ListenerCallsType,wa as ListenerConnectionType,va as ListenerMessagesType,Xn as MESSAGE_ENUM_TYPES,tt as MediaModifier,We as Plugins,$n as StickerMetadataType,it as StickerShapeType,Nn as autoCleanUp,U as cleanJid,St as cleanMediaObject,Ya as definePlugins,Ve as extractJids,Et as extractUrls,de as findGlobalWord,mo as findNestedByKeys,ee as generateId,he as getDeepContent,It as getLatestLibVersion,Tt as getUsersMentions,x as ignoreLint,h as logColor,$ as mediaModifier,fo as modifyFn,Q as normalizeText,vi as numbersToJids,Ke as pickKeysFromArray,uo as randomize,kt as registerAuthCreds,At as removeAuthCreds,lo as shuffleString,Je as toJson,me as toString,yt as useAuthState};
36
+ */export{Ut as BaseMessagesType,Pn as ButtonInteractiveCallType,An as ButtonInteractiveCopyType,Cn as ButtonInteractiveReplyType,En as ButtonInteractiveSingleSelectType,Rn as ButtonInteractiveType,In as ButtonInteractiveUrlType,Fn as ButtonSimpleType,Nt as ButtonType,On as CitationType,qt as Client,Wn as ClientAuthPairingType,_n as ClientAuthQRType,Dt as ClientBaseType,Wt as ClientOptionsType,Xn as DEVICE_ENUM_TYPES,$s as EventEnumType,$n as FakeReplyType,Bn as LimiterType,$a as ListenerCallsType,Ca as ListenerConnectionType,Ra as ListenerMessagesType,er as MESSAGE_ENUM_TYPES,tt as MediaModifier,We as Plugins,Nn as StickerMetadataType,it as StickerShapeType,Dn as autoCleanUp,U as cleanJid,St as cleanMediaObject,Ya as definePlugins,Ve as extractJids,Et as extractUrls,de as findGlobalWord,Mo as findNestedByKeys,ee as generateId,we as getDeepContent,It as getLatestLibVersion,Tt as getUsersMentions,x as ignoreLint,h as logColor,$ as mediaModifier,xo as modifyFn,Q as normalizeText,Ci as numbersToJids,Ke as pickKeysFromArray,bo as randomize,kt as registerAuthCreds,At as removeAuthCreds,ko as shuffleString,Je as toJson,me as toString,yt as useAuthState};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zaileys",
3
3
  "description": "Zaileys - Simplified WhatsApp Node.js TypeScript/JavaScript API",
4
- "version": "2.2.0",
4
+ "version": "2.2.1",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.mjs",
@@ -34,9 +34,9 @@
34
34
  "scripts": {
35
35
  "dev": "tsx --watch examples/test.ts",
36
36
  "build": "tsup",
37
- "r:patch": "npm run build && npm version patch && npm publish",
38
- "r:minor": "npm run build && npm version minor && npm publish",
39
- "r:major": "npm run build && npm version major && npm publish"
37
+ "r:patch": "npm version patch && npm run build && npm publish",
38
+ "r:minor": "npm version minor && npm run build && npm publish",
39
+ "r:major": "npm version major && npm run build && npm publish"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/lodash": "^4.17.21",