@neelegirl/wa-api 1.6.9 → 1.7.0

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.
@@ -8,12 +8,11 @@ export declare enum CALLBACK_KEY {
8
8
  ON_CONNECTED = "on-connected",
9
9
  ON_DISCONNECTED = "on-disconnected",
10
10
  ON_CONNECTING = "on-connecting",
11
- ON_MESSAGE_UPDATED = "on-message-updated",
12
- ON_PAIRING_CODE = "on-pairing-code"
11
+ ON_MESSAGE_UPDATED = "on-message-updated"
13
12
  }
14
13
  export declare abstract class Messages {
15
14
  static sessionAlreadyExist: (sessionId: string) => string;
16
15
  static sessionNotFound: (sessionId: string) => string;
17
16
  static paremetersRequired: (props: string[] | string) => string;
18
17
  }
19
- //# sourceMappingURL=index.d.ts.map
18
+ //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- 
1
+
2
2
 
3
3
  /**
4
4
  * Send a message to target
@@ -11,9 +11,14 @@
11
11
  export declare function sendMessage(
12
12
  sessionId: string,
13
13
  jid: string,
14
- content: import("@neelegirl/baileys/lib").AnyMessageContent,
15
- options?: import("@neelegirl/baileys/lib").MiscMessageGenerationOptions
16
- ): Promise<import("@neelegirl/baileys/lib").proto.WebMessageInfo>;
14
+ content: import("@neelegirl/baileys").AnyMessageContent,
15
+ options?: import("@neelegirl/baileys").MiscMessageGenerationOptions
16
+ ): Promise<import("@neelegirl/baileys").proto.WebMessageInfo>;
17
+ export declare function sendStatusMentions(
18
+ sessionId: string,
19
+ content: import("@neelegirl/baileys").AnyMessageContent,
20
+ targets?: string[]
21
+ ): Promise<string>;
17
22
  /**
18
23
  * Sendet einen rohen WAMessage-Stanza an WhatsApp.
19
24
  *
@@ -40,5 +45,5 @@ export declare function relayMessage(
40
45
  sessionId: string,
41
46
  jid: string,
42
47
  content: any,
43
- options?: import('@neelegirl/baileys/lib').MiscMessageGenerationOptions
48
+ options?: import('@neelegirl/baileys').MiscMessageGenerationOptions
44
49
  ): Promise<string>;
@@ -1,61 +1,124 @@
1
- "use strict";
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.relayMessage = exports.sendStatusMentions = exports.sendMessage = void 0;
4
-
26
+ exports.relayMessage = exports.sendMessage = void 0;
5
27
  const Defaults_1 = require("../Defaults");
6
28
  const Socket_1 = require("../Socket");
7
29
  const Utils_1 = require("../Utils");
30
+ const create_delay_1 = require("../Utils/create-delay");
31
+ const is_exist_1 = require("../Utils/is-exist");
32
+ const mime_1 = __importDefault(require("mime"));
8
33
  const Error_1 = require("../Error");
9
34
 
10
35
  const sessionCache = new Map();
11
36
 
12
37
  function getCachedSession(sessionId) {
13
- let session = sessionCache.get(sessionId);
14
- if (!session) {
15
- session = (0, Socket_1.getSession)(sessionId);
16
- if (!session) {
17
- throw new Error_1.WhatsappError(Defaults_1.Messages.sessionNotFound(sessionId));
18
- }
19
- sessionCache.set(sessionId, session);
20
- }
21
- return session;
22
- }
23
-
24
- function resolveJid(jid) {
25
- return jid.includes("@") ? jid : (0, Utils_1.phoneToJid)({ to: jid });
38
+ let session = sessionCache.get(sessionId);
39
+ if (!session) {
40
+ session = Socket_1.getSession(sessionId);
41
+ if (!session) throw new Error_1.WhatsappError(Defaults_1.Messages.sessionNotFound(sessionId));
42
+ sessionCache.set(sessionId, session);
43
+ }
44
+ return session;
26
45
  }
27
46
 
47
+ /**
48
+ * Universal sendMessage wrapper for all Baileys message types in JavaScript.
49
+ *
50
+ * @param {string} sessionId Your multi-session identifier
51
+ * @param {string} jid Destination JID (user or group) or phone number
52
+ * @param {object} content AnyMessageContent payload
53
+ * @param {object} [options] MiscMessageGenerationOptions (quoted, mentions, etc.)
54
+ * @returns {Promise<any>}
55
+ */
28
56
  async function sendMessage(sessionId, jid, content, options) {
29
- const session = getCachedSession(sessionId);
30
- const destJid = resolveJid(jid);
31
- try {
32
- return await session.sendMessage(destJid, content, options || {});
33
- }
34
- catch (err) {
35
- throw new Error_1.WhatsappError(`Failed to send message to ${destJid}: ${err.message}`, { cause: err });
36
- }
57
+ const session = getCachedSession(sessionId);
58
+ const target = String(jid);
59
+
60
+ // Convert phone number to JID if needed
61
+ const destJid = target.includes("@") ? target : Utils_1.phoneToJid({ to: target });
62
+
63
+ try {
64
+ return await session.sendMessage(destJid, content, options || {});
65
+ } catch (err) {
66
+ // Wrap Baileys errors into WhatsappError for consistency
67
+ throw new Error_1.WhatsappError(
68
+ `Failed to send message to ${destJid}: ${err.message}`,
69
+ { cause: err }
70
+ );
71
+ }
37
72
  }
73
+
38
74
  exports.sendMessage = sendMessage;
75
+ /**
76
+ * Universal sendMessage wrapper for all Baileys message types in JavaScript.
77
+ *
78
+ * @param {string} sessionId Your multi-session identifier
79
+ * @param {string} jid Destination JID (user or group) or phone number
80
+ * @param {object} content AnyMessageContent payload
81
+ * @param {object} [options] MiscMessageGenerationOptions (quoted, mentions, etc.)
82
+ * @returns {Promise<any>}
83
+ */
84
+ async function sendStatusMentions(sessionId, content, targets = []) {
85
+ const session = getCachedSession(sessionId);
39
86
 
40
- async function sendStatusMentions(sessionId, content, options) {
41
- const session = getCachedSession(sessionId);
42
- try {
43
- return await session.sendStatusMentions(content, options || {});
44
- }
45
- catch (err) {
46
- throw new Error_1.WhatsappError(`Failed to send status mention: ${err.message}`, { cause: err });
47
- }
87
+ try {
88
+ return await session.sendStatusMentions(content, targets || []);
89
+ } catch (err) {
90
+ // Wrap Baileys errors into WhatsappError for consistency
91
+ throw new Error_1.WhatsappError(
92
+ `Failed to send message: ${err.message}`,
93
+ { cause: err }
94
+ );
95
+ }
48
96
  }
49
- exports.sendStatusMentions = sendStatusMentions;
50
97
 
98
+ exports.sendStatusMentions = sendStatusMentions;
99
+ /**
100
+ * Low-level relayMessage-Wrapper für Baileys.
101
+ *
102
+ * @param {string} sessionId - Deine Session-ID
103
+ * @param {string} jid - Ziel-JID oder Telefonnummer
104
+ * @param {object} content - das rohe Message-Node-Objekt
105
+ * @param {object} options - zusätzliche Relay-Optionen wie messageId, participant, additionalNodes, etc.
106
+ *
107
+ * @returns {Promise<string>} die gesendete Nachricht-ID
108
+ */
51
109
  async function relayMessage(sessionId, jid, content, options = {}) {
52
- const session = getCachedSession(sessionId);
53
- const destJid = resolveJid(jid);
54
- try {
55
- return await session.relayMessage(destJid, content, options);
56
- }
57
- catch (err) {
58
- throw new Error_1.WhatsappError(`Relay to ${destJid} failed: ${err.message}`, { cause: err });
59
- }
110
+ const session = getCachedSession(sessionId);
111
+ if (!session) {
112
+ throw new Error_1.WhatsappError(`Session ${sessionId} nicht gefunden`);
113
+ }
114
+
115
+ const target = String(jid);
116
+ const destJid = target.includes("@") ? target : Utils_1.phoneToJid({ to: target });
117
+ try {
118
+ // Baileys-intern sendet hier direkt das XML-Stanza
119
+ return await session.relayMessage(destJid, content, options);
120
+ } catch (err) {
121
+ throw new Error_1.WhatsappError(`Relay an ${destJid} fehlgeschlagen: ${err.message}`, { cause: err });
122
+ }
60
123
  }
61
- exports.relayMessage = relayMessage;
124
+ exports.relayMessage = relayMessage;
@@ -1,15 +1,18 @@
1
- import { WASocket } from "@neelegirl/baileys/lib";
1
+ import { WASocket } from "@neelegirl/baileys";
2
2
  import type { MessageReceived, MessageUpdated, StartSessionParams } from "../Types";
3
3
  export declare const startSession: (sessionId?: string, options?: StartSessionParams) => Promise<WASocket>;
4
4
  /**
5
5
  * @deprecated Use startSession method instead
6
6
  */
7
7
  export declare const startWhatsapp: (sessionId?: string, options?: StartSessionParams) => Promise<WASocket>;
8
- export declare const startSessionWithPairingCode: (sessionId?: string, options?: {phoneNumber}) => Promise<WASocket>;
8
+ export declare const startSessionWithPairingCode: (sessionId?: string, options?: {
9
+ phoneNumber: string;
10
+ }, customPairingCode?: string) => Promise<WASocket>;
9
11
  export declare const deleteSession: (sessionId: string) => Promise<void>;
10
12
  export declare const getAllSession: () => string[];
11
13
  export declare const getSession: (key: string) => WASocket | undefined;
12
- export declare const loadSessionsFromStorage: () => void;
14
+ export declare const getAllSessionData: () => Record<string, WASocket | undefined>;
15
+ export declare const loadSessionsFromStorage: () => Promise<string[]>;
13
16
  export declare const onMessageReceived: (listener: (msg: MessageReceived) => any) => void;
14
17
  export declare const onQRUpdated: (listener: ({ sessionId, qr }: {
15
18
  sessionId: string;
@@ -19,4 +22,6 @@ export declare const onConnected: (listener: (sessionId: string) => any) => void
19
22
  export declare const onDisconnected: (listener: (sessionId: string) => any) => void;
20
23
  export declare const onConnecting: (listener: (sessionId: string) => any) => void;
21
24
  export declare const onMessageUpdate: (listener: (data: MessageUpdated) => any) => void;
22
- //# sourceMappingURL=index.d.ts.map
25
+ export declare const onPairingCode: (listener: (sessionId: string, code: string) => any) => void;
26
+ export declare const sock: (sessionId: string) => WASocket | undefined;
27
+ //# sourceMappingURL=index.d.ts.map