@gamastudio/sendwave-provider 0.0.21 → 0.0.22
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/build/package.json
CHANGED
package/build/provider/core.js
CHANGED
|
@@ -27,7 +27,7 @@ class SendWaveCore extends node_events_1.EventEmitter {
|
|
|
27
27
|
res.end("Media handler not implemented yet");
|
|
28
28
|
};
|
|
29
29
|
this.incomingMsg = (req, res) => {
|
|
30
|
-
var _a, _b
|
|
30
|
+
var _a, _b;
|
|
31
31
|
try {
|
|
32
32
|
const { body } = req;
|
|
33
33
|
if (!["messages.upsert", "send.message"].includes(body.event)) {
|
|
@@ -40,16 +40,18 @@ class SendWaveCore extends node_events_1.EventEmitter {
|
|
|
40
40
|
if (!(data === null || data === void 0 ? void 0 : data.fromMe)) {
|
|
41
41
|
// Emit message event for queue flow system integration
|
|
42
42
|
this.emit("user-message", data);
|
|
43
|
-
if (this.globalVendorArgs.readMessages
|
|
43
|
+
if (this.globalVendorArgs.readMessages &&
|
|
44
|
+
((_a = data.messageId) === null || _a === void 0 ? void 0 : _a.trim()) &&
|
|
45
|
+
data.remoteJid.includes("@"))
|
|
44
46
|
this.sender
|
|
45
47
|
.readMessages({
|
|
46
|
-
from:
|
|
47
|
-
messageId:
|
|
48
|
+
from: data.remoteJid,
|
|
49
|
+
messageId: data.messageId,
|
|
48
50
|
})
|
|
49
|
-
.catch((
|
|
50
|
-
|
|
51
|
+
.catch((_) => {
|
|
52
|
+
return res.end("Message queued");
|
|
51
53
|
});
|
|
52
|
-
if ((
|
|
54
|
+
if ((_b = this.globalVendorArgs.message) === null || _b === void 0 ? void 0 : _b.mergeMessage) {
|
|
53
55
|
this.bufferMessage(data);
|
|
54
56
|
}
|
|
55
57
|
else {
|
|
@@ -282,6 +282,9 @@ class SendWaveProvider extends bot_1.ProviderClass {
|
|
|
282
282
|
initVendor() {
|
|
283
283
|
const vendor = new core_1.SendWaveCore(this.globalVendorArgs.port, this.queue, this.globalVendorArgs);
|
|
284
284
|
this.vendor = vendor;
|
|
285
|
+
// Relay events from vendor to provider
|
|
286
|
+
this.vendor.on("user-message", (data) => this.emit("user-message", data));
|
|
287
|
+
this.vendor.on("flow-message", (data) => this.emit("flow-message", data));
|
|
285
288
|
return Promise.resolve(this.vendor);
|
|
286
289
|
}
|
|
287
290
|
async afterHttpServerInit() {
|
package/build/provider/sender.js
CHANGED
|
@@ -71,15 +71,17 @@ class SenderMessage {
|
|
|
71
71
|
async sendText(data) {
|
|
72
72
|
var _a, _b, _c;
|
|
73
73
|
try {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
});
|
|
74
|
+
// try {
|
|
75
|
+
// await this.sendPresence({
|
|
76
|
+
// from: data.from,
|
|
77
|
+
// presence: "composing",
|
|
78
|
+
// });
|
|
79
|
+
// } catch (_) {}
|
|
79
80
|
return await ((_a = this.sendwaveApi) === null || _a === void 0 ? void 0 : _a.post(`/message/sendText/${(_b = this.globalVendorArgs) === null || _b === void 0 ? void 0 : _b.name}`, {
|
|
81
|
+
delay: data.delay || 2000,
|
|
82
|
+
...this.globalVendorArgs,
|
|
80
83
|
number: data.from,
|
|
81
84
|
text: data.text,
|
|
82
|
-
...this.globalVendorArgs,
|
|
83
85
|
}));
|
|
84
86
|
}
|
|
85
87
|
catch (e) {
|
|
@@ -278,14 +280,16 @@ class SenderMessage {
|
|
|
278
280
|
detectorMedia_1.detectorMedia.updateLimits(this.globalVendorArgs.payloadLimits.media);
|
|
279
281
|
}
|
|
280
282
|
const { media } = await detectorMedia_1.detectorMedia.processMedia(data.url);
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
});
|
|
283
|
+
// try {
|
|
284
|
+
// await this.sendPresence({
|
|
285
|
+
// from: data.from,
|
|
286
|
+
// presence: "recording",
|
|
287
|
+
// });
|
|
288
|
+
// } catch (error) {}
|
|
286
289
|
return await ((_c = this.sendwaveApi) === null || _c === void 0 ? void 0 : _c.post(`/message/sendWhatsAppAudio/${(_d = this.globalVendorArgs) === null || _d === void 0 ? void 0 : _d.name}`, {
|
|
287
290
|
number: data.from,
|
|
288
291
|
audio: media,
|
|
292
|
+
delay: data.delay || 2000,
|
|
289
293
|
...this.globalVendorArgs,
|
|
290
294
|
}));
|
|
291
295
|
}
|
package/build/utils/parserMsg.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseIncomingMsg = parseIncomingMsg;
|
|
4
|
-
const bot_1 = require("@builderbot/bot"); // Asegúrate de importar utils correctamente
|
|
5
4
|
function parseIncomingMsg(payload) {
|
|
6
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
7
5
|
try {
|
|
8
6
|
const msg = payload.data;
|
|
9
7
|
if (msg.messageType === "reactionMessage")
|
|
@@ -12,88 +10,21 @@ function parseIncomingMsg(payload) {
|
|
|
12
10
|
return null;
|
|
13
11
|
}
|
|
14
12
|
// if (msg.key.fromMe) return null
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const from = msg.
|
|
19
|
-
|
|
20
|
-
: msg.key.remoteJid.split("@")[0].split(":")[0];
|
|
21
|
-
// const from = (msg.key?.remoteJid || "")
|
|
13
|
+
const messageId = msg.messageId || "";
|
|
14
|
+
const fromMe = msg.fromMe;
|
|
15
|
+
const remoteJid = msg.remoteJid || "";
|
|
16
|
+
const from = msg.from;
|
|
17
|
+
// const from = (msg?.remoteJid || "")
|
|
22
18
|
const to = payload.instance || "";
|
|
23
|
-
const name = msg.
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
let media;
|
|
29
|
-
let caption;
|
|
30
|
-
// 🎯 Primero detección especial de eventos por tipo de mensaje
|
|
31
|
-
if (messageContent.locationMessage) {
|
|
32
|
-
body = bot_1.utils.generateRefProvider("_event_location_");
|
|
33
|
-
type = "locationMessage";
|
|
34
|
-
}
|
|
35
|
-
else if (messageContent.orderMessage) {
|
|
36
|
-
body = bot_1.utils.generateRefProvider("_event_order_");
|
|
37
|
-
type = "orderMessage";
|
|
38
|
-
}
|
|
39
|
-
else if (messageContent.videoMessage) {
|
|
40
|
-
body = bot_1.utils.generateRefProvider("_event_media_");
|
|
41
|
-
type = "videoMessage";
|
|
42
|
-
media = (_a = messageContent.videoMessage) === null || _a === void 0 ? void 0 : _a.url;
|
|
43
|
-
caption = ((_b = messageContent.videoMessage) === null || _b === void 0 ? void 0 : _b.caption) || "";
|
|
44
|
-
}
|
|
45
|
-
else if (messageContent.stickerMessage) {
|
|
46
|
-
body = bot_1.utils.generateRefProvider("_event_media_");
|
|
47
|
-
type = "stickerMessage";
|
|
48
|
-
media = (_c = messageContent.stickerMessage) === null || _c === void 0 ? void 0 : _c.url;
|
|
49
|
-
}
|
|
50
|
-
else if (messageContent.imageMessage) {
|
|
51
|
-
body = bot_1.utils.generateRefProvider("_event_media_");
|
|
52
|
-
type = "imageMessage";
|
|
53
|
-
media = (_d = messageContent.imageMessage) === null || _d === void 0 ? void 0 : _d.url;
|
|
54
|
-
caption = ((_e = messageContent.imageMessage) === null || _e === void 0 ? void 0 : _e.caption) || "";
|
|
55
|
-
}
|
|
56
|
-
else if (messageContent.documentMessage ||
|
|
57
|
-
messageContent.documentWithCaptionMessage) {
|
|
58
|
-
body = bot_1.utils.generateRefProvider("_event_document_");
|
|
59
|
-
type = "documentMessage";
|
|
60
|
-
media =
|
|
61
|
-
((_f = messageContent.documentMessage) === null || _f === void 0 ? void 0 : _f.url) ||
|
|
62
|
-
((_g = messageContent.documentWithCaptionMessage) === null || _g === void 0 ? void 0 : _g.url);
|
|
63
|
-
caption =
|
|
64
|
-
((_h = messageContent.documentMessage) === null || _h === void 0 ? void 0 : _h.caption) ||
|
|
65
|
-
((_j = messageContent.documentWithCaptionMessage) === null || _j === void 0 ? void 0 : _j.caption) ||
|
|
66
|
-
"";
|
|
67
|
-
}
|
|
68
|
-
else if (messageContent.audioMessage) {
|
|
69
|
-
body = bot_1.utils.generateRefProvider("_event_voice_note_");
|
|
70
|
-
type = "audioMessage";
|
|
71
|
-
media = (_k = messageContent.audioMessage) === null || _k === void 0 ? void 0 : _k.url;
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
// 🎯 Si no es media especial, hacer parsing normal por tipo
|
|
75
|
-
switch (type) {
|
|
76
|
-
case "conversation":
|
|
77
|
-
body = messageContent.conversation || "";
|
|
78
|
-
break;
|
|
79
|
-
case "buttonsResponseMessage":
|
|
80
|
-
body = ((_l = messageContent.buttonsResponseMessage) === null || _l === void 0 ? void 0 : _l.selectedButtonId) || "";
|
|
81
|
-
break;
|
|
82
|
-
case "listResponseMessage":
|
|
83
|
-
body = ((_m = messageContent.listResponseMessage) === null || _m === void 0 ? void 0 : _m.title) || "";
|
|
84
|
-
break;
|
|
85
|
-
case "listMessage":
|
|
86
|
-
body =
|
|
87
|
-
`${(_o = messageContent.listMessage) === null || _o === void 0 ? void 0 : _o.title}${((_p = messageContent.listMessage) === null || _p === void 0 ? void 0 : _p.title) ? "\n" : ""}${(_q = messageContent.listMessage) === null || _q === void 0 ? void 0 : _q.description}` || "";
|
|
88
|
-
break;
|
|
89
|
-
default:
|
|
90
|
-
body = "Tipo de mensaje no soportado aún";
|
|
91
|
-
}
|
|
92
|
-
}
|
|
19
|
+
const name = msg.name;
|
|
20
|
+
const body = msg.body;
|
|
21
|
+
const type = msg.type;
|
|
22
|
+
const media = msg.media;
|
|
23
|
+
const caption = msg.caption;
|
|
93
24
|
return {
|
|
94
25
|
fromMe,
|
|
95
26
|
remoteJid,
|
|
96
|
-
|
|
27
|
+
messageId,
|
|
97
28
|
from,
|
|
98
29
|
to,
|
|
99
30
|
name,
|
package/package.json
CHANGED