zaileys 0.1.1-dev → 0.2.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/dist/index.d.mts CHANGED
@@ -1,34 +1,60 @@
1
- import * as _whiskeysockets_baileys from '@whiskeysockets/baileys';
2
- import * as pino from 'pino';
1
+ import { UserFacingSocketConfig } from '@whiskeysockets/baileys';
3
2
 
3
+ type ReadyParserProps = 'ready' | 'connecting' | 'close';
4
+ type MessageTypeProps = 'text' | 'sticker' | 'image' | 'video' | 'document' | 'product' | 'reaction' | 'gif' | 'audio' | 'voice' | 'contact' | 'polling' | 'location' | 'unknown';
5
+ type MessageInternalProps = {
6
+ chatId: string;
7
+ fromMe: boolean;
8
+ pushName: string;
9
+ remoteJid: string;
10
+ timestamp: number;
11
+ isAuthor: boolean;
12
+ isBroadcast: boolean;
13
+ isGroup: boolean;
14
+ isViewOnce: boolean;
15
+ };
16
+ type MessageParserProps = MessageInternalProps & {
17
+ body: {
18
+ type: MessageTypeProps;
19
+ text: string;
20
+ };
21
+ };
22
+
23
+ type Prettify<T> = {
24
+ [K in keyof T]: T[K];
25
+ } & {};
4
26
  type ClientProps = {
5
- pairing: boolean;
6
- state: any;
27
+ phoneNumber: number;
28
+ pairing?: boolean;
29
+ showLogs?: boolean;
30
+ state?: any;
31
+ store?: any;
32
+ };
33
+ type ActionsProps = {
34
+ message: MessageParserProps;
35
+ connection: ReadyParserProps;
7
36
  };
8
- type ActionsProps = 'ready' | 'message';
9
37
 
10
38
  declare class Client {
11
- private readonly pairing;
12
- constructor({ pairing }: ClientProps);
13
- on(actions: ActionsProps, callback: (ctx: 'a') => void): void;
39
+ readonly pairing: boolean;
40
+ readonly phoneNumber: number;
41
+ readonly showLogs: boolean;
42
+ private socket;
43
+ private store;
44
+ private state;
45
+ constructor({ pairing, phoneNumber, showLogs }: ClientProps);
46
+ private client;
47
+ on<T extends keyof ActionsProps>(actions: T, callback: (ctx: Prettify<ActionsProps[T]>) => void): void;
14
48
  }
15
49
 
16
- declare function ConnectionConfig(props: ClientProps): {
17
- printQRInTerminal: boolean;
18
- syncFullHistory: boolean;
19
- markOnlineOnConnect: boolean;
20
- connectTimeoutMs: number;
21
- defaultQueryTimeoutMs: number;
22
- keepAliveIntervalMs: number;
23
- generateHighQualityLinkPreview: boolean;
24
- version: number[];
25
- browser: string[];
26
- logger: pino.Logger<never>;
27
- auth: {
28
- creds: any;
29
- keys: _whiskeysockets_baileys.SignalKeyStore;
30
- };
31
- patchMessageBeforeSending: (message: any) => any;
32
- };
50
+ declare function InitDisplay(config: ClientProps): void;
51
+
52
+ declare function MessageParser(): void;
53
+
54
+ declare function ConnectionConfig(props: ClientProps): UserFacingSocketConfig;
55
+
56
+ declare function loop(cb: Function, ms: number): NodeJS.Timeout;
57
+ declare function timeOut(cb: Function, ms: number): NodeJS.Timeout;
58
+ declare function delay(ms: number): Promise<unknown>;
33
59
 
34
- export { type ActionsProps, Client, type ClientProps, ConnectionConfig };
60
+ export { type ActionsProps, Client, type ClientProps, ConnectionConfig, InitDisplay, MessageParser, type Prettify, delay, loop, timeOut };
package/dist/index.d.ts CHANGED
@@ -1,34 +1,60 @@
1
- import * as _whiskeysockets_baileys from '@whiskeysockets/baileys';
2
- import * as pino from 'pino';
1
+ import { UserFacingSocketConfig } from '@whiskeysockets/baileys';
3
2
 
3
+ type ReadyParserProps = 'ready' | 'connecting' | 'close';
4
+ type MessageTypeProps = 'text' | 'sticker' | 'image' | 'video' | 'document' | 'product' | 'reaction' | 'gif' | 'audio' | 'voice' | 'contact' | 'polling' | 'location' | 'unknown';
5
+ type MessageInternalProps = {
6
+ chatId: string;
7
+ fromMe: boolean;
8
+ pushName: string;
9
+ remoteJid: string;
10
+ timestamp: number;
11
+ isAuthor: boolean;
12
+ isBroadcast: boolean;
13
+ isGroup: boolean;
14
+ isViewOnce: boolean;
15
+ };
16
+ type MessageParserProps = MessageInternalProps & {
17
+ body: {
18
+ type: MessageTypeProps;
19
+ text: string;
20
+ };
21
+ };
22
+
23
+ type Prettify<T> = {
24
+ [K in keyof T]: T[K];
25
+ } & {};
4
26
  type ClientProps = {
5
- pairing: boolean;
6
- state: any;
27
+ phoneNumber: number;
28
+ pairing?: boolean;
29
+ showLogs?: boolean;
30
+ state?: any;
31
+ store?: any;
32
+ };
33
+ type ActionsProps = {
34
+ message: MessageParserProps;
35
+ connection: ReadyParserProps;
7
36
  };
8
- type ActionsProps = 'ready' | 'message';
9
37
 
10
38
  declare class Client {
11
- private readonly pairing;
12
- constructor({ pairing }: ClientProps);
13
- on(actions: ActionsProps, callback: (ctx: 'a') => void): void;
39
+ readonly pairing: boolean;
40
+ readonly phoneNumber: number;
41
+ readonly showLogs: boolean;
42
+ private socket;
43
+ private store;
44
+ private state;
45
+ constructor({ pairing, phoneNumber, showLogs }: ClientProps);
46
+ private client;
47
+ on<T extends keyof ActionsProps>(actions: T, callback: (ctx: Prettify<ActionsProps[T]>) => void): void;
14
48
  }
15
49
 
16
- declare function ConnectionConfig(props: ClientProps): {
17
- printQRInTerminal: boolean;
18
- syncFullHistory: boolean;
19
- markOnlineOnConnect: boolean;
20
- connectTimeoutMs: number;
21
- defaultQueryTimeoutMs: number;
22
- keepAliveIntervalMs: number;
23
- generateHighQualityLinkPreview: boolean;
24
- version: number[];
25
- browser: string[];
26
- logger: pino.Logger<never>;
27
- auth: {
28
- creds: any;
29
- keys: _whiskeysockets_baileys.SignalKeyStore;
30
- };
31
- patchMessageBeforeSending: (message: any) => any;
32
- };
50
+ declare function InitDisplay(config: ClientProps): void;
51
+
52
+ declare function MessageParser(): void;
53
+
54
+ declare function ConnectionConfig(props: ClientProps): UserFacingSocketConfig;
55
+
56
+ declare function loop(cb: Function, ms: number): NodeJS.Timeout;
57
+ declare function timeOut(cb: Function, ms: number): NodeJS.Timeout;
58
+ declare function delay(ms: number): Promise<unknown>;
33
59
 
34
- export { type ActionsProps, Client, type ClientProps, ConnectionConfig };
60
+ export { type ActionsProps, Client, type ClientProps, ConnectionConfig, InitDisplay, MessageParser, type Prettify, delay, loop, timeOut };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var f=Object.create;var a=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var o in e)a(t,o,{get:e[o],enumerable:!0})},l=(t,e,o,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of g(e))!d.call(t,i)&&i!==o&&a(t,i,{get:()=>e[i],enumerable:!(c=u(e,i))||c.enumerable});return t};var h=(t,e,o)=>(o=t!=null?f(y(t)):{},l(e||!t||!t.__esModule?a(o,"default",{value:t,enumerable:!0}):o,t)),x=t=>l(a({},"__esModule",{value:!0}),t);var M={};v(M,{Client:()=>n,ConnectionConfig:()=>C});module.exports=x(M);var n=class{pairing;constructor({pairing:e}){this.pairing=e}on(e,o){}};var m=require("@whiskeysockets/baileys"),p=h(require("pino"));var s={author:"https://github.com/zaadevofc",repository:"https://github.com/zaadevofc/zaileys",package:"https://www.npmjs.com/package/zaileys",version:[0,0,1]};function C(t){return{printQRInTerminal:!t.pairing,syncFullHistory:!0,markOnlineOnConnect:!0,connectTimeoutMs:6e4,defaultQueryTimeoutMs:0,keepAliveIntervalMs:1e4,generateHighQualityLinkPreview:!0,version:s.version,browser:["Zaileys Node","Chrome",s.version.join(".")],logger:(0,p.default)({level:"fatal"}),auth:{creds:t.state.creds,keys:(0,m.makeCacheableSignalKeyStore)(t.state.keys,(0,p.default)().child({level:"silent",stream:"store"}))},patchMessageBeforeSending:e=>(!!(e.buttonsMessage||e.templateMessage||e.listMessage)&&(e={viewOnceMessage:{message:{messageContextInfo:{deviceListMetadataVersion:2,deviceListMetadata:{}},...e}}}),e)}}0&&(module.exports={Client,ConnectionConfig});
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});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var a=class{pairing;constructor({pairing:e}){this.pairing=e}on(e,s){}};import{makeCacheableSignalKeyStore as c}from"@whiskeysockets/baileys";import n from"pino";var i={author:"https://github.com/zaadevofc",repository:"https://github.com/zaadevofc/zaileys",package:"https://www.npmjs.com/package/zaileys",version:[0,0,1]};function x(r){return{printQRInTerminal:!r.pairing,syncFullHistory:!0,markOnlineOnConnect:!0,connectTimeoutMs:6e4,defaultQueryTimeoutMs:0,keepAliveIntervalMs:1e4,generateHighQualityLinkPreview:!0,version:i.version,browser:["Zaileys Node","Chrome",i.version.join(".")],logger:n({level:"fatal"}),auth:{creds:r.state.creds,keys:c(r.state.keys,n().child({level:"silent",stream:"store"}))},patchMessageBeforeSending:e=>(!!(e.buttonsMessage||e.templateMessage||e.listMessage)&&(e={viewOnceMessage:{message:{messageContextInfo:{deviceListMetadataVersion:2,deviceListMetadata:{}},...e}}}),e)}}export{a as Client,x as ConnectionConfig};
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};
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "email": "zaadevofc@gmail.com",
7
7
  "url": "https://github.com/zaadevofc"
8
8
  },
9
- "version": "0.0001.1-dev",
9
+ "version": "0.0002.1-dev",
10
10
  "license": "MIT",
11
11
  "main": "dist/index.js",
12
12
  "module": "dist/index.mjs",
@@ -20,7 +20,9 @@
20
20
  },
21
21
  "scripts": {
22
22
  "build": "tsup",
23
- "test": "ts-node src/test"
23
+ "test:dev": "ts-node-dev src/test",
24
+ "test": "ts-node src/test",
25
+ "npm:prod": "tsup && npm publish"
24
26
  },
25
27
  "engines": {
26
28
  "node": ">=18.17.0"
@@ -33,13 +35,23 @@
33
35
  "node",
34
36
  "api"
35
37
  ],
38
+ "contributors": [
39
+ "zaadevofc@gmail.com"
40
+ ],
41
+ "dependencies": {
42
+ "@whiskeysockets/baileys": "^6.7.2",
43
+ "cfonts": "^3.2.0",
44
+ "chalk": "^4.1.2",
45
+ "events": "^3.3.0",
46
+ "link-preview-js": "^3.0.5",
47
+ "node-cache": "^5.1.2",
48
+ "ora": "^5.4.1",
49
+ "pino": "^7.11.0",
50
+ "qrcode-terminal": "^0.12.0"
51
+ },
36
52
  "devDependencies": {
37
- "@types/node": "^20.12.14",
53
+ "@types/node": "^20.13.0",
38
54
  "tsup": "^8.0.2",
39
55
  "typescript": "^5.4.5"
40
- },
41
- "dependencies": {
42
- "@whiskeysockets/baileys": "^6.7.2",
43
- "pino": "^9.1.0"
44
56
  }
45
57
  }