@sasadevofc/baileys 1.0.0-beta.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/.github/workflows/publish.yml +21 -0
- package/README.md +1 -0
- package/dist/auth/pairing.d.ts +7 -0
- package/dist/auth/pairing.d.ts.map +1 -0
- package/dist/auth/pairing.js +13 -0
- package/dist/auth/pairing.js.map +1 -0
- package/dist/auth/state.d.ts +14 -0
- package/dist/auth/state.d.ts.map +1 -0
- package/dist/auth/state.js +61 -0
- package/dist/auth/state.js.map +1 -0
- package/dist/auth/store.d.ts +16 -0
- package/dist/auth/store.d.ts.map +1 -0
- package/dist/auth/store.js +22 -0
- package/dist/auth/store.js.map +1 -0
- package/dist/client.d.ts +41 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +92 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +12 -0
- package/dist/config.js.map +1 -0
- package/dist/connection/handshake.d.ts +8 -0
- package/dist/connection/handshake.d.ts.map +1 -0
- package/dist/connection/handshake.js +12 -0
- package/dist/connection/handshake.js.map +1 -0
- package/dist/connection/socket.d.ts +19 -0
- package/dist/connection/socket.d.ts.map +1 -0
- package/dist/connection/socket.js +99 -0
- package/dist/connection/socket.js.map +1 -0
- package/dist/connection/transport.d.ts +8 -0
- package/dist/connection/transport.d.ts.map +1 -0
- package/dist/connection/transport.js +21 -0
- package/dist/connection/transport.js.map +1 -0
- package/dist/message/decoder.d.ts +7 -0
- package/dist/message/decoder.d.ts.map +1 -0
- package/dist/message/decoder.js +19 -0
- package/dist/message/decoder.js.map +1 -0
- package/dist/message/encoder.d.ts +7 -0
- package/dist/message/encoder.d.ts.map +1 -0
- package/dist/message/encoder.js +14 -0
- package/dist/message/encoder.js.map +1 -0
- package/dist/message/handler.d.ts +18 -0
- package/dist/message/handler.d.ts.map +1 -0
- package/dist/message/handler.js +87 -0
- package/dist/message/handler.js.map +1 -0
- package/dist/plugins/command.d.ts +10 -0
- package/dist/plugins/command.d.ts.map +1 -0
- package/dist/plugins/command.js +36 -0
- package/dist/plugins/command.js.map +1 -0
- package/dist/plugins/plugin-base.d.ts +11 -0
- package/dist/plugins/plugin-base.d.ts.map +1 -0
- package/dist/plugins/plugin-base.js +35 -0
- package/dist/plugins/plugin-base.js.map +1 -0
- package/dist/types/auth.d.ts +29 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +3 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/events.d.ts +54 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +3 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/messages.d.ts +30 -0
- package/dist/types/messages.d.ts.map +1 -0
- package/dist/types/messages.js +3 -0
- package/dist/types/messages.js.map +1 -0
- package/dist/types/plugin.d.ts +16 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +3 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/types/socket.d.ts +16 -0
- package/dist/types/socket.d.ts.map +1 -0
- package/dist/types/socket.js +3 -0
- package/dist/types/socket.js.map +1 -0
- package/dist/utils/logger.d.ts +11 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +14 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/retry.d.ts +2 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +18 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/throttle.d.ts +2 -0
- package/dist/utils/throttle.d.ts.map +1 -0
- package/dist/utils/throttle.js +14 -0
- package/dist/utils/throttle.js.map +1 -0
- package/examples/basic-bot.ts +29 -0
- package/examples/command-bot.ts +19 -0
- package/package.json +58 -0
- package/src/auth/pairing.ts +11 -0
- package/src/auth/state.ts +66 -0
- package/src/auth/store.ts +26 -0
- package/src/client.ts +119 -0
- package/src/config.ts +10 -0
- package/src/connection/handshake.ts +10 -0
- package/src/connection/socket.ts +109 -0
- package/src/connection/transport.ts +20 -0
- package/src/message/decoder.ts +13 -0
- package/src/message/encoder.ts +9 -0
- package/src/message/handler.ts +91 -0
- package/src/plugins/command.ts +40 -0
- package/src/plugins/plugin-base.ts +36 -0
- package/src/types/auth.ts +30 -0
- package/src/types/events.ts +60 -0
- package/src/types/messages.ts +34 -0
- package/src/types/plugin.ts +20 -0
- package/src/types/socket.ts +16 -0
- package/src/utils/logger.ts +10 -0
- package/src/utils/retry.ts +12 -0
- package/src/utils/throttle.ts +9 -0
- package/tsconfig.json +19 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/message/encoder.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IAClB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAC7C,MAAM,CAAC,OAAY;QACjB,gEAAgE;QAChE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF;AAND,0BAMC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { BaileysClient } from '../client';
|
|
3
|
+
import { TextMessage, MediaMessage, WAMessage } from '../types/messages';
|
|
4
|
+
export declare class MessageHandler extends EventEmitter {
|
|
5
|
+
private client;
|
|
6
|
+
private encoder;
|
|
7
|
+
private decoder;
|
|
8
|
+
constructor(client: BaileysClient);
|
|
9
|
+
processIncoming(raw: any): void;
|
|
10
|
+
sendText(jid: string, body: string, opts?: any): Promise<TextMessage>;
|
|
11
|
+
sendMedia(jid: string, type: string, media: Buffer | string, opts?: any): Promise<MediaMessage>;
|
|
12
|
+
deleteMessage(jid: string, messageId: string): Promise<void>;
|
|
13
|
+
editMessage(jid: string, messageId: string, newBody: string): Promise<void>;
|
|
14
|
+
react(jid: string, messageId: string, reaction: string): Promise<void>;
|
|
15
|
+
downloadMedia(message: WAMessage): Promise<Buffer>;
|
|
16
|
+
private generateId;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/message/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAmB,MAAM,mBAAmB,CAAC;AAI1F,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAU;gBAEb,MAAM,EAAE,aAAa;IAOjC,eAAe,CAAC,GAAG,EAAE,GAAG;IAoBlB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBrE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAgB/F,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,aAAa,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxD,OAAO,CAAC,UAAU;CAGb"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageHandler = void 0;
|
|
4
|
+
const events_1 = require("events");
|
|
5
|
+
const encoder_1 = require("./encoder");
|
|
6
|
+
const decoder_1 = require("./decoder");
|
|
7
|
+
class MessageHandler extends events_1.EventEmitter {
|
|
8
|
+
constructor(client) {
|
|
9
|
+
super();
|
|
10
|
+
this.client = client;
|
|
11
|
+
this.encoder = new encoder_1.Encoder(client);
|
|
12
|
+
this.decoder = new decoder_1.Decoder(client);
|
|
13
|
+
}
|
|
14
|
+
processIncoming(raw) {
|
|
15
|
+
const msg = this.decoder.decode(raw);
|
|
16
|
+
// Emit appropriate events based on msg type
|
|
17
|
+
if (msg.type === 'message') {
|
|
18
|
+
this.emit('message', msg.content);
|
|
19
|
+
}
|
|
20
|
+
else if (msg.type === 'receipt') {
|
|
21
|
+
this.emit('receipt', msg.content);
|
|
22
|
+
}
|
|
23
|
+
else if (msg.type === 'presence') {
|
|
24
|
+
this.emit('presence', msg.content);
|
|
25
|
+
}
|
|
26
|
+
else if (msg.type === 'groupParticipants') {
|
|
27
|
+
this.emit('group.participants.update', msg.content);
|
|
28
|
+
}
|
|
29
|
+
else if (msg.type === 'contacts') {
|
|
30
|
+
this.emit('contacts', msg.content);
|
|
31
|
+
}
|
|
32
|
+
else if (msg.type === 'reaction') {
|
|
33
|
+
this.emit('reaction', msg.content);
|
|
34
|
+
}
|
|
35
|
+
else if (msg.type === 'messageUpdate') {
|
|
36
|
+
this.emit('update', msg.content);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async sendText(jid, body, opts) {
|
|
40
|
+
const msg = {
|
|
41
|
+
id: this.generateId(),
|
|
42
|
+
from: this.client.auth.getCredentials()?.clientId || 'me',
|
|
43
|
+
to: jid,
|
|
44
|
+
timestamp: Date.now(),
|
|
45
|
+
messageType: 'text',
|
|
46
|
+
body,
|
|
47
|
+
mentionedJids: opts?.mentions,
|
|
48
|
+
quotedMessage: opts?.quotedId ? { id: opts.quotedId } : undefined,
|
|
49
|
+
};
|
|
50
|
+
const encoded = this.encoder.encode(msg);
|
|
51
|
+
this.client.connection.sendRaw(encoded);
|
|
52
|
+
return msg;
|
|
53
|
+
}
|
|
54
|
+
async sendMedia(jid, type, media, opts) {
|
|
55
|
+
// similar but with media upload
|
|
56
|
+
const msg = {
|
|
57
|
+
id: this.generateId(),
|
|
58
|
+
from: 'me',
|
|
59
|
+
to: jid,
|
|
60
|
+
timestamp: Date.now(),
|
|
61
|
+
messageType: type,
|
|
62
|
+
mimeType: opts?.mimeType || 'application/octet-stream',
|
|
63
|
+
mediaUrl: typeof media === 'string' ? media : undefined,
|
|
64
|
+
};
|
|
65
|
+
const encoded = this.encoder.encode(msg);
|
|
66
|
+
this.client.connection.sendRaw(encoded);
|
|
67
|
+
return msg;
|
|
68
|
+
}
|
|
69
|
+
async deleteMessage(jid, messageId) {
|
|
70
|
+
// ... encode delete
|
|
71
|
+
}
|
|
72
|
+
async editMessage(jid, messageId, newBody) {
|
|
73
|
+
// ... encode edit
|
|
74
|
+
}
|
|
75
|
+
async react(jid, messageId, reaction) {
|
|
76
|
+
// ...
|
|
77
|
+
}
|
|
78
|
+
async downloadMedia(message) {
|
|
79
|
+
// ...
|
|
80
|
+
return Buffer.alloc(0);
|
|
81
|
+
}
|
|
82
|
+
generateId() {
|
|
83
|
+
return 'msg_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.MessageHandler = MessageHandler;
|
|
87
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/message/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaileysClient } from '../client';
|
|
2
|
+
import { CommandHandler } from '../types/plugin';
|
|
3
|
+
export declare class CommandFramework {
|
|
4
|
+
private client;
|
|
5
|
+
private commands;
|
|
6
|
+
private prefix;
|
|
7
|
+
constructor(client: BaileysClient, prefix?: string);
|
|
8
|
+
register(command: string, handler: CommandHandler): void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/plugins/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AAGjE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,aAAa,EAAE,MAAM,SAAM;IA2B/C,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;CAGlD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommandFramework = void 0;
|
|
4
|
+
class CommandFramework {
|
|
5
|
+
constructor(client, prefix = '/') {
|
|
6
|
+
this.commands = new Map();
|
|
7
|
+
this.client = client;
|
|
8
|
+
this.prefix = prefix;
|
|
9
|
+
// Register middleware to intercept text messages
|
|
10
|
+
client.plugins.use(async (ctx, next) => {
|
|
11
|
+
if (ctx.message.messageType === 'text') {
|
|
12
|
+
const textMsg = ctx.message;
|
|
13
|
+
if (textMsg.body.startsWith(this.prefix)) {
|
|
14
|
+
const [commandName, ...args] = textMsg.body.slice(this.prefix.length).trim().split(/\s+/);
|
|
15
|
+
const handler = this.commands.get(commandName.toLowerCase());
|
|
16
|
+
if (handler) {
|
|
17
|
+
const cmdCtx = {
|
|
18
|
+
client: this.client,
|
|
19
|
+
message: textMsg,
|
|
20
|
+
args,
|
|
21
|
+
commandName: commandName.toLowerCase(),
|
|
22
|
+
};
|
|
23
|
+
await handler(cmdCtx);
|
|
24
|
+
return; // prevent further processing
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
await next();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
register(command, handler) {
|
|
32
|
+
this.commands.set(command.toLowerCase(), handler);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.CommandFramework = CommandFramework;
|
|
36
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/plugins/command.ts"],"names":[],"mappings":";;;AAIA,MAAa,gBAAgB;IAK3B,YAAY,MAAqB,EAAE,MAAM,GAAG,GAAG;QAHvC,aAAQ,GAAgC,IAAI,GAAG,EAAE,CAAC;QAIxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,iDAAiD;QACjD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACrC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAsB,CAAC;gBAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC7D,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,MAAM,GAAmB;4BAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,OAAO,EAAE,OAAO;4BAChB,IAAI;4BACJ,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE;yBACvC,CAAC;wBACF,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;wBACtB,OAAO,CAAC,6BAA6B;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,OAAuB;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AAnCD,4CAmCC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaileysClient } from '../client';
|
|
2
|
+
import { Middleware, NextFunction } from '../types/plugin';
|
|
3
|
+
import { WAMessage } from '../types/messages';
|
|
4
|
+
export declare class PluginManager {
|
|
5
|
+
private client;
|
|
6
|
+
private middlewares;
|
|
7
|
+
constructor(client: BaileysClient);
|
|
8
|
+
use(fn: Middleware): void;
|
|
9
|
+
runMiddleware(msg: WAMessage, done: NextFunction): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=plugin-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-base.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAoB;gBAE3B,MAAM,EAAE,aAAa;IAIjC,GAAG,CAAC,EAAE,EAAE,UAAU;IAIZ,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY;CAmBvD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PluginManager = void 0;
|
|
4
|
+
class PluginManager {
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.middlewares = [];
|
|
7
|
+
this.client = client;
|
|
8
|
+
}
|
|
9
|
+
use(fn) {
|
|
10
|
+
this.middlewares.push(fn);
|
|
11
|
+
}
|
|
12
|
+
async runMiddleware(msg, done) {
|
|
13
|
+
const ctx = { client: this.client, message: msg };
|
|
14
|
+
const stack = [...this.middlewares];
|
|
15
|
+
const next = async (err) => {
|
|
16
|
+
if (err)
|
|
17
|
+
return done(err);
|
|
18
|
+
const fn = stack.shift();
|
|
19
|
+
if (fn) {
|
|
20
|
+
try {
|
|
21
|
+
await fn(ctx, next);
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
done(e);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
done();
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
await next();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.PluginManager = PluginManager;
|
|
35
|
+
//# sourceMappingURL=plugin-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-base.js","sourceRoot":"","sources":["../../src/plugins/plugin-base.ts"],"names":[],"mappings":";;;AAIA,MAAa,aAAa;IAIxB,YAAY,MAAqB;QAFzB,gBAAW,GAAiB,EAAE,CAAC;QAGrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,EAAc;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAc,EAAE,IAAkB;QACpD,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAEpC,MAAM,IAAI,GAAiB,KAAK,EAAE,GAAW,EAAE,EAAE;YAC/C,IAAI,GAAG;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,EAAE,EAAE,CAAC;gBACP,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,CAAU,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC,CAAC;QACF,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;CACF;AA/BD,sCA+BC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface Credentials {
|
|
2
|
+
clientId: string;
|
|
3
|
+
serverToken: string;
|
|
4
|
+
clientToken: string;
|
|
5
|
+
encKey: Buffer;
|
|
6
|
+
macKey: Buffer;
|
|
7
|
+
}
|
|
8
|
+
export interface AuthState {
|
|
9
|
+
creds: Credentials;
|
|
10
|
+
/** Multi‑device pre‑keys */
|
|
11
|
+
keys: {
|
|
12
|
+
registrationId: number;
|
|
13
|
+
identityKey: Uint8Array;
|
|
14
|
+
signedPreKey: {
|
|
15
|
+
keyId: number;
|
|
16
|
+
keyPair: KeyPair;
|
|
17
|
+
signature: Uint8Array;
|
|
18
|
+
};
|
|
19
|
+
preKeys: Array<{
|
|
20
|
+
keyId: number;
|
|
21
|
+
keyPair: KeyPair;
|
|
22
|
+
}>;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export interface KeyPair {
|
|
26
|
+
public: Uint8Array;
|
|
27
|
+
private: Uint8Array;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,4BAA4B;IAC5B,IAAI,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,UAAU,CAAC;QACxB,YAAY,EAAE;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,OAAO,CAAC;YACjB,SAAS,EAAE,UAAU,CAAC;SACvB,CAAC;QACF,OAAO,EAAE,KAAK,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,OAAO,CAAC;SAClB,CAAC,CAAC;KACJ,CAAC;CACH;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { WAMessage, WAMessageUpdate } from './messages';
|
|
2
|
+
export interface ConnectionUpdate {
|
|
3
|
+
/** 'connecting' | 'open' | 'close' | 'qr' | 'pairing' | 'logged_in' */
|
|
4
|
+
status: string;
|
|
5
|
+
/** QR code string (base64 image) */
|
|
6
|
+
qr?: string;
|
|
7
|
+
/** Pairing code */
|
|
8
|
+
pairingCode?: string;
|
|
9
|
+
/** Error information */
|
|
10
|
+
error?: Error;
|
|
11
|
+
/** Whether the session was restored */
|
|
12
|
+
isNewSession?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface BaileysEventMap {
|
|
15
|
+
'connection.update': (update: ConnectionUpdate) => void;
|
|
16
|
+
'message.new': (msg: WAMessage) => void;
|
|
17
|
+
'message.update': (update: WAMessageUpdate) => void;
|
|
18
|
+
'message.receipt': (receipt: MessageReceipt) => void;
|
|
19
|
+
'group.participants.update': (update: GroupParticipantsUpdate) => void;
|
|
20
|
+
'presence.update': (update: PresenceUpdate) => void;
|
|
21
|
+
'contacts.update': (contacts: Contact[]) => void;
|
|
22
|
+
'reaction': (reaction: MessageReaction) => void;
|
|
23
|
+
'error': (error: Error) => void;
|
|
24
|
+
}
|
|
25
|
+
export interface MessageReceipt {
|
|
26
|
+
jid: string;
|
|
27
|
+
messageId: string;
|
|
28
|
+
status: 'delivered' | 'read' | 'played';
|
|
29
|
+
timestamp: number;
|
|
30
|
+
}
|
|
31
|
+
export interface GroupParticipantsUpdate {
|
|
32
|
+
groupJid: string;
|
|
33
|
+
action: 'add' | 'remove' | 'promote' | 'demote';
|
|
34
|
+
participants: string[];
|
|
35
|
+
actor?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface PresenceUpdate {
|
|
38
|
+
jid: string;
|
|
39
|
+
status: 'available' | 'unavailable' | 'composing' | 'recording' | 'paused';
|
|
40
|
+
timestamp: number;
|
|
41
|
+
}
|
|
42
|
+
export interface Contact {
|
|
43
|
+
jid: string;
|
|
44
|
+
name?: string;
|
|
45
|
+
notify?: string;
|
|
46
|
+
verifiedName?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface MessageReaction {
|
|
49
|
+
messageId: string;
|
|
50
|
+
senderJid: string;
|
|
51
|
+
reaction: string;
|
|
52
|
+
timestamp: number;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACxD,aAAa,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACpD,iBAAiB,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IACrD,2BAA2B,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACvE,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACpD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACjD,UAAU,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type WAMessageType = 'text' | 'image' | 'video' | 'audio' | 'document' | 'sticker' | 'reaction' | 'protocol';
|
|
2
|
+
export interface WAMessageBase {
|
|
3
|
+
id: string;
|
|
4
|
+
from: string;
|
|
5
|
+
to: string;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
messageType: WAMessageType;
|
|
8
|
+
}
|
|
9
|
+
export interface TextMessage extends WAMessageBase {
|
|
10
|
+
messageType: 'text';
|
|
11
|
+
body: string;
|
|
12
|
+
mentionedJids?: string[];
|
|
13
|
+
quotedMessage?: Partial<WAMessage>;
|
|
14
|
+
}
|
|
15
|
+
export interface MediaMessage extends WAMessageBase {
|
|
16
|
+
messageType: 'image' | 'video' | 'audio' | 'document' | 'sticker';
|
|
17
|
+
mediaUrl?: string;
|
|
18
|
+
mimeType: string;
|
|
19
|
+
fileSize?: number;
|
|
20
|
+
caption?: string;
|
|
21
|
+
thumbnail?: Buffer;
|
|
22
|
+
}
|
|
23
|
+
export type WAMessage = TextMessage | MediaMessage;
|
|
24
|
+
export interface WAMessageUpdate {
|
|
25
|
+
messageId: string;
|
|
26
|
+
status: 'edited' | 'deleted' | 'starred';
|
|
27
|
+
newBody?: string;
|
|
28
|
+
timestamp: number;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEpH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,WAAW,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { WAMessage, TextMessage } from './messages';
|
|
2
|
+
import { BaileysClient } from '../client';
|
|
3
|
+
export type NextFunction = (err?: Error) => void;
|
|
4
|
+
export interface MiddlewareContext {
|
|
5
|
+
client: BaileysClient;
|
|
6
|
+
message: WAMessage;
|
|
7
|
+
}
|
|
8
|
+
export type Middleware = (ctx: MiddlewareContext, next: NextFunction) => Promise<void> | void;
|
|
9
|
+
export interface CommandContext {
|
|
10
|
+
client: BaileysClient;
|
|
11
|
+
message: TextMessage;
|
|
12
|
+
args: string[];
|
|
13
|
+
commandName: string;
|
|
14
|
+
}
|
|
15
|
+
export type CommandHandler = (ctx: CommandContext) => Promise<void> | void;
|
|
16
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE9F,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type WALoginMethod = 'qr' | 'pairing_code';
|
|
2
|
+
export interface SocketConfig {
|
|
3
|
+
/** WhatsApp multi‑device WebSocket endpoint */
|
|
4
|
+
wsUrl: string;
|
|
5
|
+
/** Auto‑reconnect on unexpected close */
|
|
6
|
+
autoReconnect: boolean;
|
|
7
|
+
/** Max reconnect attempts, -1 for infinite */
|
|
8
|
+
maxReconnectAttempts: number;
|
|
9
|
+
/** Delay between reconnections (ms) */
|
|
10
|
+
reconnectDelay: number;
|
|
11
|
+
/** Keep‑alive interval (ms) */
|
|
12
|
+
keepAliveInterval: number;
|
|
13
|
+
/** Login method */
|
|
14
|
+
loginMethod: WALoginMethod;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=socket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/types/socket.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,cAAc,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,aAAa,EAAE,OAAO,CAAC;IACvB,8CAA8C;IAC9C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uCAAuC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB;IACnB,WAAW,EAAE,aAAa,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/types/socket.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAS;gBACV,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAGnC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IACnB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IACpB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IACnB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CACrB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Logger = void 0;
|
|
4
|
+
class Logger {
|
|
5
|
+
constructor(opts) {
|
|
6
|
+
this.level = opts.level || 'info';
|
|
7
|
+
}
|
|
8
|
+
info(...args) { console.log('[INFO]', ...args); }
|
|
9
|
+
error(...args) { console.error('[ERROR]', ...args); }
|
|
10
|
+
warn(...args) { console.warn('[WARN]', ...args); }
|
|
11
|
+
debug(...args) { console.debug('[DEBUG]', ...args); }
|
|
12
|
+
}
|
|
13
|
+
exports.Logger = Logger;
|
|
14
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IAEjB,YAAY,IAAuB;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,GAAG,IAAW,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,KAAK,CAAC,GAAG,IAAW,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,GAAG,IAAW,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,KAAK,CAAC,GAAG,IAAW,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;CAC7D;AATD,wBASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA,wBAAsB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,MAAU,EAAE,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAW5G"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.retry = retry;
|
|
4
|
+
async function retry(fn, retries = 3, delayMs = 1000) {
|
|
5
|
+
let lastError;
|
|
6
|
+
for (let i = 0; i < retries; i++) {
|
|
7
|
+
try {
|
|
8
|
+
return await fn();
|
|
9
|
+
}
|
|
10
|
+
catch (err) {
|
|
11
|
+
lastError = err;
|
|
12
|
+
if (i < retries - 1)
|
|
13
|
+
await new Promise(res => setTimeout(res, delayMs));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
throw lastError;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":";;AAAA,sBAWC;AAXM,KAAK,UAAU,KAAK,CAAI,EAAoB,EAAE,UAAkB,CAAC,EAAE,UAAkB,IAAI;IAC9F,IAAI,SAAgB,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAY,CAAC;YACzB,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC;gBAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,MAAM,SAAU,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../src/utils/throttle.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAQnF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.throttle = throttle;
|
|
4
|
+
function throttle(fn, limit) {
|
|
5
|
+
let lastCall = 0;
|
|
6
|
+
return ((...args) => {
|
|
7
|
+
const now = Date.now();
|
|
8
|
+
if (now - lastCall < limit)
|
|
9
|
+
return;
|
|
10
|
+
lastCall = now;
|
|
11
|
+
return fn(...args);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=throttle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/utils/throttle.ts"],"names":[],"mappings":";;AAAA,4BAQC;AARD,SAAgB,QAAQ,CAAoC,EAAK,EAAE,KAAa;IAC9E,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,QAAQ,GAAG,KAAK;YAAE,OAAO;QACnC,QAAQ,GAAG,GAAG,CAAC;QACf,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrB,CAAC,CAAiB,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaileysClient } from '@sasadev/baileys';
|
|
2
|
+
|
|
3
|
+
async function main() {
|
|
4
|
+
const client = new BaileysClient({
|
|
5
|
+
wsUrl: 'wss://web.whatsapp.com/ws/md', // correct endpoint for MD
|
|
6
|
+
autoReconnect: true,
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
client.on('connection.update', (update) => {
|
|
10
|
+
console.log('Connection:', update.status);
|
|
11
|
+
if (update.qr) {
|
|
12
|
+
console.log('Scan QR:', update.qr);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
client.on('message.new', async (msg) => {
|
|
17
|
+
console.log('New message from', msg.from, ':', (msg as any).body);
|
|
18
|
+
if (msg.messageType === 'text') {
|
|
19
|
+
const text = (msg as any).body;
|
|
20
|
+
if (text === 'ping') {
|
|
21
|
+
await client.sendMessage(msg.from, 'pong');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
await client.connect();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
main().catch(console.error);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaileysClient, CommandFramework } from '@sasadev/baileys';
|
|
2
|
+
|
|
3
|
+
const client = new BaileysClient();
|
|
4
|
+
const cmd = new CommandFramework(client, '!');
|
|
5
|
+
|
|
6
|
+
cmd.register('ping', async (ctx) => {
|
|
7
|
+
await ctx.client.sendMessage(ctx.message.from, '🏓 Pong!');
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
cmd.register('echo', async (ctx) => {
|
|
11
|
+
const echoText = ctx.args.join(' ') || 'Nothing to echo.';
|
|
12
|
+
await ctx.client.sendMessage(ctx.message.from, echoText);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
client.on('connection.update', (upd) => {
|
|
16
|
+
if (upd.qr) console.log('Scan QR:', upd.qr);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
client.connect();
|