wa-multi-mongodb 3.10.6 → 3.10.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Socket/index.ts"],"names":[],"mappings":"AAAA,OAAqB,EAInB,QAAQ,EAET,MAAM,SAAS,CAAC;AAMjB,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,kBAAkB,EAEnB,MAAM,UAAU,CAAC;AAiElB;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAU,KAAK,MAAM,kBAkB5C,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,QAEjD;AAkBD,eAAO,MAAM,YAAY,GACvB,kBAAuB,EACvB,UAAS,kBAAsC,KAC9C,OAAO,CAAC,QAAQ,CA+JlB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,GACtC,WAAW,MAAM,EACjB,aAAa,MAAM,EACnB,UAAS,kBAAuB,KAC/B,OAAO,CAAC,QAAQ,CAiNlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,iCArYf,kBAAkB,KAC1B,OAAO,CAAC,QAAQ,CAoYsB,CAAC;AA4C1C,eAAO,MAAM,aAAa,GAAU,WAAW,MAAM,kBAmCpD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,MAAM,EAAE,CAsBtD,CAAC;AAGF,eAAO,MAAM,iBAAiB,QAAO,MAAM,EAAiC,CAAC;AAE7E,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,QAAQ,GAAG,SACrB,CAAC;AAoChC;;GAEG;AACH,eAAO,MAAM,uBAAuB,YAMnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,CAAC,GAAG,EAAE,eAAe,KAAK,GAAG,SAExE,CAAC;AACF,eAAO,MAAM,WAAW,GACtB,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,KAAK,GAAG,SAGxE,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,UAAU,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,SAE/D,CAAC;AACF,eAAO,MAAM,cAAc,GAAI,UAAU,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,SAElE,CAAC;AACF,eAAO,MAAM,YAAY,GAAI,UAAU,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,SAEhE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,CAAC,IAAI,EAAE,cAAc,KAAK,GAAG,SAEtE,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,GAAG,SAInD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,qBAcjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,SAAQ,MAAqB,EAAE,iBAAgB,MAAe,SAG7F,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAS,MAAyB,SAGnE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAU,WAAW,MAAM,KAAG,OAAO,CAAC,OAAO,CA2FlE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,QAAa,OAAO,CAAC;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAiBhG,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAO,MAAM,EAE/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM;;;;;;CAYjD,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAAI,SAAS;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,SAEA,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EACjB,KAAK,MAAM,EACX,aAAY,OAAe,KAC1B,OAAO,CAAC,GAAG,CA4Bb,CAAC;AAGF,eAAO,MAAM,uBAAuB,GAAU,WAAW,MAAM,EAAE,KAAK,MAAM,kBAE3E,CAAC;AAGF,eAAO,MAAM,8BAA8B,GAAU,WAAW,MAAM,kBAErE,CAAC;AAGF,eAAO,MAAM,0BAA0B,YAEtC,CAAC;AAMF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,GAAU,WAAW,MAAM,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,mBAAmB,CA8C7F,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,GAAU,WAAW,MAAM,EAAE,IAAI,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAgD3F,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iBAAiB,GAAU,WAAW,MAAM,KAAG,OAAO,CAAC,eAAe,EAAE,CA6CpF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,OAEzC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,OAExC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa,GAAU,WAAW,MAAM,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAoCzF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,KAAK,GAAU,WAAW,MAAM,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAkBjF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Socket/index.ts"],"names":[],"mappings":"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"}
@@ -21,31 +21,74 @@ import { MongoClient } from "mongodb";
21
21
  import { useMongoAuthState } from "../Utils/mongo-auth-state.js";
22
22
  import { createDelay } from "../Utils/create-delay.js";
23
23
  const sessions = new Map();
24
+ /**
25
+ * Valid PlatformType values that WhatsApp recognizes
26
+ * These will be displayed as-is in "Linked Devices"
27
+ */
28
+ const VALID_PLATFORM_TYPES = [
29
+ "Chrome", "Firefox", "Safari", "Edge", "Opera", "IE", "Desktop"
30
+ ];
24
31
  /**
25
32
  * Helper function to generate browser configuration based on type and name
26
- * @param browserType - Browser type (ubuntu, macOS, windows, appropriate)
27
- * @param browserName - Custom browser/app name
33
+ * @param browserType - OS type (ubuntu, macOS, windows, appropriate)
34
+ * @param browserName - Browser/app name to display in WhatsApp Linked Devices
35
+ * @param displayBrowser - Browser type to display for custom names (default: Chrome)
28
36
  * @returns Browser configuration tuple for Baileys
37
+ *
38
+ * Display format in WhatsApp: `${browser[1]} (${browser[0]})`
39
+ *
40
+ * Examples:
41
+ * - browserType: "macOS", browserName: "Safari" → "Safari (Mac OS)"
42
+ * - browserType: "windows", browserName: "Chrome" → "Chrome (Windows)"
43
+ * - browserType: "windows", browserName: "My Bot" → "Chrome (My Bot)"
44
+ * - browserType: "windows", browserName: "My Bot", displayBrowser: "Safari" → "Safari (My Bot)"
29
45
  */
30
- const getBrowserConfig = (browserType = "ubuntu", browserName = "Chrome") => {
31
- let browserTuple;
46
+ const getBrowserConfig = (browserType = "ubuntu", browserName, displayBrowser = "Chrome") => {
47
+ // Default to Chrome if no browserName provided
48
+ const effectiveBrowserName = browserName || "Chrome";
49
+ // Validate displayBrowser - must be a valid PlatformType
50
+ const validDisplayBrowser = VALID_PLATFORM_TYPES.includes(displayBrowser) ? displayBrowser : "Chrome";
51
+ // Check if browserName is a valid PlatformType
52
+ const isValidPlatformType = VALID_PLATFORM_TYPES.includes(effectiveBrowserName);
53
+ if (isValidPlatformType) {
54
+ // Use standard Browsers helper - display will be "BrowserName (OsName)"
55
+ let browserTuple;
56
+ switch (browserType) {
57
+ case "macOS":
58
+ browserTuple = Browsers.macOS(effectiveBrowserName);
59
+ break;
60
+ case "windows":
61
+ browserTuple = Browsers.windows(effectiveBrowserName);
62
+ break;
63
+ case "appropriate":
64
+ browserTuple = Browsers.appropriate(effectiveBrowserName);
65
+ break;
66
+ case "ubuntu":
67
+ default:
68
+ browserTuple = Browsers.ubuntu(effectiveBrowserName);
69
+ break;
70
+ }
71
+ return [...browserTuple];
72
+ }
73
+ // For custom browserName (not a valid PlatformType):
74
+ // Put custom name in browser[0], use displayBrowser as browser[1]
75
+ // Display will be: "displayBrowser (CustomName)"
76
+ let osVersion;
32
77
  switch (browserType) {
33
78
  case "macOS":
34
- browserTuple = Browsers.macOS(browserName);
79
+ osVersion = "14.4.1";
35
80
  break;
36
81
  case "windows":
37
- browserTuple = Browsers.windows(browserName);
38
- break;
39
- case "appropriate":
40
- browserTuple = Browsers.appropriate(browserName);
82
+ osVersion = "10.0.22631";
41
83
  break;
42
84
  case "ubuntu":
43
85
  default:
44
- browserTuple = Browsers.ubuntu(browserName);
86
+ osVersion = "22.04.4";
45
87
  break;
46
88
  }
47
- // Convert readonly tuple to mutable tuple for Baileys compatibility
48
- return [...browserTuple];
89
+ // Return: [CustomName, displayBrowser, OsVersion]
90
+ // WhatsApp will display: "displayBrowser (CustomName)"
91
+ return [effectiveBrowserName, validDisplayBrowser, osVersion];
49
92
  };
50
93
  const callback = new Map();
51
94
  const retryCount = new Map();
@@ -111,7 +154,11 @@ export const startSession = (...args_1) => __awaiter(void 0, [...args_1], void 0
111
154
  auth: state,
112
155
  logger: P,
113
156
  markOnlineOnConnect: false,
114
- browser: getBrowserConfig(options.browserType, options.browserName),
157
+ browser: getBrowserConfig(options.browserType, options.browserName, options.displayBrowser),
158
+ // Proxy agent for WebSocket connection (optional)
159
+ agent: options.agent,
160
+ // Proxy agent for media upload/download (optional, defaults to agent)
161
+ fetchAgent: (options.fetchAgent || options.agent),
115
162
  // Configure caching group metadata using our hybrid implementation with session ID
116
163
  cachedGroupMetadata: (jid) => __awaiter(void 0, void 0, void 0, function* () {
117
164
  return yield groupCache.get(sessionId, jid);
@@ -277,7 +324,11 @@ export const startSessionWithPairingCode = (sessionId_1, phoneNumber_1, ...args_
277
324
  auth: state,
278
325
  logger: P,
279
326
  markOnlineOnConnect: false,
280
- browser: getBrowserConfig(options.browserType, options.browserName),
327
+ browser: getBrowserConfig(options.browserType, options.browserName, options.displayBrowser),
328
+ // Proxy agent for WebSocket connection (optional)
329
+ agent: options.agent,
330
+ // Proxy agent for media upload/download (optional, defaults to agent)
331
+ fetchAgent: (options.fetchAgent || options.agent),
281
332
  // Opsi tambahan untuk meningkatkan kompatibilitas
282
333
  linkPreviewImageThumbnailWidth: 300,
283
334
  generateHighQualityLinkPreview: true,
@@ -67,18 +67,58 @@ export interface StartSessionParams {
67
67
  */
68
68
  printQR?: boolean;
69
69
  /**
70
- * Browser type for WhatsApp connection
70
+ * Browser type for WhatsApp connection (determines OS version used)
71
71
  * Options: "ubuntu" (default), "macOS", "windows", "appropriate"
72
72
  * @default "ubuntu"
73
73
  */
74
74
  browserType?: BrowserType;
75
75
  /**
76
- * Custom browser/app name displayed in WhatsApp
77
- * This name will appear in "Linked Devices" on your phone
78
- * @default "Chrome"
79
- * @example "My Bot App"
76
+ * App/device name displayed in WhatsApp's "Linked Devices"
77
+ *
78
+ * If using valid browser name (Chrome, Safari, Firefox, Edge, Opera, IE, Desktop):
79
+ * - Display: "BrowserName (OsName)" e.g., "Safari (Mac OS)"
80
+ *
81
+ * If using custom name:
82
+ * - Display: "displayBrowser (CustomName)" e.g., "Safari (My Bot App)"
83
+ * - Default displayBrowser is "Chrome"
84
+ *
85
+ * @example "Safari" → displays as "Safari (Mac OS)"
86
+ * @example "My Bot App" → displays as "Chrome (My Bot App)" or "Safari (My Bot App)" if displayBrowser is set
80
87
  */
81
88
  browserName?: string;
89
+ /**
90
+ * Browser type to display when using custom browserName
91
+ * Only used when browserName is NOT a valid browser type
92
+ * Valid options: "Chrome" (default), "Safari", "Firefox", "Edge", "Opera", "IE", "Desktop"
93
+ *
94
+ * @example displayBrowser: "Safari", browserName: "My Bot" → displays as "Safari (My Bot)"
95
+ * @default "Chrome"
96
+ */
97
+ displayBrowser?: "Chrome" | "Safari" | "Firefox" | "Edge" | "Opera" | "IE" | "Desktop";
98
+ /**
99
+ * Proxy agent for WebSocket connection
100
+ * Use packages like 'https-proxy-agent' or 'socks-proxy-agent'
101
+ * You need to install the proxy agent package yourself
102
+ *
103
+ * @example
104
+ * // Install: npm install https-proxy-agent
105
+ * import { HttpsProxyAgent } from 'https-proxy-agent';
106
+ * const agent = new HttpsProxyAgent('http://proxy:8080');
107
+ *
108
+ * // Install: npm install socks-proxy-agent
109
+ * import { SocksProxyAgent } from 'socks-proxy-agent';
110
+ * const agent = new SocksProxyAgent('socks5://127.0.0.1:1080');
111
+ */
112
+ agent?: unknown;
113
+ /**
114
+ * Proxy agent for media upload/download (fetch requests)
115
+ * If not provided, uses same as 'agent'
116
+ *
117
+ * @example
118
+ * import { HttpsProxyAgent } from 'https-proxy-agent';
119
+ * const fetchAgent = new HttpsProxyAgent('http://proxy:8080');
120
+ */
121
+ fetchAgent?: unknown;
82
122
  onQRUpdated?: (qr: string) => void;
83
123
  onConnected?: () => void;
84
124
  onConnecting?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,eAAe;IAC5D;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C;;;OAGG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAGvC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,iCAAiC;IAChD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EACX,OAAO,GACP,SAAS,GACT,QAAQ,GACR,WAAW,GACX,MAAM,GACN,QAAQ,CAAC;CACZ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Socket/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Socket/index.ts"],"names":[],"mappings":"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"}
@@ -61,31 +61,74 @@ const mongodb_1 = require("mongodb");
61
61
  const mongo_auth_state_1 = require("../Utils/mongo-auth-state");
62
62
  const create_delay_1 = require("../Utils/create-delay");
63
63
  const sessions = new Map();
64
+ /**
65
+ * Valid PlatformType values that WhatsApp recognizes
66
+ * These will be displayed as-is in "Linked Devices"
67
+ */
68
+ const VALID_PLATFORM_TYPES = [
69
+ "Chrome", "Firefox", "Safari", "Edge", "Opera", "IE", "Desktop"
70
+ ];
64
71
  /**
65
72
  * Helper function to generate browser configuration based on type and name
66
- * @param browserType - Browser type (ubuntu, macOS, windows, appropriate)
67
- * @param browserName - Custom browser/app name
73
+ * @param browserType - OS type (ubuntu, macOS, windows, appropriate)
74
+ * @param browserName - Browser/app name to display in WhatsApp Linked Devices
75
+ * @param displayBrowser - Browser type to display for custom names (default: Chrome)
68
76
  * @returns Browser configuration tuple for Baileys
77
+ *
78
+ * Display format in WhatsApp: `${browser[1]} (${browser[0]})`
79
+ *
80
+ * Examples:
81
+ * - browserType: "macOS", browserName: "Safari" → "Safari (Mac OS)"
82
+ * - browserType: "windows", browserName: "Chrome" → "Chrome (Windows)"
83
+ * - browserType: "windows", browserName: "My Bot" → "Chrome (My Bot)"
84
+ * - browserType: "windows", browserName: "My Bot", displayBrowser: "Safari" → "Safari (My Bot)"
69
85
  */
70
- const getBrowserConfig = (browserType = "ubuntu", browserName = "Chrome") => {
71
- let browserTuple;
86
+ const getBrowserConfig = (browserType = "ubuntu", browserName, displayBrowser = "Chrome") => {
87
+ // Default to Chrome if no browserName provided
88
+ const effectiveBrowserName = browserName || "Chrome";
89
+ // Validate displayBrowser - must be a valid PlatformType
90
+ const validDisplayBrowser = VALID_PLATFORM_TYPES.includes(displayBrowser) ? displayBrowser : "Chrome";
91
+ // Check if browserName is a valid PlatformType
92
+ const isValidPlatformType = VALID_PLATFORM_TYPES.includes(effectiveBrowserName);
93
+ if (isValidPlatformType) {
94
+ // Use standard Browsers helper - display will be "BrowserName (OsName)"
95
+ let browserTuple;
96
+ switch (browserType) {
97
+ case "macOS":
98
+ browserTuple = baileys_1.Browsers.macOS(effectiveBrowserName);
99
+ break;
100
+ case "windows":
101
+ browserTuple = baileys_1.Browsers.windows(effectiveBrowserName);
102
+ break;
103
+ case "appropriate":
104
+ browserTuple = baileys_1.Browsers.appropriate(effectiveBrowserName);
105
+ break;
106
+ case "ubuntu":
107
+ default:
108
+ browserTuple = baileys_1.Browsers.ubuntu(effectiveBrowserName);
109
+ break;
110
+ }
111
+ return [...browserTuple];
112
+ }
113
+ // For custom browserName (not a valid PlatformType):
114
+ // Put custom name in browser[0], use displayBrowser as browser[1]
115
+ // Display will be: "displayBrowser (CustomName)"
116
+ let osVersion;
72
117
  switch (browserType) {
73
118
  case "macOS":
74
- browserTuple = baileys_1.Browsers.macOS(browserName);
119
+ osVersion = "14.4.1";
75
120
  break;
76
121
  case "windows":
77
- browserTuple = baileys_1.Browsers.windows(browserName);
78
- break;
79
- case "appropriate":
80
- browserTuple = baileys_1.Browsers.appropriate(browserName);
122
+ osVersion = "10.0.22631";
81
123
  break;
82
124
  case "ubuntu":
83
125
  default:
84
- browserTuple = baileys_1.Browsers.ubuntu(browserName);
126
+ osVersion = "22.04.4";
85
127
  break;
86
128
  }
87
- // Convert readonly tuple to mutable tuple for Baileys compatibility
88
- return [...browserTuple];
129
+ // Return: [CustomName, displayBrowser, OsVersion]
130
+ // WhatsApp will display: "displayBrowser (CustomName)"
131
+ return [effectiveBrowserName, validDisplayBrowser, osVersion];
89
132
  };
90
133
  const callback = new Map();
91
134
  const retryCount = new Map();
@@ -152,7 +195,11 @@ const startSession = (...args_1) => __awaiter(void 0, [...args_1], void 0, funct
152
195
  auth: state,
153
196
  logger: P,
154
197
  markOnlineOnConnect: false,
155
- browser: getBrowserConfig(options.browserType, options.browserName),
198
+ browser: getBrowserConfig(options.browserType, options.browserName, options.displayBrowser),
199
+ // Proxy agent for WebSocket connection (optional)
200
+ agent: options.agent,
201
+ // Proxy agent for media upload/download (optional, defaults to agent)
202
+ fetchAgent: (options.fetchAgent || options.agent),
156
203
  // Configure caching group metadata using our hybrid implementation with session ID
157
204
  cachedGroupMetadata: (jid) => __awaiter(void 0, void 0, void 0, function* () {
158
205
  return yield Utils_1.groupCache.get(sessionId, jid);
@@ -319,7 +366,11 @@ const startSessionWithPairingCode = (sessionId_1, phoneNumber_1, ...args_1) => _
319
366
  auth: state,
320
367
  logger: P,
321
368
  markOnlineOnConnect: false,
322
- browser: getBrowserConfig(options.browserType, options.browserName),
369
+ browser: getBrowserConfig(options.browserType, options.browserName, options.displayBrowser),
370
+ // Proxy agent for WebSocket connection (optional)
371
+ agent: options.agent,
372
+ // Proxy agent for media upload/download (optional, defaults to agent)
373
+ fetchAgent: (options.fetchAgent || options.agent),
323
374
  // Opsi tambahan untuk meningkatkan kompatibilitas
324
375
  linkPreviewImageThumbnailWidth: 300,
325
376
  generateHighQualityLinkPreview: true,
@@ -67,18 +67,58 @@ export interface StartSessionParams {
67
67
  */
68
68
  printQR?: boolean;
69
69
  /**
70
- * Browser type for WhatsApp connection
70
+ * Browser type for WhatsApp connection (determines OS version used)
71
71
  * Options: "ubuntu" (default), "macOS", "windows", "appropriate"
72
72
  * @default "ubuntu"
73
73
  */
74
74
  browserType?: BrowserType;
75
75
  /**
76
- * Custom browser/app name displayed in WhatsApp
77
- * This name will appear in "Linked Devices" on your phone
78
- * @default "Chrome"
79
- * @example "My Bot App"
76
+ * App/device name displayed in WhatsApp's "Linked Devices"
77
+ *
78
+ * If using valid browser name (Chrome, Safari, Firefox, Edge, Opera, IE, Desktop):
79
+ * - Display: "BrowserName (OsName)" e.g., "Safari (Mac OS)"
80
+ *
81
+ * If using custom name:
82
+ * - Display: "displayBrowser (CustomName)" e.g., "Safari (My Bot App)"
83
+ * - Default displayBrowser is "Chrome"
84
+ *
85
+ * @example "Safari" → displays as "Safari (Mac OS)"
86
+ * @example "My Bot App" → displays as "Chrome (My Bot App)" or "Safari (My Bot App)" if displayBrowser is set
80
87
  */
81
88
  browserName?: string;
89
+ /**
90
+ * Browser type to display when using custom browserName
91
+ * Only used when browserName is NOT a valid browser type
92
+ * Valid options: "Chrome" (default), "Safari", "Firefox", "Edge", "Opera", "IE", "Desktop"
93
+ *
94
+ * @example displayBrowser: "Safari", browserName: "My Bot" → displays as "Safari (My Bot)"
95
+ * @default "Chrome"
96
+ */
97
+ displayBrowser?: "Chrome" | "Safari" | "Firefox" | "Edge" | "Opera" | "IE" | "Desktop";
98
+ /**
99
+ * Proxy agent for WebSocket connection
100
+ * Use packages like 'https-proxy-agent' or 'socks-proxy-agent'
101
+ * You need to install the proxy agent package yourself
102
+ *
103
+ * @example
104
+ * // Install: npm install https-proxy-agent
105
+ * import { HttpsProxyAgent } from 'https-proxy-agent';
106
+ * const agent = new HttpsProxyAgent('http://proxy:8080');
107
+ *
108
+ * // Install: npm install socks-proxy-agent
109
+ * import { SocksProxyAgent } from 'socks-proxy-agent';
110
+ * const agent = new SocksProxyAgent('socks5://127.0.0.1:1080');
111
+ */
112
+ agent?: unknown;
113
+ /**
114
+ * Proxy agent for media upload/download (fetch requests)
115
+ * If not provided, uses same as 'agent'
116
+ *
117
+ * @example
118
+ * import { HttpsProxyAgent } from 'https-proxy-agent';
119
+ * const fetchAgent = new HttpsProxyAgent('http://proxy:8080');
120
+ */
121
+ fetchAgent?: unknown;
82
122
  onQRUpdated?: (qr: string) => void;
83
123
  onConnected?: () => void;
84
124
  onConnecting?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,eAAe;IAC5D;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C;;;OAGG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAGvC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,iCAAiC;IAChD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EACX,OAAO,GACP,SAAS,GACT,QAAQ,GACR,WAAW,GACX,MAAM,GACN,QAAQ,CAAC;CACZ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wa-multi-mongodb",
3
- "version": "3.10.6",
3
+ "version": "3.10.8",
4
4
  "description": "Multi Session Whatsapp Library with MongoDB Integration",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/index.js",
package/readme.md CHANGED
@@ -21,6 +21,7 @@ Built on [Baileys](https://github.com/WhiskeySockets/Baileys) Library.
21
21
  - Message deletion for self and others (v3.9.5+)
22
22
  - Custom browser configuration (v3.10.4+)
23
23
  - LID ↔ PN conversion utilities (v3.10.4+)
24
+ - Proxy support for WebSocket and media connections (v3.10.8+)
24
25
 
25
26
  ## Installation
26
27
 
@@ -116,10 +117,11 @@ await whatsapp.startSession("mysession2", {
116
117
  });
117
118
 
118
119
  // Start with custom browser configuration (v3.10.4+)
120
+ // Display: "Safari (Mac OS)" in WhatsApp Linked Devices
119
121
  await whatsapp.startSession("mysession3", {
120
122
  printQR: true,
121
- browserType: "windows", // Options: "ubuntu" (default), "macOS", "windows", "appropriate"
122
- browserName: "My Bot App", // Custom name shown in WhatsApp Linked Devices
123
+ browserType: "macOS", // Options: "ubuntu", "macOS", "windows", "appropriate"
124
+ browserName: "Safari", // Valid: Chrome, Safari, Firefox, Edge, Opera, IE, Desktop
123
125
  onConnected: () => console.log("Connected with custom browser!"),
124
126
  });
125
127
 
@@ -133,10 +135,11 @@ await whatsapp.startSessionWithPairingCode("mysession4", "6281234567890", {
133
135
  }
134
136
  });
135
137
 
136
- // Pairing code with custom browser
138
+ // Pairing code with valid browser config - displays "Edge (Windows)"
139
+ // ⚠️ IMPORTANT: Pairing code ONLY works with valid browser configurations!
137
140
  await whatsapp.startSessionWithPairingCode("mysession5", "6281234567890", {
138
- browserType: "macOS",
139
- browserName: "My Custom Bot",
141
+ browserType: "windows",
142
+ browserName: "Edge", // Must be valid: Chrome, Safari, Firefox, Edge, Opera, IE, Desktop
140
143
  onPairingCode: (code) => console.log("Code:", code),
141
144
  });
142
145
 
@@ -173,40 +176,174 @@ await whatsapp.reconnectAllPairingCodeSessions();
173
176
 
174
177
  ### Custom Browser Configuration (v3.10.4+)
175
178
 
176
- You can customize the browser type and name that appears in WhatsApp's "Linked Devices" list:
179
+ Customize how your session appears in WhatsApp's "Linked Devices" list.
177
180
 
178
- ```javascript
179
- // Available browser types
180
- type BrowserType = "ubuntu" | "macOS" | "windows" | "appropriate";
181
+ **Display Format in WhatsApp**: `browserName (OsName)` - e.g., "Safari (Mac OS)"
182
+
183
+ #### Valid browserName Values
184
+
185
+ These are recognized by WhatsApp and will display correctly:
186
+
187
+ | browserName | Description |
188
+ |-------------|-------------|
189
+ | `"Chrome"` | Google Chrome (default) |
190
+ | `"Safari"` | Apple Safari |
191
+ | `"Firefox"` | Mozilla Firefox |
192
+ | `"Edge"` | Microsoft Edge |
193
+ | `"Opera"` | Opera Browser |
194
+ | `"IE"` | Internet Explorer |
195
+ | `"Desktop"` | Generic Desktop App |
196
+
197
+ #### browserType Options
198
+
199
+ | browserType | OS Name Displayed | OS Version |
200
+ |-------------|-------------------|------------|
201
+ | `"ubuntu"` | Ubuntu | 22.04.4 |
202
+ | `"macOS"` | Mac OS | 14.4.1 |
203
+ | `"windows"` | Windows | 10.0.22631 |
204
+ | `"appropriate"` | Auto-detect | Based on platform |
181
205
 
182
- // Usage examples
206
+ #### Usage Examples
207
+
208
+ ```javascript
209
+ // Safari on macOS → displays as "Safari (Mac OS)"
183
210
  await whatsapp.startSession("session1", {
184
- browserType: "ubuntu", // Default - Ubuntu browser agent
185
- browserName: "Chrome", // Default - App name shown in Linked Devices
211
+ printQR: true,
212
+ browserType: "macOS",
213
+ browserName: "Safari",
186
214
  });
187
215
 
216
+ // Chrome on Windows → displays as "Chrome (Windows)"
188
217
  await whatsapp.startSession("session2", {
189
- browserType: "windows", // Windows browser agent
190
- browserName: "My Bot App", // Custom app name
218
+ printQR: true,
219
+ browserType: "windows",
220
+ browserName: "Chrome",
191
221
  });
192
222
 
223
+ // Firefox on Ubuntu → displays as "Firefox (Ubuntu)"
193
224
  await whatsapp.startSession("session3", {
194
- browserType: "macOS", // macOS browser agent
195
- browserName: "Desktop App",
225
+ printQR: true,
226
+ browserType: "ubuntu",
227
+ browserName: "Firefox",
196
228
  });
197
229
 
230
+ // Edge on Windows → displays as "Edge (Windows)"
198
231
  await whatsapp.startSession("session4", {
199
- browserType: "appropriate", // Auto-detect based on platform
200
- browserName: "Auto Bot",
232
+ printQR: true,
233
+ browserType: "windows",
234
+ browserName: "Edge",
235
+ });
236
+
237
+ // Desktop app on macOS → displays as "Desktop (Mac OS)"
238
+ await whatsapp.startSession("session5", {
239
+ printQR: true,
240
+ browserType: "macOS",
241
+ browserName: "Desktop",
242
+ });
243
+
244
+ // Custom name (fallback to Chrome) → displays as "Chrome (My Bot App)"
245
+ await whatsapp.startSession("session6", {
246
+ printQR: true,
247
+ browserType: "windows",
248
+ browserName: "My Bot App",
249
+ });
250
+
251
+ // Custom name with Safari → displays as "Safari (My Bot App)"
252
+ await whatsapp.startSession("session7", {
253
+ printQR: true,
254
+ browserType: "macOS",
255
+ browserName: "My Bot App",
256
+ displayBrowser: "Safari", // Choose which browser type to display
257
+ });
258
+
259
+ // Custom name with Firefox → displays as "Firefox (Device Bot)"
260
+ await whatsapp.startSession("session8", {
261
+ printQR: true,
262
+ browserType: "ubuntu",
263
+ browserName: "Device Bot",
264
+ displayBrowser: "Firefox",
201
265
  });
202
266
  ```
203
267
 
204
- | Browser Type | Description |
205
- |--------------|-------------|
206
- | `ubuntu` | Ubuntu browser agent (default) |
207
- | `macOS` | macOS browser agent |
208
- | `windows` | Windows browser agent |
209
- | `appropriate` | Auto-detect based on current platform |
268
+ #### displayBrowser Parameter (v3.10.5+)
269
+
270
+ When using a custom `browserName`, you can now choose which browser type to display using the `displayBrowser` parameter:
271
+
272
+ | displayBrowser | Custom Name Example | Display Result |
273
+ |----------------|---------------------|----------------|
274
+ | `"Chrome"` (default) | "My Bot" | Chrome (My Bot) |
275
+ | `"Safari"` | "My Bot" | Safari (My Bot) |
276
+ | `"Firefox"` | "My Bot" | Firefox (My Bot) |
277
+ | `"Edge"` | "My Bot" | Edge (My Bot) |
278
+ | `"Opera"` | "My Bot" | Opera (My Bot) |
279
+ | `"Desktop"` | "My Bot" | Desktop (My Bot) |
280
+
281
+ > **Note**: `displayBrowser` is only used when `browserName` is a custom name (not a valid browser type like Chrome, Safari, etc.).
282
+
283
+ > [!WARNING]
284
+ > **Custom browserName and displayBrowser are NOT supported for Pairing Code sessions!**
285
+ >
286
+ > WhatsApp server validates browser configuration strictly during pairing code authentication. You MUST use valid browser configurations for pairing code:
287
+ >
288
+ > | browserType | browserName | Display | Pairing Code |
289
+ > |-------------|-------------|---------|--------------|
290
+ > | `"windows"` | `"Chrome"` | Chrome (Windows) | ✅ Works |
291
+ > | `"macOS"` | `"Safari"` | Safari (Mac OS) | ✅ Works |
292
+ > | `"windows"` | `"Edge"` | Edge (Windows) | ✅ Works |
293
+ > | `"ubuntu"` | `"Firefox"` | Firefox (Ubuntu) | ✅ Works |
294
+ > | `"windows"` | `"My Bot"` | Chrome (My Bot) | ❌ Fails |
295
+ >
296
+ > Custom names (like "My Bot App") only work with **QR Code** authentication.
297
+
298
+ ### Proxy Support (v3.10.8+)
299
+
300
+ You can use a proxy for WebSocket connections and media upload/download. **No additional dependencies are included** - install your preferred proxy agent package if needed.
301
+
302
+ #### Install Proxy Agent (User's Choice)
303
+
304
+ ```bash
305
+ # For HTTP/HTTPS proxy
306
+ npm install https-proxy-agent
307
+
308
+ # For SOCKS4/SOCKS5 proxy
309
+ npm install socks-proxy-agent
310
+ ```
311
+
312
+ #### Usage Examples
313
+
314
+ ```javascript
315
+ // Using HTTPS proxy
316
+ import { HttpsProxyAgent } from 'https-proxy-agent';
317
+
318
+ const proxyAgent = new HttpsProxyAgent('http://proxy.example.com:8080');
319
+ // With authentication: new HttpsProxyAgent('http://user:pass@proxy.example.com:8080');
320
+
321
+ await whatsapp.startSession("mysession", {
322
+ printQR: true,
323
+ agent: proxyAgent, // Proxy for WebSocket connection
324
+ fetchAgent: proxyAgent, // Proxy for media upload/download (optional, defaults to agent)
325
+ });
326
+
327
+ // Using SOCKS5 proxy
328
+ import { SocksProxyAgent } from 'socks-proxy-agent';
329
+
330
+ const socksAgent = new SocksProxyAgent('socks5://127.0.0.1:1080');
331
+ // With authentication: new SocksProxyAgent('socks5://user:pass@127.0.0.1:1080');
332
+
333
+ await whatsapp.startSessionWithPairingCode("mysession", "6281234567890", {
334
+ browserType: "windows",
335
+ browserName: "Chrome",
336
+ agent: socksAgent,
337
+ });
338
+ ```
339
+
340
+ | Option | Type | Description |
341
+ |--------|------|-------------|
342
+ | `agent` | `Agent` | Proxy agent for WebSocket connection |
343
+ | `fetchAgent` | `Agent` | Proxy agent for media upload/download (defaults to `agent`) |
344
+
345
+ > **Note**: Proxy is optional. If not provided, direct connection is used.
346
+
210
347
 
211
348
 
212
349
  ### Sending Messages
@@ -812,8 +949,7 @@ async function startPairingApp() {
812
949
  const yourPhoneNumber = "6281234567890"; // Replace with your phone number
813
950
 
814
951
  try {
815
- await whatsapp.startSessionWithPairingCode(pairingSessionId, {
816
- mobile: yourPhoneNumber,
952
+ await whatsapp.startSessionWithPairingCode(pairingSessionId, yourPhoneNumber, {
817
953
  onConnected: () => {
818
954
  console.log("Pairing session connected successfully!");
819
955
  sessionStatus[pairingSessionId] = 'connected';