@gamastudio/sendwave-provider 1.0.4 → 1.0.5

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/README.md CHANGED
@@ -47,7 +47,13 @@ await provider.initAll(provider.globalVendorArgs.port);
47
47
  // Send message to a specific instance
48
48
  await provider.sendText(
49
49
  { from: "573123456789", text: "Hello from sales!" },
50
- "bot-sales"
50
+ { instance: "bot-sales" }
51
+ );
52
+
53
+ // Notify admin on another instance
54
+ await provider.sendText(
55
+ { from: "573199999999", text: "Nuevo pedido recibido" },
56
+ { instance: "bot-admin" }
51
57
  );
52
58
 
53
59
  // Or use the default (first instance)
@@ -118,7 +124,7 @@ await provider.sendText({
118
124
  // Send to a specific instance (multi-tenant)
119
125
  await provider.sendText(
120
126
  { from: "573123456789", text: "Hello!" },
121
- "bot-sales"
127
+ { instance: "bot-sales" }
122
128
  );
123
129
  ```
124
130
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamastudio/sendwave-provider",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Official Sendwaves provider for BuilderBot. Multi-instance WhatsApp messaging library with intelligent message merging, media support, interactive buttons, lists, carousels, polls, and automatic queue flow.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -1,11 +1,14 @@
1
1
  import { ProviderClass } from "@builderbot/bot";
2
2
  import Queue from "queue-promise";
3
- import { BotContext, BotCtxMiddlewareOptions, SendOptions } from "@builderbot/bot/dist/types";
3
+ import { BotContext, BotCtxMiddlewareOptions, SendOptions as BuilderBotSendOptions } from "@builderbot/bot/dist/types";
4
4
  import { GlobalVendorArgs } from "../../domain/types";
5
5
  import { ParsedMessage } from "../../domain/interfaces";
6
6
  import { SendWaveCore } from "./sendwave-core";
7
7
  import { MessageSenderService } from "../../application/messaging/message-sender.service";
8
8
  import { RegisteredInstance } from "../../infrastructure/persistence/instance.registry";
9
+ export interface SendOptions {
10
+ instance?: string;
11
+ }
9
12
  export declare class SendWaveProvider extends ProviderClass<SendWaveCore> {
10
13
  queue: Queue;
11
14
  vendor: SendWaveCore;
@@ -42,22 +45,22 @@ export declare class SendWaveProvider extends ProviderClass<SendWaveCore> {
42
45
  from: string;
43
46
  }): void;
44
47
  initAll: (port: number, opts?: Pick<BotCtxMiddlewareOptions, "blacklist">) => void;
45
- sendMessage(from: string, text: any, options?: SendOptions): Promise<any>;
46
- sendText(data: any, instanceName?: string): Promise<any>;
47
- sendList(data: any, instanceName?: string): Promise<any>;
48
- sendImage(data: any, instanceName?: string): Promise<any>;
49
- sendVideo(data: any, instanceName?: string): Promise<any>;
50
- sendAudio(data: any, instanceName?: string): Promise<any>;
51
- sendFile(data: any, instanceName?: string): Promise<any>;
52
- sendPresence(data: any, instanceName?: string): Promise<any>;
53
- sendVoice(data: any, instanceName?: string): Promise<any>;
54
- sendButton(data: any, instanceName?: string): Promise<any>;
55
- sendCarousel(data: any, instanceName?: string): Promise<any>;
56
- sendPoll(data: any, instanceName?: string): Promise<any>;
57
- sendReaction(data: any, instanceName?: string): Promise<any>;
58
- sendLocation(data: any, instanceName?: string): Promise<any>;
59
- sendMedia(data: any, instanceName?: string): Promise<any>;
60
- readMessages(data: any, instanceName?: string): Promise<any>;
48
+ sendMessage(from: string, text: any, options?: BuilderBotSendOptions): Promise<any>;
49
+ sendText(data: any, options?: SendOptions): Promise<any>;
50
+ sendList(data: any, options?: SendOptions): Promise<any>;
51
+ sendImage(data: any, options?: SendOptions): Promise<any>;
52
+ sendVideo(data: any, options?: SendOptions): Promise<any>;
53
+ sendAudio(data: any, options?: SendOptions): Promise<any>;
54
+ sendFile(data: any, options?: SendOptions): Promise<any>;
55
+ sendPresence(data: any, options?: SendOptions): Promise<any>;
56
+ sendVoice(data: any, options?: SendOptions): Promise<any>;
57
+ sendButton(data: any, options?: SendOptions): Promise<any>;
58
+ sendCarousel(data: any, options?: SendOptions): Promise<any>;
59
+ sendPoll(data: any, options?: SendOptions): Promise<any>;
60
+ sendReaction(data: any, options?: SendOptions): Promise<any>;
61
+ sendLocation(data: any, options?: SendOptions): Promise<any>;
62
+ sendMedia(data: any, options?: SendOptions): Promise<any>;
63
+ readMessages(data: any, options?: SendOptions): Promise<any>;
61
64
  private sendToInstance;
62
65
  private sendToDefault;
63
66
  resetUserTimeout(from: string, name?: string): Promise<{
@@ -263,50 +263,50 @@ class SendWaveProvider extends bot_1.ProviderClass {
263
263
  async sendMessage(from, text, options) {
264
264
  return this.sendToDefault((sender) => sender.dispatch(from, text, options));
265
265
  }
266
- sendText(data, instanceName) {
267
- return this.sendToInstance(instanceName, (sender) => sender.sendText(data));
266
+ sendText(data, options) {
267
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendText(data));
268
268
  }
269
- sendList(data, instanceName) {
270
- return this.sendToInstance(instanceName, (sender) => sender.sendList(data));
269
+ sendList(data, options) {
270
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendList(data));
271
271
  }
272
- sendImage(data, instanceName) {
273
- return this.sendToInstance(instanceName, (sender) => sender.sendImage(data));
272
+ sendImage(data, options) {
273
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendImage(data));
274
274
  }
275
- sendVideo(data, instanceName) {
276
- return this.sendToInstance(instanceName, (sender) => sender.sendVideo(data));
275
+ sendVideo(data, options) {
276
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendVideo(data));
277
277
  }
278
- sendAudio(data, instanceName) {
279
- return this.sendToInstance(instanceName, (sender) => sender.sendAudio(data));
278
+ sendAudio(data, options) {
279
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendAudio(data));
280
280
  }
281
- sendFile(data, instanceName) {
282
- return this.sendToInstance(instanceName, (sender) => sender.sendFile(data));
281
+ sendFile(data, options) {
282
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendFile(data));
283
283
  }
284
- sendPresence(data, instanceName) {
285
- return this.sendToInstance(instanceName, (sender) => sender.sendPresence(data));
284
+ sendPresence(data, options) {
285
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendPresence(data));
286
286
  }
287
- sendVoice(data, instanceName) {
288
- return this.sendToInstance(instanceName, (sender) => sender.sendVoice(data));
287
+ sendVoice(data, options) {
288
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendVoice(data));
289
289
  }
290
- sendButton(data, instanceName) {
291
- return this.sendToInstance(instanceName, (sender) => sender.sendButton(data));
290
+ sendButton(data, options) {
291
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendButton(data));
292
292
  }
293
- sendCarousel(data, instanceName) {
294
- return this.sendToInstance(instanceName, (sender) => sender.sendCarousel(data));
293
+ sendCarousel(data, options) {
294
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendCarousel(data));
295
295
  }
296
- sendPoll(data, instanceName) {
297
- return this.sendToInstance(instanceName, (sender) => sender.sendPoll(data));
296
+ sendPoll(data, options) {
297
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendPoll(data));
298
298
  }
299
- sendReaction(data, instanceName) {
300
- return this.sendToInstance(instanceName, (sender) => sender.sendReaction(data));
299
+ sendReaction(data, options) {
300
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendReaction(data));
301
301
  }
302
- sendLocation(data, instanceName) {
303
- return this.sendToInstance(instanceName, (sender) => sender.sendLocation(data));
302
+ sendLocation(data, options) {
303
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendLocation(data));
304
304
  }
305
- sendMedia(data, instanceName) {
306
- return this.sendToInstance(instanceName, (sender) => sender.sendMedia(data));
305
+ sendMedia(data, options) {
306
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.sendMedia(data));
307
307
  }
308
- readMessages(data, instanceName) {
309
- return this.sendToInstance(instanceName, (sender) => sender.readMessages(data));
308
+ readMessages(data, options) {
309
+ return this.sendToInstance(options === null || options === void 0 ? void 0 : options.instance, (sender) => sender.readMessages(data));
310
310
  }
311
311
  sendToInstance(instanceName, action) {
312
312
  const instance = this.getInstance(instanceName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamastudio/sendwave-provider",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Official Sendwaves provider for BuilderBot. Multi-instance WhatsApp messaging library with intelligent message merging, media support, interactive buttons, lists, carousels, polls, and automatic queue flow.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",