zaileys 0.2.1-dev → 0.3.1-dev

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 zaadevofc
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { UserFacingSocketConfig } from '@whiskeysockets/baileys';
1
+ import { makeInMemoryStore, proto, UserFacingSocketConfig } from '@whiskeysockets/baileys';
2
2
 
3
3
  type ReadyParserProps = 'ready' | 'connecting' | 'close';
4
4
  type MessageTypeProps = 'text' | 'sticker' | 'image' | 'video' | 'document' | 'product' | 'reaction' | 'gif' | 'audio' | 'voice' | 'contact' | 'polling' | 'location' | 'unknown';
@@ -13,12 +13,12 @@ type MessageInternalProps = {
13
13
  isGroup: boolean;
14
14
  isViewOnce: boolean;
15
15
  };
16
- type MessageParserProps = MessageInternalProps & {
16
+ type MessageParserProps = MessageInternalProps[] & {
17
17
  body: {
18
18
  type: MessageTypeProps;
19
- text: string;
19
+ text?: string;
20
20
  };
21
- };
21
+ }[];
22
22
 
23
23
  type Prettify<T> = {
24
24
  [K in keyof T]: T[K];
@@ -27,8 +27,10 @@ type ClientProps = {
27
27
  phoneNumber: number;
28
28
  pairing?: boolean;
29
29
  showLogs?: boolean;
30
+ authors?: number[];
30
31
  state?: any;
31
- store?: any;
32
+ me?: any;
33
+ store?: ReturnType<typeof makeInMemoryStore>;
32
34
  };
33
35
  type ActionsProps = {
34
36
  message: MessageParserProps;
@@ -39,22 +41,95 @@ declare class Client {
39
41
  readonly pairing: boolean;
40
42
  readonly phoneNumber: number;
41
43
  readonly showLogs: boolean;
44
+ readonly authors: number[];
42
45
  private socket;
43
46
  private store;
44
47
  private state;
45
- constructor({ pairing, phoneNumber, showLogs }: ClientProps);
48
+ private me;
49
+ constructor({ pairing, phoneNumber, showLogs, authors }: ClientProps);
50
+ set saveState(state: any);
46
51
  private client;
47
52
  on<T extends keyof ActionsProps>(actions: T, callback: (ctx: Prettify<ActionsProps[T]>) => void): void;
48
53
  }
49
54
 
50
55
  declare function InitDisplay(config: ClientProps): void;
51
56
 
52
- declare function MessageParser(): void;
57
+ declare function MessageParser(ctx: proto.IWebMessageInfo[], config: ClientProps): MessageParserProps;
53
58
 
54
59
  declare function ConnectionConfig(props: ClientProps): UserFacingSocketConfig;
60
+ declare const MESSAGE_TYPE: {
61
+ text: string;
62
+ conversation: string;
63
+ imageMessage: string;
64
+ contactMessage: string;
65
+ locationMessage: string;
66
+ extendedTextMessage: string;
67
+ documentMessage: string;
68
+ audioMessage: string;
69
+ videoMessage: string;
70
+ protocolMessage: string;
71
+ contactsArrayMessage: string;
72
+ highlyStructuredMessage: string;
73
+ sendPaymentMessage: string;
74
+ liveLocationMessage: string;
75
+ requestPaymentMessage: string;
76
+ declinePaymentRequestMessage: string;
77
+ cancelPaymentRequestMessage: string;
78
+ templateMessage: string;
79
+ stickerMessage: string;
80
+ groupInviteMessage: string;
81
+ templateButtonReplyMessage: string;
82
+ productMessage: string;
83
+ deviceSentMessage: string;
84
+ listMessage: string;
85
+ viewOnceMessage: string;
86
+ orderMessage: string;
87
+ listResponseMessage: string;
88
+ ephemeralMessage: string;
89
+ invoiceMessage: string;
90
+ buttonsMessage: string;
91
+ buttonsResponseMessage: string;
92
+ paymentInviteMessage: string;
93
+ interactiveMessage: string;
94
+ reactionMessage: string;
95
+ stickerSyncRmrMessage: string;
96
+ interactiveResponseMessage: string;
97
+ pollCreationMessage: string;
98
+ pollUpdateMessage: string;
99
+ keepInChatMessage: string;
100
+ documentWithCaptionMessage: string;
101
+ requestPhoneNumberMessage: string;
102
+ viewOnceMessageV2: string;
103
+ encReactionMessage: string;
104
+ editedMessage: string;
105
+ viewOnceMessageV2Extension: string;
106
+ pollCreationMessageV2: string;
107
+ scheduledCallCreationMessage: string;
108
+ groupMentionedMessage: string;
109
+ pinInChatMessage: string;
110
+ pollCreationMessageV3: string;
111
+ scheduledCallEditMessage: string;
112
+ ptvMessage: string;
113
+ botInvokeMessage: string;
114
+ callLogMesssage: string;
115
+ encCommentMessage: string;
116
+ bcallMessage: string;
117
+ lottieStickerMessage: string;
118
+ eventMessage: string;
119
+ commentMessage: string;
120
+ newsletterAdminInviteMessage: string;
121
+ extendedTextMessageWithParentKey: string;
122
+ placeholderMessage: string;
123
+ encEventUpdateMessage: string;
124
+ };
125
+ declare function getMessageType(obj: any): string[];
55
126
 
56
- declare function loop(cb: Function, ms: number): NodeJS.Timeout;
57
- declare function timeOut(cb: Function, ms: number): NodeJS.Timeout;
127
+ declare function loop(cb: () => void, ms: number): NodeJS.Timeout;
128
+ declare function jsonString(obj: any): any;
129
+ declare function jsonParse(obj: any): any;
130
+ declare function timeout(cb: () => void, ms: number): NodeJS.Timeout;
58
131
  declare function delay(ms: number): Promise<unknown>;
132
+ declare function getValuesByKeys(object: any, keys: string[]): any[];
133
+ declare function removeKeys(object: any, keys: string[]): any;
59
134
 
60
- export { type ActionsProps, Client, type ClientProps, ConnectionConfig, InitDisplay, MessageParser, type Prettify, delay, loop, timeOut };
135
+ export { type ActionsProps, Client, type ClientProps, ConnectionConfig, InitDisplay, MESSAGE_TYPE, MessageParser, type Prettify, delay, getMessageType, getValuesByKeys, jsonParse, jsonString, loop, removeKeys, timeout };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { UserFacingSocketConfig } from '@whiskeysockets/baileys';
1
+ import { makeInMemoryStore, proto, UserFacingSocketConfig } from '@whiskeysockets/baileys';
2
2
 
3
3
  type ReadyParserProps = 'ready' | 'connecting' | 'close';
4
4
  type MessageTypeProps = 'text' | 'sticker' | 'image' | 'video' | 'document' | 'product' | 'reaction' | 'gif' | 'audio' | 'voice' | 'contact' | 'polling' | 'location' | 'unknown';
@@ -13,12 +13,12 @@ type MessageInternalProps = {
13
13
  isGroup: boolean;
14
14
  isViewOnce: boolean;
15
15
  };
16
- type MessageParserProps = MessageInternalProps & {
16
+ type MessageParserProps = MessageInternalProps[] & {
17
17
  body: {
18
18
  type: MessageTypeProps;
19
- text: string;
19
+ text?: string;
20
20
  };
21
- };
21
+ }[];
22
22
 
23
23
  type Prettify<T> = {
24
24
  [K in keyof T]: T[K];
@@ -27,8 +27,10 @@ type ClientProps = {
27
27
  phoneNumber: number;
28
28
  pairing?: boolean;
29
29
  showLogs?: boolean;
30
+ authors?: number[];
30
31
  state?: any;
31
- store?: any;
32
+ me?: any;
33
+ store?: ReturnType<typeof makeInMemoryStore>;
32
34
  };
33
35
  type ActionsProps = {
34
36
  message: MessageParserProps;
@@ -39,22 +41,95 @@ declare class Client {
39
41
  readonly pairing: boolean;
40
42
  readonly phoneNumber: number;
41
43
  readonly showLogs: boolean;
44
+ readonly authors: number[];
42
45
  private socket;
43
46
  private store;
44
47
  private state;
45
- constructor({ pairing, phoneNumber, showLogs }: ClientProps);
48
+ private me;
49
+ constructor({ pairing, phoneNumber, showLogs, authors }: ClientProps);
50
+ set saveState(state: any);
46
51
  private client;
47
52
  on<T extends keyof ActionsProps>(actions: T, callback: (ctx: Prettify<ActionsProps[T]>) => void): void;
48
53
  }
49
54
 
50
55
  declare function InitDisplay(config: ClientProps): void;
51
56
 
52
- declare function MessageParser(): void;
57
+ declare function MessageParser(ctx: proto.IWebMessageInfo[], config: ClientProps): MessageParserProps;
53
58
 
54
59
  declare function ConnectionConfig(props: ClientProps): UserFacingSocketConfig;
60
+ declare const MESSAGE_TYPE: {
61
+ text: string;
62
+ conversation: string;
63
+ imageMessage: string;
64
+ contactMessage: string;
65
+ locationMessage: string;
66
+ extendedTextMessage: string;
67
+ documentMessage: string;
68
+ audioMessage: string;
69
+ videoMessage: string;
70
+ protocolMessage: string;
71
+ contactsArrayMessage: string;
72
+ highlyStructuredMessage: string;
73
+ sendPaymentMessage: string;
74
+ liveLocationMessage: string;
75
+ requestPaymentMessage: string;
76
+ declinePaymentRequestMessage: string;
77
+ cancelPaymentRequestMessage: string;
78
+ templateMessage: string;
79
+ stickerMessage: string;
80
+ groupInviteMessage: string;
81
+ templateButtonReplyMessage: string;
82
+ productMessage: string;
83
+ deviceSentMessage: string;
84
+ listMessage: string;
85
+ viewOnceMessage: string;
86
+ orderMessage: string;
87
+ listResponseMessage: string;
88
+ ephemeralMessage: string;
89
+ invoiceMessage: string;
90
+ buttonsMessage: string;
91
+ buttonsResponseMessage: string;
92
+ paymentInviteMessage: string;
93
+ interactiveMessage: string;
94
+ reactionMessage: string;
95
+ stickerSyncRmrMessage: string;
96
+ interactiveResponseMessage: string;
97
+ pollCreationMessage: string;
98
+ pollUpdateMessage: string;
99
+ keepInChatMessage: string;
100
+ documentWithCaptionMessage: string;
101
+ requestPhoneNumberMessage: string;
102
+ viewOnceMessageV2: string;
103
+ encReactionMessage: string;
104
+ editedMessage: string;
105
+ viewOnceMessageV2Extension: string;
106
+ pollCreationMessageV2: string;
107
+ scheduledCallCreationMessage: string;
108
+ groupMentionedMessage: string;
109
+ pinInChatMessage: string;
110
+ pollCreationMessageV3: string;
111
+ scheduledCallEditMessage: string;
112
+ ptvMessage: string;
113
+ botInvokeMessage: string;
114
+ callLogMesssage: string;
115
+ encCommentMessage: string;
116
+ bcallMessage: string;
117
+ lottieStickerMessage: string;
118
+ eventMessage: string;
119
+ commentMessage: string;
120
+ newsletterAdminInviteMessage: string;
121
+ extendedTextMessageWithParentKey: string;
122
+ placeholderMessage: string;
123
+ encEventUpdateMessage: string;
124
+ };
125
+ declare function getMessageType(obj: any): string[];
55
126
 
56
- declare function loop(cb: Function, ms: number): NodeJS.Timeout;
57
- declare function timeOut(cb: Function, ms: number): NodeJS.Timeout;
127
+ declare function loop(cb: () => void, ms: number): NodeJS.Timeout;
128
+ declare function jsonString(obj: any): any;
129
+ declare function jsonParse(obj: any): any;
130
+ declare function timeout(cb: () => void, ms: number): NodeJS.Timeout;
58
131
  declare function delay(ms: number): Promise<unknown>;
132
+ declare function getValuesByKeys(object: any, keys: string[]): any[];
133
+ declare function removeKeys(object: any, keys: string[]): any;
59
134
 
60
- export { type ActionsProps, Client, type ClientProps, ConnectionConfig, InitDisplay, MessageParser, type Prettify, delay, loop, timeOut };
135
+ export { type ActionsProps, Client, type ClientProps, ConnectionConfig, InitDisplay, MESSAGE_TYPE, MessageParser, type Prettify, delay, getMessageType, getValuesByKeys, jsonParse, jsonString, loop, removeKeys, timeout };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var I=Object.create;var l=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var R=(t,e)=>{for(var o in e)l(t,o,{get:e[o],enumerable:!0})},v=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of z(e))!N.call(t,s)&&s!==o&&l(t,s,{get:()=>e[s],enumerable:!(n=O(e,s))||n.enumerable});return t};var c=(t,e,o)=>(o=t!=null?I(A(t)):{},v(e||!t||!t.__esModule?l(o,"default",{value:t,enumerable:!0}):o,t)),D=t=>v(l({},"__esModule",{value:!0}),t);var Q={};R(Q,{Client:()=>P,ConnectionConfig:()=>d,InitDisplay:()=>w,MessageParser:()=>q,delay:()=>m,loop:()=>y,timeOut:()=>j});module.exports=D(Q);var a=require("@whiskeysockets/baileys"),T=c(require("pino"));var p=require("@whiskeysockets/baileys"),h=c(require("pino"));var x={author:"https://github.com/zaadevofc",repository:"https://github.com/zaadevofc/zaileys",package:"https://www.npmjs.com/package/zaileys",version:[2,2413,1]};var C=c(require("node-cache"));function d(t){async function e(o){return t.store?(await t.store.loadMessage(o.remoteJid,o.id))?.message||void 0:p.proto.Message.fromObject({})}return{printQRInTerminal:!t.pairing,defaultQueryTimeoutMs:0,connectTimeoutMs:6e4,keepAliveIntervalMs:1e4,msgRetryCounterCache:new C.default,syncFullHistory:!0,mobile:!1,markOnlineOnConnect:!1,generateHighQualityLinkPreview:!0,browser:["Mac OS","chrome","121.0.6167.159"],version:x.version,logger:(0,h.default)({level:"fatal"}),auth:{creds:t.state.creds,keys:(0,p.makeCacheableSignalKeyStore)(t.state.keys,(0,h.default)().child({level:"silent",stream:"store"}))},getMessage:e,patchMessageBeforeSending:o=>(!!(o.buttonsMessage||o.templateMessage||o.listMessage)&&(o={viewOnceMessage:{message:{messageContextInfo:{deviceListMetadataVersion:2,deviceListMetadata:{}},...o}}}),o)}}function y(t,e){return setInterval(()=>t(),e)}function j(t,e){return setTimeout(()=>t(),e)}function m(t){return new Promise(e=>setTimeout(e,t))}var k=c(require("cfonts")),_=c(require("ora"));var M=require("events"),g=new M.EventEmitter;function w(t){console.clear(),k.default.say("Zaileys",{font:"block",colors:["white","green"],letterSpacing:1,lineHeight:1,space:!1,maxLength:"0"}),k.default.say(" Love this package? help me with donation: | https://ko-fi.com/zaadevofc |",{font:"console",colors:["black"],background:"green",letterSpacing:1,space:!1,maxLength:"0"});let e=(0,_.default)();g.on("conn_msg",o=>{e[o[0]](o[1])}),t.showLogs}var f=c(require("chalk")),P=class{pairing;phoneNumber;showLogs;socket=g;store;state;constructor({pairing:e,phoneNumber:o,showLogs:n}){this.pairing=e??!0,this.phoneNumber=o,this.showLogs=n??!0,this.client()}async client(){w(this);let e=(0,a.makeInMemoryStore)({logger:(0,T.default)().child({level:"silent",stream:"store"})}),{state:o,saveCreds:n}=await(0,a.useMultiFileAuthState)("session/zaileys");e.readFromFile("session/data.json"),y(async()=>{try{e.writeToFile("session/data.json")}catch{await this.socket.emit("conn_msg",["fail",f.default.yellow("[DETECTED] session folder has been deleted by the user")]),await m(2e3),await this.socket.emit("conn_msg",["fail",f.default.yellow("Please rerun the program...")]),await process.exit()}},1e4),this.state=o,this.store=e;let s=(0,a.makeWASocket)(d(this));if(e.bind(s.ev),this.pairing&&this.phoneNumber&&!o.creds.me&&!s.authState.creds.registered){this.socket.emit("conn_msg",["start","Initialization new session..."]),await m(2e3),this.socket.emit("conn_msg",["start","Creating new pairing code..."]),await m(6e3);let i=await s.requestPairingCode(this.phoneNumber.toString());this.socket.emit("conn_msg",["info",`Connect with pairing code : ${f.default.green(i)}`])}return s.ev.on("messages.upsert",async i=>{console.log(JSON.stringify(i.messages,null,2)),this.socket.emit("act_message",i.messages)}),s.ev.process(async i=>{if(i["creds.update"]&&await n(),i["connection.update"]){let S=i["connection.update"],{connection:u,lastDisconnect:F,qr:L}=S;if(u=="connecting"&&(this.socket.emit("act_connection","connecting"),this.socket.emit("conn_msg",["start","Connecting to server..."])),L&&this.socket.emit("conn_msg",["warn","Please scan the QR code..."]),u==="close"){this.socket.emit("act_connection","close");let b=F?.error?.output.statusCode!==a.DisconnectReason.loggedOut;if(b&&(this.socket.emit("conn_msg",["warn","Failed to connect. Waiting for reconnect..."]),this.client()),!b){this.socket.emit("conn_msg",["fail","Failed to connect. Please delete session and try again."]);return}await this.socket.emit("conn_msg",["info","Trying to reconnect..."]),await m(2e3),await this.socket.emit("conn_msg",["clear"])}u==="open"&&(this.socket.emit("act_connection","ready"),this.socket.emit("conn_msg",["succeed","Connected to server"]),console.log())}}),s}on(e,o){let n=(s,i)=>this.socket.on(`act_${s}`,i);switch(e){case"connection":n(e,o);break;case"message":n(e,o);break;default:break}}};function q(){}0&&(module.exports={Client,ConnectionConfig,InitDisplay,MessageParser,delay,loop,timeOut});
1
+ "use strict";var K=Object.create;var P=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var $=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var Q=(t,e)=>{for(var s in e)P(t,s,{get:e[s],enumerable:!0})},A=(t,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of U(e))!J.call(t,n)&&n!==s&&P(t,n,{get:()=>e[n],enumerable:!(o=j(e,n))||o.enumerable});return t};var m=(t,e,s)=>(s=t!=null?K($(t)):{},A(e||!t||!t.__esModule?P(s,"default",{value:t,enumerable:!0}):s,t)),W=t=>A(P({},"__esModule",{value:!0}),t);var Z={};Q(Z,{Client:()=>E,ConnectionConfig:()=>S,InitDisplay:()=>O,MESSAGE_TYPE:()=>b,MessageParser:()=>_,delay:()=>f,getMessageType:()=>y,getValuesByKeys:()=>l,jsonParse:()=>N,jsonString:()=>g,loop:()=>T,removeKeys:()=>I,timeout:()=>H});module.exports=W(Z);var u=require("@whiskeysockets/baileys"),V=m(require("pino"));var x=require("@whiskeysockets/baileys"),C=m(require("pino"));var L={author:"https://github.com/zaadevofc",repository:"https://github.com/zaadevofc/zaileys",package:"https://www.npmjs.com/package/zaileys",version:[2,2413,1]};var B=m(require("node-cache"));function S(t){async function e(s){return t.store?(await t.store.loadMessage(s.remoteJid,s.id))?.message||void 0:x.proto.Message.fromObject({})}return{printQRInTerminal:!t.pairing,defaultQueryTimeoutMs:0,connectTimeoutMs:6e4,keepAliveIntervalMs:1e4,msgRetryCounterCache:new B.default,syncFullHistory:!0,mobile:!1,markOnlineOnConnect:!1,generateHighQualityLinkPreview:!0,browser:["Mac OS","chrome","121.0.6167.159"],version:L.version,logger:(0,C.default)({level:"fatal"}),auth:{creds:t.state.creds,keys:(0,x.makeCacheableSignalKeyStore)(t.state.keys,(0,C.default)().child({level:"silent",stream:"store"}))},getMessage:e,patchMessageBeforeSending:s=>(!!(s.buttonsMessage||s.templateMessage||s.listMessage)&&(s={viewOnceMessage:{message:{messageContextInfo:{deviceListMetadataVersion:2,deviceListMetadata:{}},...s}}}),s)}}var b={text:"text",conversation:"text",imageMessage:"image",contactMessage:"contact",locationMessage:"location",extendedTextMessage:"text",documentMessage:"document",audioMessage:"audio",videoMessage:"video",protocolMessage:"protocol",contactsArrayMessage:"contactsArray",highlyStructuredMessage:"highlyStructured",sendPaymentMessage:"sendPayment",liveLocationMessage:"liveLocation",requestPaymentMessage:"requestPayment",declinePaymentRequestMessage:"declinePaymentRequest",cancelPaymentRequestMessage:"cancelPaymentRequest",templateMessage:"template",stickerMessage:"sticker",groupInviteMessage:"groupInvite",templateButtonReplyMessage:"templateButtonReply",productMessage:"product",deviceSentMessage:"deviceSent",listMessage:"list",viewOnceMessage:"viewOnce",orderMessage:"order",listResponseMessage:"listResponse",ephemeralMessage:"ephemeral",invoiceMessage:"invoice",buttonsMessage:"buttons",buttonsResponseMessage:"buttonsResponse",paymentInviteMessage:"paymentInvite",interactiveMessage:"interactive",reactionMessage:"reaction",stickerSyncRmrMessage:"stickerSyncRmr",interactiveResponseMessage:"interactiveResponse",pollCreationMessage:"pollCreation",pollUpdateMessage:"pollUpdate",keepInChatMessage:"keepInChat",documentWithCaptionMessage:"documentWithCaption",requestPhoneNumberMessage:"requestPhoneNumber",viewOnceMessageV2:"viewOnce",encReactionMessage:"encReaction",editedMessage:"edited",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:"newsletterAdminInvite",extendedTextMessageWithParentKey:"text",placeholderMessage:"placeholder",encEventUpdateMessage:"encEventUpdate"};function y(t){if(typeof t!="object"||t===null)return[];for(let e of Object.keys(t))if(Object.keys(b).includes(e))return[b[e],e];for(let e of Object.values(t)){let s=y(e);if(s)return s}return[]}function T(t,e){return setInterval(t,e)}function g(t){return JSON.stringify(t??{},null,2)}function N(t){return JSON.parse(g(t))}function H(t,e){return setTimeout(t,e)}async function f(t){return new Promise(e=>setTimeout(e,t))}function l(t,e){let s=[],o=n=>{n!=null&&(Array.isArray(n)?n.forEach(o):typeof n=="object"&&Object.entries(n).forEach(([r,a])=>{e.includes(r)&&s.push(a),o(a)}))};return o(t),s}function I(t,e){let s=o=>{if(o===null||typeof o!="object")return o;if(Array.isArray(o))return o.map(s);let n={};for(let r in o)e.includes(r)||(n[r]=s(o[r]));return n};return s(N(t))}var R=m(require("cfonts")),F=m(require("ora"));var q=require("events"),D=m(require("quick-lru")),ge=new D.default({maxSize:9999999999}),v=new q.EventEmitter;var Y=m(require("chalk"));function O(t){console.clear(),R.default.say("Zaileys",{font:"block",colors:["white","green"],letterSpacing:1,lineHeight:1,space:!1,maxLength:"0"}),R.default.say(" Love this package? help me with donation: | https://ko-fi.com/zaadevofc |",{font:"console",colors:["black"],background:"green",letterSpacing:1,space:!1,maxLength:"0"});let e=(0,F.default)();v.on("conn_msg",s=>{e[s[0]](s[1]),s[0]=="succeed"&&v.on("conn_config",o=>{o?.forEach((n,r)=>{console.log(n)})})}),t.showLogs}var p=m(require("chalk"));function _(t,e){return t.map((o,n)=>{let r=Number(o.key.remoteJid?.split("@")[0]);console.log(g(o));let a=I(o,["contextInfo"]),c=l(o,["quotedMessage"])[0],d=y(a),w=l(a,["conversation","text","caption","contentText","description"])[0],h=y(c),k=l(c,["conversation","text","caption","contentText","description"])[0],X=d[0]!="text"&&l(a,[d[1]]),M=h[0]!="text"&&l(c,[h[1]])[0];return M=h[0]=="viewOnce"?l(M,y(M))[0]:M,e.store?.loadMessage("6289526382389@s.whatsapp.net","81AF2468F3C7DD936D771326004D5930").then(z=>{console.log("orang =>>>> ",z)}),{chatId:o.key.id,fromMe:o.key.fromMe,pushName:o.pushName,remoteJid:o.key.remoteJid,timestamp:o.messageTimestamp,isAuthor:e.authors.includes(r),isBroadcast:o.broadcast,body:{type:d,text:w,isGroup:g(a).includes("@g.us")??!1,isViewOnce:g(a).includes("viewOnce"),media:l(a,[d[1]])},reply:{type:h[0],text:k,isGroup:g(c).includes("@g.us")??!1,isViewOnce:g(c).includes("viewOnce"),media:M}}})}var E=class{pairing;phoneNumber;showLogs;authors;socket=v;store;state;me;constructor({pairing:e,phoneNumber:s,showLogs:o,authors:n}){this.pairing=e??!0,this.phoneNumber=s,this.showLogs=o??!0,this.authors=n??[],this.client()}set saveState(e){this.state=e}async client(){O(this);let e=(0,u.makeInMemoryStore)({logger:(0,V.default)().child({level:"silent",stream:"store"})}),{state:s,saveCreds:o}=await(0,u.useMultiFileAuthState)("session/zaileys");e.readFromFile("session/data.json"),T(async()=>{try{e.writeToFile("session/data.json")}catch{await this.socket.emit("conn_msg",["fail",p.default.yellow("[DETECTED] session folder has been deleted by the user")]),await f(2e3),await this.socket.emit("conn_msg",["fail",p.default.yellow("Please rerun the program...")]),await process.exit()}},1e4),this.state=s,this.store=e;let n=(0,u.makeWASocket)(S(this));if(e.bind(n.ev),this.pairing&&this.phoneNumber&&!s.creds.me&&!n.authState.creds.registered){this.socket.emit("conn_msg",["start","Initialization new session..."]),await f(2e3),this.socket.emit("conn_msg",["start","Creating new pairing code..."]),await f(6e3);let r=await n.requestPairingCode(this.phoneNumber.toString());this.socket.emit("conn_msg",["info",`Connect with pairing code : ${p.default.green(r)}`])}return n.ev.on("messages.upsert",async r=>{this.socket.emit("act_message",r.messages)}),n.ev.process(async r=>{if(r["creds.update"]){let a=r["creds.update"];this.socket.emit("conn_config",[p.default`{greenBright → Login as :} {redBright ${a.me?.verifiedName||a.me?.name}}`,p.default`{greenBright → Login Method :} {cyanBright ${this.pairing?"Pairing Code":"QR Code"}}`,p.default`{greenBright → Login Platform :} {yellowBright ${a.platform}}`,p.default`{greenBright → Phone Creds :} {magentaBright ${a.phoneId}}`,p.default`{greenBright → Device Creds :} {magentaBright ${a.deviceId}}`,""]),await o()}if(r["connection.update"]){let a=r["connection.update"],{connection:c,lastDisconnect:d,qr:w}=a;if(c=="connecting"&&(this.socket.emit("act_connection","connecting"),this.socket.emit("conn_msg",["start","Connecting to server..."])),w&&this.socket.emit("conn_msg",["warn","Please scan the QR code..."]),c==="close"){this.socket.emit("act_connection","close");let k=d?.error?.output.statusCode!==u.DisconnectReason.loggedOut;if(k&&(this.socket.emit("conn_msg",["warn","Failed to connect. Waiting for reconnect..."]),this.client()),!k){this.socket.emit("conn_msg",["fail","Failed to connect. Please delete session and try again."]);return}await this.socket.emit("conn_msg",["info","Trying to reconnect..."]),await f(2e3),await this.socket.emit("conn_msg",["clear"])}c==="open"&&(this.socket.emit("act_connection","ready"),this.socket.emit("conn_msg",["succeed","Connected to server"]),console.log())}}),n}on(e,s){let o=(n,r)=>this.socket.on(`act_${n}`,r);switch(e){case"connection":o(e,n=>s(n));break;case"message":o(e,async n=>s(_(n,this)));break;default:break}}};0&&(module.exports={Client,ConnectionConfig,InitDisplay,MESSAGE_TYPE,MessageParser,delay,getMessageType,getValuesByKeys,jsonParse,jsonString,loop,removeKeys,timeout});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{DisconnectReason as F,makeInMemoryStore as L,makeWASocket as I,useMultiFileAuthState as O}from"@whiskeysockets/baileys";import z from"pino";import{makeCacheableSignalKeyStore as C,proto as M}from"@whiskeysockets/baileys";import u from"pino";var f={author:"https://github.com/zaadevofc",repository:"https://github.com/zaadevofc/zaileys",package:"https://www.npmjs.com/package/zaileys",version:[2,2413,1]};import _ from"node-cache";function h(o){async function e(t){return o.store?(await o.store.loadMessage(t.remoteJid,t.id))?.message||void 0:M.Message.fromObject({})}return{printQRInTerminal:!o.pairing,defaultQueryTimeoutMs:0,connectTimeoutMs:6e4,keepAliveIntervalMs:1e4,msgRetryCounterCache:new _,syncFullHistory:!0,mobile:!1,markOnlineOnConnect:!1,generateHighQualityLinkPreview:!0,browser:["Mac OS","chrome","121.0.6167.159"],version:f.version,logger:u({level:"fatal"}),auth:{creds:o.state.creds,keys:C(o.state.keys,u().child({level:"silent",stream:"store"}))},getMessage:e,patchMessageBeforeSending:t=>(!!(t.buttonsMessage||t.templateMessage||t.listMessage)&&(t={viewOnceMessage:{message:{messageContextInfo:{deviceListMetadataVersion:2,deviceListMetadata:{}},...t}}}),t)}}function d(o,e){return setInterval(()=>o(),e)}function K(o,e){return setTimeout(()=>o(),e)}function c(o){return new Promise(e=>setTimeout(e,o))}import y from"cfonts";import S from"ora";import{EventEmitter as T}from"events";var m=new T;function k(o){console.clear(),y.say("Zaileys",{font:"block",colors:["white","green"],letterSpacing:1,lineHeight:1,space:!1,maxLength:"0"}),y.say(" Love this package? help me with donation: | https://ko-fi.com/zaadevofc |",{font:"console",colors:["black"],background:"green",letterSpacing:1,space:!1,maxLength:"0"});let e=S();m.on("conn_msg",t=>{e[t[0]](t[1])}),o.showLogs}import p from"chalk";var w=class{pairing;phoneNumber;showLogs;socket=m;store;state;constructor({pairing:e,phoneNumber:t,showLogs:r}){this.pairing=e??!0,this.phoneNumber=t,this.showLogs=r??!0,this.client()}async client(){k(this);let e=L({logger:z().child({level:"silent",stream:"store"})}),{state:t,saveCreds:r}=await O("session/zaileys");e.readFromFile("session/data.json"),d(async()=>{try{e.writeToFile("session/data.json")}catch{await this.socket.emit("conn_msg",["fail",p.yellow("[DETECTED] session folder has been deleted by the user")]),await c(2e3),await this.socket.emit("conn_msg",["fail",p.yellow("Please rerun the program...")]),await process.exit()}},1e4),this.state=t,this.store=e;let a=I(h(this));if(e.bind(a.ev),this.pairing&&this.phoneNumber&&!t.creds.me&&!a.authState.creds.registered){this.socket.emit("conn_msg",["start","Initialization new session..."]),await c(2e3),this.socket.emit("conn_msg",["start","Creating new pairing code..."]),await c(6e3);let s=await a.requestPairingCode(this.phoneNumber.toString());this.socket.emit("conn_msg",["info",`Connect with pairing code : ${p.green(s)}`])}return a.ev.on("messages.upsert",async s=>{console.log(JSON.stringify(s.messages,null,2)),this.socket.emit("act_message",s.messages)}),a.ev.process(async s=>{if(s["creds.update"]&&await r(),s["connection.update"]){let P=s["connection.update"],{connection:l,lastDisconnect:b,qr:v}=P;if(l=="connecting"&&(this.socket.emit("act_connection","connecting"),this.socket.emit("conn_msg",["start","Connecting to server..."])),v&&this.socket.emit("conn_msg",["warn","Please scan the QR code..."]),l==="close"){this.socket.emit("act_connection","close");let g=b?.error?.output.statusCode!==F.loggedOut;if(g&&(this.socket.emit("conn_msg",["warn","Failed to connect. Waiting for reconnect..."]),this.client()),!g){this.socket.emit("conn_msg",["fail","Failed to connect. Please delete session and try again."]);return}await this.socket.emit("conn_msg",["info","Trying to reconnect..."]),await c(2e3),await this.socket.emit("conn_msg",["clear"])}l==="open"&&(this.socket.emit("act_connection","ready"),this.socket.emit("conn_msg",["succeed","Connected to server"]),console.log())}}),a}on(e,t){let r=(a,s)=>this.socket.on(`act_${a}`,s);switch(e){case"connection":r(e,t);break;case"message":r(e,t);break;default:break}}};function ge(){}export{w as Client,h as ConnectionConfig,k as InitDisplay,ge as MessageParser,c as delay,d as loop,K as timeOut};
1
+ import{DisconnectReason as V,makeInMemoryStore as z,makeWASocket as K,useMultiFileAuthState as j}from"@whiskeysockets/baileys";import U from"pino";import{makeCacheableSignalKeyStore as A,proto as L}from"@whiskeysockets/baileys";import x from"pino";var P={author:"https://github.com/zaadevofc",repository:"https://github.com/zaadevofc/zaileys",package:"https://www.npmjs.com/package/zaileys",version:[2,2413,1]};import B from"node-cache";function C(o){async function e(s){return o.store?(await o.store.loadMessage(s.remoteJid,s.id))?.message||void 0:L.Message.fromObject({})}return{printQRInTerminal:!o.pairing,defaultQueryTimeoutMs:0,connectTimeoutMs:6e4,keepAliveIntervalMs:1e4,msgRetryCounterCache:new B,syncFullHistory:!0,mobile:!1,markOnlineOnConnect:!1,generateHighQualityLinkPreview:!0,browser:["Mac OS","chrome","121.0.6167.159"],version:P.version,logger:x({level:"fatal"}),auth:{creds:o.state.creds,keys:A(o.state.keys,x().child({level:"silent",stream:"store"}))},getMessage:e,patchMessageBeforeSending:s=>(!!(s.buttonsMessage||s.templateMessage||s.listMessage)&&(s={viewOnceMessage:{message:{messageContextInfo:{deviceListMetadataVersion:2,deviceListMetadata:{}},...s}}}),s)}}var w={text:"text",conversation:"text",imageMessage:"image",contactMessage:"contact",locationMessage:"location",extendedTextMessage:"text",documentMessage:"document",audioMessage:"audio",videoMessage:"video",protocolMessage:"protocol",contactsArrayMessage:"contactsArray",highlyStructuredMessage:"highlyStructured",sendPaymentMessage:"sendPayment",liveLocationMessage:"liveLocation",requestPaymentMessage:"requestPayment",declinePaymentRequestMessage:"declinePaymentRequest",cancelPaymentRequestMessage:"cancelPaymentRequest",templateMessage:"template",stickerMessage:"sticker",groupInviteMessage:"groupInvite",templateButtonReplyMessage:"templateButtonReply",productMessage:"product",deviceSentMessage:"deviceSent",listMessage:"list",viewOnceMessage:"viewOnce",orderMessage:"order",listResponseMessage:"listResponse",ephemeralMessage:"ephemeral",invoiceMessage:"invoice",buttonsMessage:"buttons",buttonsResponseMessage:"buttonsResponse",paymentInviteMessage:"paymentInvite",interactiveMessage:"interactive",reactionMessage:"reaction",stickerSyncRmrMessage:"stickerSyncRmr",interactiveResponseMessage:"interactiveResponse",pollCreationMessage:"pollCreation",pollUpdateMessage:"pollUpdate",keepInChatMessage:"keepInChat",documentWithCaptionMessage:"documentWithCaption",requestPhoneNumberMessage:"requestPhoneNumber",viewOnceMessageV2:"viewOnce",encReactionMessage:"encReaction",editedMessage:"edited",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:"newsletterAdminInvite",extendedTextMessageWithParentKey:"text",placeholderMessage:"placeholder",encEventUpdateMessage:"encEventUpdate"};function f(o){if(typeof o!="object"||o===null)return[];for(let e of Object.keys(o))if(Object.keys(w).includes(e))return[w[e],e];for(let e of Object.values(o)){let s=f(e);if(s)return s}return[]}function b(o,e){return setInterval(o,e)}function g(o){return JSON.stringify(o??{},null,2)}function N(o){return JSON.parse(g(o))}function ee(o,e){return setTimeout(o,e)}async function h(o){return new Promise(e=>setTimeout(e,o))}function p(o,e){let s=[],t=n=>{n!=null&&(Array.isArray(n)?n.forEach(t):typeof n=="object"&&Object.entries(n).forEach(([r,a])=>{e.includes(r)&&s.push(a),t(a)}))};return t(o),s}function S(o,e){let s=t=>{if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(s);let n={};for(let r in t)e.includes(r)||(n[r]=s(t[r]));return n};return s(N(o))}import T from"cfonts";import F from"ora";import{EventEmitter as q}from"events";import D from"quick-lru";var le=new D({maxSize:9999999999}),M=new q;import he from"chalk";function I(o){console.clear(),T.say("Zaileys",{font:"block",colors:["white","green"],letterSpacing:1,lineHeight:1,space:!1,maxLength:"0"}),T.say(" Love this package? help me with donation: | https://ko-fi.com/zaadevofc |",{font:"console",colors:["black"],background:"green",letterSpacing:1,space:!1,maxLength:"0"});let e=F();M.on("conn_msg",s=>{e[s[0]](s[1]),s[0]=="succeed"&&M.on("conn_config",t=>{t?.forEach((n,r)=>{console.log(n)})})}),o.showLogs}import m from"chalk";function R(o,e){return o.map((t,n)=>{let r=Number(t.key.remoteJid?.split("@")[0]);console.log(g(t));let a=S(t,["contextInfo"]),l=p(t,["quotedMessage"])[0],u=f(a),k=p(a,["conversation","text","caption","contentText","description"])[0],d=f(l),v=p(l,["conversation","text","caption","contentText","description"])[0],$=u[0]!="text"&&p(a,[u[1]]),y=d[0]!="text"&&p(l,[d[1]])[0];return y=d[0]=="viewOnce"?p(y,f(y))[0]:y,e.store?.loadMessage("6289526382389@s.whatsapp.net","81AF2468F3C7DD936D771326004D5930").then(_=>{console.log("orang =>>>> ",_)}),{chatId:t.key.id,fromMe:t.key.fromMe,pushName:t.pushName,remoteJid:t.key.remoteJid,timestamp:t.messageTimestamp,isAuthor:e.authors.includes(r),isBroadcast:t.broadcast,body:{type:u,text:k,isGroup:g(a).includes("@g.us")??!1,isViewOnce:g(a).includes("viewOnce"),media:p(a,[u[1]])},reply:{type:d[0],text:v,isGroup:g(l).includes("@g.us")??!1,isViewOnce:g(l).includes("viewOnce"),media:y}}})}var O=class{pairing;phoneNumber;showLogs;authors;socket=M;store;state;me;constructor({pairing:e,phoneNumber:s,showLogs:t,authors:n}){this.pairing=e??!0,this.phoneNumber=s,this.showLogs=t??!0,this.authors=n??[],this.client()}set saveState(e){this.state=e}async client(){I(this);let e=z({logger:U().child({level:"silent",stream:"store"})}),{state:s,saveCreds:t}=await j("session/zaileys");e.readFromFile("session/data.json"),b(async()=>{try{e.writeToFile("session/data.json")}catch{await this.socket.emit("conn_msg",["fail",m.yellow("[DETECTED] session folder has been deleted by the user")]),await h(2e3),await this.socket.emit("conn_msg",["fail",m.yellow("Please rerun the program...")]),await process.exit()}},1e4),this.state=s,this.store=e;let n=K(C(this));if(e.bind(n.ev),this.pairing&&this.phoneNumber&&!s.creds.me&&!n.authState.creds.registered){this.socket.emit("conn_msg",["start","Initialization new session..."]),await h(2e3),this.socket.emit("conn_msg",["start","Creating new pairing code..."]),await h(6e3);let r=await n.requestPairingCode(this.phoneNumber.toString());this.socket.emit("conn_msg",["info",`Connect with pairing code : ${m.green(r)}`])}return n.ev.on("messages.upsert",async r=>{this.socket.emit("act_message",r.messages)}),n.ev.process(async r=>{if(r["creds.update"]){let a=r["creds.update"];this.socket.emit("conn_config",[m`{greenBright → Login as :} {redBright ${a.me?.verifiedName||a.me?.name}}`,m`{greenBright → Login Method :} {cyanBright ${this.pairing?"Pairing Code":"QR Code"}}`,m`{greenBright → Login Platform :} {yellowBright ${a.platform}}`,m`{greenBright → Phone Creds :} {magentaBright ${a.phoneId}}`,m`{greenBright → Device Creds :} {magentaBright ${a.deviceId}}`,""]),await t()}if(r["connection.update"]){let a=r["connection.update"],{connection:l,lastDisconnect:u,qr:k}=a;if(l=="connecting"&&(this.socket.emit("act_connection","connecting"),this.socket.emit("conn_msg",["start","Connecting to server..."])),k&&this.socket.emit("conn_msg",["warn","Please scan the QR code..."]),l==="close"){this.socket.emit("act_connection","close");let v=u?.error?.output.statusCode!==V.loggedOut;if(v&&(this.socket.emit("conn_msg",["warn","Failed to connect. Waiting for reconnect..."]),this.client()),!v){this.socket.emit("conn_msg",["fail","Failed to connect. Please delete session and try again."]);return}await this.socket.emit("conn_msg",["info","Trying to reconnect..."]),await h(2e3),await this.socket.emit("conn_msg",["clear"])}l==="open"&&(this.socket.emit("act_connection","ready"),this.socket.emit("conn_msg",["succeed","Connected to server"]),console.log())}}),n}on(e,s){let t=(n,r)=>this.socket.on(`act_${n}`,r);switch(e){case"connection":t(e,n=>s(n));break;case"message":t(e,async n=>s(R(n,this)));break;default:break}}};export{O as Client,C as ConnectionConfig,I as InitDisplay,w as MESSAGE_TYPE,R as MessageParser,h as delay,f as getMessageType,p as getValuesByKeys,N as jsonParse,g as jsonString,b as loop,S as removeKeys,ee as timeout};
package/package.json CHANGED
@@ -6,12 +6,13 @@
6
6
  "email": "zaadevofc@gmail.com",
7
7
  "url": "https://github.com/zaadevofc"
8
8
  },
9
- "version": "0.0002.1-dev",
9
+ "version": "0.0003.1-dev",
10
10
  "license": "MIT",
11
11
  "main": "dist/index.js",
12
12
  "module": "dist/index.mjs",
13
13
  "types": "dist/index.d.ts",
14
14
  "homepage": "https://github.com/zaadevofc/zaileys",
15
+ "funding": "https://github.com/zaadevofc/zaileys",
15
16
  "bugs": {
16
17
  "url": "https://github.com/zaadevofc/zaileys/issues"
17
18
  },
@@ -22,10 +23,10 @@
22
23
  "build": "tsup",
23
24
  "test:dev": "ts-node-dev src/test",
24
25
  "test": "ts-node src/test",
25
- "npm:prod": "tsup && npm publish"
26
+ "prod": "tsup && npm publish"
26
27
  },
27
28
  "engines": {
28
- "node": ">=18.17.0"
29
+ "node": ">=18"
29
30
  },
30
31
  "keywords": [
31
32
  "zaileys",
@@ -42,12 +43,15 @@
42
43
  "@whiskeysockets/baileys": "^6.7.2",
43
44
  "cfonts": "^3.2.0",
44
45
  "chalk": "^4.1.2",
46
+ "dayjs": "^1.11.11",
45
47
  "events": "^3.3.0",
46
48
  "link-preview-js": "^3.0.5",
49
+ "log-update": "^3.4.0",
47
50
  "node-cache": "^5.1.2",
48
51
  "ora": "^5.4.1",
49
52
  "pino": "^7.11.0",
50
- "qrcode-terminal": "^0.12.0"
53
+ "qrcode-terminal": "^0.12.0",
54
+ "quick-lru": "^5.1.1"
51
55
  },
52
56
  "devDependencies": {
53
57
  "@types/node": "^20.13.0",