botcast-sdk 1.0.8 → 1.0.10

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.
@@ -0,0 +1,126 @@
1
+ import { Socket, ManagerOptions, SocketOptions } from 'socket.io-client';
2
+ import { BotcastSocketEventMap, SocketEventHandler, SocketMessagesUpsertEvent, SocketChatMessageEvent, SocketMessageStatusEvent, SocketMessageReactionEvent, SocketMessageDeletedEvent, SocketPresenceUpdateEvent, SocketInstanceUpdateEvent, SocketGroupParticipantsUpdateEvent, SocketCallEvent, SocketGenericEvent, SocketTelegramMessageEvent, SocketTelegramMessageEditedEvent, SocketTelegramMessageDeletedEvent, SocketTelegramMessageReadEvent, SocketTelegramUserUpdateEvent, SocketTelegramChatActionEvent, SocketTelegramCallbackQueryEvent } from '../types/socket.js';
3
+ import { BotcastClientConfig } from '../types/index.js';
4
+ export interface BotcastSocketOptions extends Partial<ManagerOptions & SocketOptions> {
5
+ /**
6
+ * Automatically initiate the socket connection upon client creation.
7
+ * Default: false
8
+ */
9
+ autoConnect?: boolean;
10
+ }
11
+ /**
12
+ * BotcastSocketClient
13
+ * Real-time event streaming client powered by Socket.io.
14
+ * Provides authenticated multi-tenant real-time subscriptions to WhatsApp and Telegram instance events.
15
+ */
16
+ export declare class BotcastSocketClient {
17
+ private socket;
18
+ private config;
19
+ private socketOptions;
20
+ constructor(config: Required<BotcastClientConfig>, options?: BotcastSocketOptions);
21
+ /**
22
+ * Establish the real-time Socket.io connection to the Botcast Gateway.
23
+ */
24
+ connect(): Socket;
25
+ /**
26
+ * Disconnect the active Socket.io connection.
27
+ */
28
+ disconnect(): this;
29
+ /**
30
+ * Check whether the socket is currently connected.
31
+ */
32
+ isConnected(): boolean;
33
+ /**
34
+ * Retrieve the underlying Socket.io-client Socket instance.
35
+ */
36
+ getRawSocket(): Socket | null;
37
+ /**
38
+ * Register a typed event listener for instance events.
39
+ *
40
+ * @param event The event name
41
+ * @param handler The event callback function
42
+ */
43
+ on<K extends keyof BotcastSocketEventMap>(event: K, handler: SocketEventHandler<BotcastSocketEventMap[K]>): this;
44
+ /**
45
+ * Register a one-time event listener.
46
+ */
47
+ once<K extends keyof BotcastSocketEventMap>(event: K, handler: SocketEventHandler<BotcastSocketEventMap[K]>): this;
48
+ /**
49
+ * Remove an event listener.
50
+ */
51
+ off<K extends keyof BotcastSocketEventMap>(event: K, handler?: SocketEventHandler<BotcastSocketEventMap[K]>): this;
52
+ /**
53
+ * Register a wildcard listener for all incoming events.
54
+ */
55
+ onAny(handler: (event: string, data: any) => void): this;
56
+ /**
57
+ * Remove a wildcard listener.
58
+ */
59
+ offAny(handler?: (event: string, data: any) => void): this;
60
+ /**
61
+ * Listen for incoming and outgoing messages (messages.upsert or chat_message).
62
+ */
63
+ onMessage(handler: SocketEventHandler<SocketMessagesUpsertEvent | SocketChatMessageEvent>): this;
64
+ /**
65
+ * Listen for message delivery status updates (sent, delivered, read receipts).
66
+ */
67
+ onMessageStatus(handler: SocketEventHandler<SocketMessageStatusEvent>): this;
68
+ /**
69
+ * Listen for message reactions (emoji added/removed).
70
+ */
71
+ onReaction(handler: SocketEventHandler<SocketMessageReactionEvent>): this;
72
+ /**
73
+ * Listen for message revocations/deletions.
74
+ */
75
+ onMessageDeleted(handler: SocketEventHandler<SocketMessageDeletedEvent>): this;
76
+ /**
77
+ * Listen for user presence changes (composing, recording, online, offline).
78
+ */
79
+ onPresence(handler: SocketEventHandler<SocketPresenceUpdateEvent>): this;
80
+ /**
81
+ * Listen for instance connection changes, QR code generation, and pairing codes.
82
+ */
83
+ onConnectionUpdate(handler: SocketEventHandler<SocketInstanceUpdateEvent>): this;
84
+ /**
85
+ * Listen for WhatsApp group participant changes (add, remove, promote, demote).
86
+ */
87
+ onGroupParticipants(handler: SocketEventHandler<SocketGroupParticipantsUpdateEvent>): this;
88
+ /**
89
+ * Listen for incoming WhatsApp calls.
90
+ */
91
+ onCall(handler: SocketEventHandler<SocketCallEvent>): this;
92
+ /**
93
+ * Listen for generic instance event stream.
94
+ */
95
+ onEvent(handler: SocketEventHandler<SocketGenericEvent>): this;
96
+ /**
97
+ * Listen for Telegram new messages.
98
+ */
99
+ onTelegramMessage(handler: SocketEventHandler<SocketTelegramMessageEvent>): this;
100
+ /**
101
+ * Listen for Telegram message edits.
102
+ */
103
+ onTelegramMessageEdited(handler: SocketEventHandler<SocketTelegramMessageEditedEvent>): this;
104
+ /**
105
+ * Listen for Telegram message deletions.
106
+ */
107
+ onTelegramMessageDeleted(handler: SocketEventHandler<SocketTelegramMessageDeletedEvent>): this;
108
+ /**
109
+ * Listen for Telegram message read receipts.
110
+ */
111
+ onTelegramMessageRead(handler: SocketEventHandler<SocketTelegramMessageReadEvent>): this;
112
+ /**
113
+ * Listen for Telegram user updates (presence, typing, online status).
114
+ */
115
+ onTelegramUserUpdate(handler: SocketEventHandler<SocketTelegramUserUpdateEvent>): this;
116
+ /**
117
+ * Listen for Telegram chat actions (user joined, user left, etc.).
118
+ */
119
+ onTelegramChatAction(handler: SocketEventHandler<SocketTelegramChatActionEvent>): this;
120
+ /**
121
+ * Listen for Telegram inline & callback button queries.
122
+ */
123
+ onTelegramCallbackQuery(handler: SocketEventHandler<SocketTelegramCallbackQueryEvent>): this;
124
+ private ensureSocket;
125
+ }
126
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/socket/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,236 @@
1
+ import { io } from 'socket.io-client';
2
+ /**
3
+ * BotcastSocketClient
4
+ * Real-time event streaming client powered by Socket.io.
5
+ * Provides authenticated multi-tenant real-time subscriptions to WhatsApp and Telegram instance events.
6
+ */
7
+ export class BotcastSocketClient {
8
+ socket = null;
9
+ config;
10
+ socketOptions;
11
+ constructor(config, options = {}) {
12
+ this.config = config;
13
+ this.socketOptions = options;
14
+ if (options.autoConnect) {
15
+ this.connect();
16
+ }
17
+ }
18
+ /**
19
+ * Establish the real-time Socket.io connection to the Botcast Gateway.
20
+ */
21
+ connect() {
22
+ if (this.socket && this.socket.connected) {
23
+ return this.socket;
24
+ }
25
+ const { baseUrl, instanceId, instanceToken } = this.config;
26
+ const cleanBaseUrl = baseUrl.replace(/\/+$/, '');
27
+ this.socket = io(cleanBaseUrl, {
28
+ path: '/socket.io',
29
+ transports: ['websocket', 'polling'],
30
+ autoConnect: true,
31
+ reconnection: true,
32
+ reconnectionAttempts: Infinity,
33
+ reconnectionDelay: 1000,
34
+ reconnectionDelayMax: 5000,
35
+ auth: {
36
+ instanceId,
37
+ token: instanceToken,
38
+ },
39
+ query: {
40
+ instanceId,
41
+ token: instanceToken,
42
+ },
43
+ extraHeaders: {
44
+ 'x-instance-id': instanceId,
45
+ 'x-instance-token': instanceToken,
46
+ },
47
+ ...this.socketOptions,
48
+ });
49
+ return this.socket;
50
+ }
51
+ /**
52
+ * Disconnect the active Socket.io connection.
53
+ */
54
+ disconnect() {
55
+ if (this.socket) {
56
+ this.socket.disconnect();
57
+ }
58
+ return this;
59
+ }
60
+ /**
61
+ * Check whether the socket is currently connected.
62
+ */
63
+ isConnected() {
64
+ return Boolean(this.socket && this.socket.connected);
65
+ }
66
+ /**
67
+ * Retrieve the underlying Socket.io-client Socket instance.
68
+ */
69
+ getRawSocket() {
70
+ return this.socket;
71
+ }
72
+ /**
73
+ * Register a typed event listener for instance events.
74
+ *
75
+ * @param event The event name
76
+ * @param handler The event callback function
77
+ */
78
+ on(event, handler) {
79
+ const s = this.ensureSocket();
80
+ s.on(event, handler);
81
+ return this;
82
+ }
83
+ /**
84
+ * Register a one-time event listener.
85
+ */
86
+ once(event, handler) {
87
+ const s = this.ensureSocket();
88
+ s.once(event, handler);
89
+ return this;
90
+ }
91
+ /**
92
+ * Remove an event listener.
93
+ */
94
+ off(event, handler) {
95
+ if (this.socket) {
96
+ if (handler) {
97
+ this.socket.off(event, handler);
98
+ }
99
+ else {
100
+ this.socket.off(event);
101
+ }
102
+ }
103
+ return this;
104
+ }
105
+ /**
106
+ * Register a wildcard listener for all incoming events.
107
+ */
108
+ onAny(handler) {
109
+ const s = this.ensureSocket();
110
+ s.onAny(handler);
111
+ return this;
112
+ }
113
+ /**
114
+ * Remove a wildcard listener.
115
+ */
116
+ offAny(handler) {
117
+ if (this.socket) {
118
+ this.socket.offAny(handler);
119
+ }
120
+ return this;
121
+ }
122
+ // =========================================================================
123
+ // High-Level Convenience Event Listeners
124
+ // =========================================================================
125
+ /**
126
+ * Listen for incoming and outgoing messages (messages.upsert or chat_message).
127
+ */
128
+ onMessage(handler) {
129
+ this.on('messages.upsert', handler);
130
+ this.on('chat_message', handler);
131
+ return this;
132
+ }
133
+ /**
134
+ * Listen for message delivery status updates (sent, delivered, read receipts).
135
+ */
136
+ onMessageStatus(handler) {
137
+ return this.on('message_status', handler);
138
+ }
139
+ /**
140
+ * Listen for message reactions (emoji added/removed).
141
+ */
142
+ onReaction(handler) {
143
+ return this.on('message_reaction', handler);
144
+ }
145
+ /**
146
+ * Listen for message revocations/deletions.
147
+ */
148
+ onMessageDeleted(handler) {
149
+ return this.on('message_deleted', handler);
150
+ }
151
+ /**
152
+ * Listen for user presence changes (composing, recording, online, offline).
153
+ */
154
+ onPresence(handler) {
155
+ this.on('presence.update', handler);
156
+ this.on('presence_update', handler);
157
+ return this;
158
+ }
159
+ /**
160
+ * Listen for instance connection changes, QR code generation, and pairing codes.
161
+ */
162
+ onConnectionUpdate(handler) {
163
+ this.on('connection.update', handler);
164
+ this.on('instance_update', handler);
165
+ return this;
166
+ }
167
+ /**
168
+ * Listen for WhatsApp group participant changes (add, remove, promote, demote).
169
+ */
170
+ onGroupParticipants(handler) {
171
+ return this.on('group-participants.update', handler);
172
+ }
173
+ /**
174
+ * Listen for incoming WhatsApp calls.
175
+ */
176
+ onCall(handler) {
177
+ return this.on('call', handler);
178
+ }
179
+ /**
180
+ * Listen for generic instance event stream.
181
+ */
182
+ onEvent(handler) {
183
+ return this.on('instance_event', handler);
184
+ }
185
+ // =========================================================================
186
+ // Telegram-Specific Event Listeners
187
+ // =========================================================================
188
+ /**
189
+ * Listen for Telegram new messages.
190
+ */
191
+ onTelegramMessage(handler) {
192
+ return this.on('telegram.message', handler);
193
+ }
194
+ /**
195
+ * Listen for Telegram message edits.
196
+ */
197
+ onTelegramMessageEdited(handler) {
198
+ return this.on('telegram.message_edited', handler);
199
+ }
200
+ /**
201
+ * Listen for Telegram message deletions.
202
+ */
203
+ onTelegramMessageDeleted(handler) {
204
+ return this.on('telegram.message_deleted', handler);
205
+ }
206
+ /**
207
+ * Listen for Telegram message read receipts.
208
+ */
209
+ onTelegramMessageRead(handler) {
210
+ return this.on('telegram.message_read', handler);
211
+ }
212
+ /**
213
+ * Listen for Telegram user updates (presence, typing, online status).
214
+ */
215
+ onTelegramUserUpdate(handler) {
216
+ return this.on('telegram.user_update', handler);
217
+ }
218
+ /**
219
+ * Listen for Telegram chat actions (user joined, user left, etc.).
220
+ */
221
+ onTelegramChatAction(handler) {
222
+ return this.on('telegram.chat_action', handler);
223
+ }
224
+ /**
225
+ * Listen for Telegram inline & callback button queries.
226
+ */
227
+ onTelegramCallbackQuery(handler) {
228
+ return this.on('telegram.callback_query', handler);
229
+ }
230
+ ensureSocket() {
231
+ if (!this.socket) {
232
+ this.connect();
233
+ }
234
+ return this.socket;
235
+ }
236
+ }
@@ -20,3 +20,4 @@ __exportStar(require("./chats.js"), exports);
20
20
  __exportStar(require("./groups.js"), exports);
21
21
  __exportStar(require("./profile.js"), exports);
22
22
  __exportStar(require("./webhooks.js"), exports);
23
+ __exportStar(require("./socket.js"), exports);
@@ -4,6 +4,7 @@ export * from './chats.js';
4
4
  export * from './groups.js';
5
5
  export * from './profile.js';
6
6
  export * from './webhooks.js';
7
+ export * from './socket.js';
7
8
  export interface BotcastClientConfig {
8
9
  /**
9
10
  * The base URL of your Botcast instance or cloud gateway.
@@ -34,5 +35,9 @@ export interface BotcastClientConfig {
34
35
  * Custom HTTP headers to include with every request.
35
36
  */
36
37
  headers?: Record<string, string>;
38
+ /**
39
+ * Auto-connect the Socket.io real-time client upon initialization (default: false).
40
+ */
41
+ autoConnectSocket?: boolean;
37
42
  }
38
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAE9B,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAEnC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAEnC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
@@ -4,3 +4,4 @@ export * from './chats.js';
4
4
  export * from './groups.js';
5
5
  export * from './profile.js';
6
6
  export * from './webhooks.js';
7
+ export * from './socket.js';
@@ -1,4 +1,25 @@
1
- export type MessageType = 'text' | 'image' | 'video' | 'audio' | 'voice' | 'document' | 'sticker' | 'location' | 'contact' | 'reaction' | 'pin' | 'poll' | 'forward' | 'otp' | 'disappearing';
1
+ export type MessageType = 'text' | 'buttons' | 'image' | 'video' | 'audio' | 'voice' | 'document' | 'sticker' | 'location' | 'contact' | 'reaction' | 'pin' | 'poll' | 'forward' | 'otp' | 'disappearing';
2
+ export interface InteractiveButton {
3
+ name?: 'quick_reply' | 'cta_url' | 'cta_call' | 'cta_copy';
4
+ displayText?: string;
5
+ text?: string;
6
+ label?: string;
7
+ id?: string;
8
+ buttonId?: string;
9
+ url?: string;
10
+ phoneNumber?: string;
11
+ phone?: string;
12
+ copyCode?: string;
13
+ params?: Record<string, any>;
14
+ }
15
+ export interface SendButtonsOptions extends BaseMessageOptions {
16
+ title?: string;
17
+ header?: string;
18
+ body?: string;
19
+ text?: string;
20
+ footer?: string;
21
+ buttons: InteractiveButton[];
22
+ }
2
23
  export interface MessageKey {
3
24
  remoteJid?: string;
4
25
  fromMe?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * Socket.io Real-Time Event Types for Botcast SDK
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });