@badzz88/baileys 8.5.6 → 8.5.7

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.
Files changed (279) hide show
  1. package/README.md +2 -2
  2. package/WAProto/WAProto.proto +75 -1256
  3. package/WAProto/fix-imports.js +79 -69
  4. package/WAProto/index.d.ts +71491 -15254
  5. package/WAProto/index.js +126432 -19810
  6. package/engine-requirements.js +4 -3
  7. package/lib/Defaults/index.js +187 -0
  8. package/lib/Signal/Group/ciphertext-message.js +15 -0
  9. package/lib/Signal/Group/group-session-builder.js +92 -0
  10. package/lib/Signal/Group/group_cipher.js +89 -0
  11. package/lib/Signal/Group/index.js +136 -0
  12. package/lib/Signal/Group/keyhelper.js +73 -0
  13. package/lib/Signal/Group/sender-chain-key.js +32 -0
  14. package/lib/Signal/Group/sender-key-distribution-message.js +66 -0
  15. package/lib/Signal/Group/sender-key-message.js +69 -0
  16. package/lib/Signal/Group/sender-key-name.js +50 -0
  17. package/lib/Signal/Group/sender-key-record.js +44 -0
  18. package/lib/Signal/Group/sender-key-state.js +97 -0
  19. package/lib/Signal/Group/sender-message-key.js +30 -0
  20. package/lib/Signal/libsignal.js +459 -0
  21. package/lib/Signal/lid-mapping.js +260 -0
  22. package/lib/Socket/Client/index.js +30 -0
  23. package/lib/Socket/Client/types.js +13 -0
  24. package/lib/Socket/Client/websocket.js +62 -0
  25. package/lib/Socket/aigroups.js +240 -0
  26. package/lib/Socket/business.js +422 -0
  27. package/lib/Socket/chats.js +1816 -0
  28. package/lib/Socket/communities.js +549 -0
  29. package/lib/Socket/graphql.js +656 -0
  30. package/lib/Socket/groups.js +764 -0
  31. package/lib/Socket/index.js +39 -0
  32. package/lib/Socket/interactive-handler.js +522 -0
  33. package/lib/Socket/interop.js +549 -0
  34. package/{src → lib}/Socket/luxu.js +120 -82
  35. package/lib/Socket/managed-account.js +183 -0
  36. package/lib/Socket/messages-recv.js +2442 -0
  37. package/lib/Socket/messages-send.js +1853 -0
  38. package/lib/Socket/mex.js +60 -0
  39. package/lib/Socket/newsletter.js +818 -0
  40. package/lib/Socket/privacy.js +449 -0
  41. package/lib/Socket/registration.js +427 -0
  42. package/lib/Socket/socket.js +1092 -0
  43. package/lib/Socket/text-router.js +83 -0
  44. package/lib/Socket/username.js +243 -0
  45. package/lib/Store/index.js +36 -0
  46. package/{src → lib}/Store/keyed-db.js +11 -21
  47. package/lib/Store/make-cache-manager-store.js +90 -0
  48. package/lib/Store/make-in-memory-store.js +604 -0
  49. package/lib/Store/make-ordered-dictionary.js +81 -0
  50. package/lib/Store/object-repository.js +29 -0
  51. package/lib/Types/Auth.js +38 -0
  52. package/lib/Types/Bussines.js +2 -0
  53. package/lib/Types/Call.js +2 -0
  54. package/lib/Types/Chat.js +4 -0
  55. package/lib/Types/Contact.js +2 -0
  56. package/lib/Types/Events.js +2 -0
  57. package/lib/Types/GroupMetadata.js +2 -0
  58. package/lib/Types/Label.js +27 -0
  59. package/lib/Types/LabelAssociation.js +9 -0
  60. package/lib/Types/Message.js +95 -0
  61. package/lib/Types/Mex.js +112 -0
  62. package/lib/Types/Newsletter.js +121 -0
  63. package/lib/Types/Product.js +2 -0
  64. package/lib/Types/Signal.js +2 -0
  65. package/lib/Types/Socket.js +2 -0
  66. package/lib/Types/State.js +70 -0
  67. package/lib/Types/USync.js +2 -0
  68. package/lib/Types/index.js +55 -0
  69. package/lib/Utils/auth-utils.js +306 -0
  70. package/lib/Utils/browser-utils.js +114 -0
  71. package/lib/Utils/business.js +247 -0
  72. package/lib/Utils/chat-utils.js +1208 -0
  73. package/lib/Utils/command-loader.d.ts +31 -0
  74. package/lib/Utils/command-loader.js +100 -0
  75. package/lib/Utils/companion-reg-client-utils.js +42 -0
  76. package/lib/Utils/consumer-application.js +107 -0
  77. package/lib/Utils/crypto.js +155 -0
  78. package/lib/Utils/curve25519-js.js +275 -0
  79. package/lib/Utils/decode-wa-message.js +560 -0
  80. package/lib/Utils/event-buffer.js +607 -0
  81. package/lib/Utils/generics.js +563 -0
  82. package/lib/Utils/group-history.js +60 -0
  83. package/lib/Utils/history.js +244 -0
  84. package/lib/Utils/identity-change-handler.js +52 -0
  85. package/lib/Utils/index.js +57 -0
  86. package/lib/Utils/jid-display-normalization.js +218 -0
  87. package/lib/Utils/link-preview.js +143 -0
  88. package/lib/Utils/logger.js +9 -0
  89. package/lib/Utils/lt-hash.js +39 -0
  90. package/lib/Utils/make-mutex.js +36 -0
  91. package/lib/Utils/message-composer.js +479 -0
  92. package/lib/Utils/message-retry-manager.js +270 -0
  93. package/lib/Utils/messages-media.js +896 -0
  94. package/lib/Utils/messages.js +2904 -0
  95. package/lib/Utils/meta-ai-msmsg.js +262 -0
  96. package/lib/Utils/native-bridge.js +82 -0
  97. package/lib/Utils/noise-handler.js +196 -0
  98. package/lib/Utils/offline-node-processor.js +42 -0
  99. package/lib/Utils/pre-key-manager.js +107 -0
  100. package/lib/Utils/process-message.js +1048 -0
  101. package/lib/Utils/reporting-utils.js +262 -0
  102. package/lib/Utils/session-pool.d.ts +16 -0
  103. package/lib/Utils/session-pool.js +94 -0
  104. package/lib/Utils/signal.js +224 -0
  105. package/lib/Utils/stanza-ack.js +40 -0
  106. package/lib/Utils/sticker.d.ts +17 -0
  107. package/lib/Utils/sticker.js +145 -0
  108. package/lib/Utils/sync-action-utils.js +54 -0
  109. package/lib/Utils/tc-token-utils.js +161 -0
  110. package/lib/Utils/use-multi-file-auth-state.js +121 -0
  111. package/lib/Utils/validate-connection.js +219 -0
  112. package/lib/Utils/view-once-cache.d.ts +9 -0
  113. package/lib/Utils/view-once-cache.js +79 -0
  114. package/lib/Utils/voip-rekey.js +22 -0
  115. package/lib/WABinary/constants.js +1304 -0
  116. package/lib/WABinary/decode.js +343 -0
  117. package/{src → lib}/WABinary/encode.js +12 -9
  118. package/lib/WABinary/generic-utils.js +240 -0
  119. package/lib/WABinary/index.js +33 -0
  120. package/lib/WABinary/jid-utils.js +361 -0
  121. package/lib/WABinary/types.js +2 -0
  122. package/lib/WAM/BinaryInfo.js +13 -0
  123. package/lib/WAM/constants.js +39486 -0
  124. package/lib/WAM/encode.js +142 -0
  125. package/lib/WAM/index.js +31 -0
  126. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +55 -0
  127. package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +43 -0
  128. package/lib/WAUSync/Protocols/USyncContactProtocol.js +54 -0
  129. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
  130. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
  131. package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +59 -0
  132. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +31 -0
  133. package/lib/WAUSync/Protocols/USyncPictureProtocol.js +32 -0
  134. package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +29 -0
  135. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +39 -0
  136. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +38 -0
  137. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +27 -0
  138. package/lib/WAUSync/Protocols/index.js +39 -0
  139. package/lib/WAUSync/USyncQuery.js +133 -0
  140. package/lib/WAUSync/USyncUser.js +50 -0
  141. package/lib/WAUSync/index.js +31 -0
  142. package/lib/antiban.js +4637 -0
  143. package/{src → lib}/index.js +49 -51
  144. package/package.json +4 -4
  145. package/src/Defaults/index.js +0 -186
  146. package/src/Signal/Group/ciphertext-message.js +0 -15
  147. package/src/Signal/Group/group-session-builder.js +0 -86
  148. package/src/Signal/Group/group_cipher.js +0 -82
  149. package/src/Signal/Group/index.js +0 -140
  150. package/src/Signal/Group/keyhelper.js +0 -77
  151. package/src/Signal/Group/sender-chain-key.js +0 -29
  152. package/src/Signal/Group/sender-key-distribution-message.js +0 -66
  153. package/src/Signal/Group/sender-key-message.js +0 -69
  154. package/src/Signal/Group/sender-key-name.js +0 -51
  155. package/src/Signal/Group/sender-key-record.js +0 -44
  156. package/src/Signal/Group/sender-key-state.js +0 -87
  157. package/src/Signal/Group/sender-message-key.js +0 -29
  158. package/src/Signal/libsignal.js +0 -455
  159. package/src/Signal/lid-mapping.js +0 -273
  160. package/src/Socket/Client/index.js +0 -31
  161. package/src/Socket/Client/types.js +0 -13
  162. package/src/Socket/Client/websocket.js +0 -61
  163. package/src/Socket/aigroups.js +0 -221
  164. package/src/Socket/business.js +0 -411
  165. package/src/Socket/chats.js +0 -1449
  166. package/src/Socket/communities.js +0 -463
  167. package/src/Socket/graphql.js +0 -523
  168. package/src/Socket/groups.js +0 -516
  169. package/src/Socket/index.js +0 -31
  170. package/src/Socket/interactive-handler.js +0 -527
  171. package/src/Socket/interop.js +0 -339
  172. package/src/Socket/managed-account.js +0 -98
  173. package/src/Socket/messages-recv.js +0 -2685
  174. package/src/Socket/messages-send.js +0 -2047
  175. package/src/Socket/mex.js +0 -57
  176. package/src/Socket/newsletter.js +0 -455
  177. package/src/Socket/privacy.js +0 -125
  178. package/src/Socket/registration.js +0 -236
  179. package/src/Socket/socket.js +0 -983
  180. package/src/Socket/text-router.js +0 -65
  181. package/src/Socket/username.js +0 -130
  182. package/src/Store/index.js +0 -33
  183. package/src/Store/make-cache-manager-store.js +0 -84
  184. package/src/Store/make-in-memory-store.js +0 -551
  185. package/src/Store/make-ordered-dictionary.js +0 -81
  186. package/src/Store/object-repository.js +0 -26
  187. package/src/Types/Auth.js +0 -31
  188. package/src/Types/Bussines.js +0 -2
  189. package/src/Types/Call.js +0 -2
  190. package/src/Types/Chat.js +0 -4
  191. package/src/Types/Contact.js +0 -2
  192. package/src/Types/Events.js +0 -2
  193. package/src/Types/GroupMetadata.js +0 -2
  194. package/src/Types/Label.js +0 -26
  195. package/src/Types/LabelAssociation.js +0 -8
  196. package/src/Types/Message.js +0 -93
  197. package/src/Types/Mex.js +0 -112
  198. package/src/Types/Newsletter.js +0 -109
  199. package/src/Types/Product.js +0 -2
  200. package/src/Types/Signal.js +0 -2
  201. package/src/Types/Socket.js +0 -2
  202. package/src/Types/State.js +0 -62
  203. package/src/Types/USync.js +0 -2
  204. package/src/Types/index.js +0 -56
  205. package/src/Utils/auth-utils.js +0 -254
  206. package/src/Utils/browser-utils.js +0 -112
  207. package/src/Utils/business.js +0 -240
  208. package/src/Utils/chat-utils.js +0 -1230
  209. package/src/Utils/command-loader.d.ts +0 -27
  210. package/src/Utils/command-loader.js +0 -89
  211. package/src/Utils/companion-reg-client-utils.js +0 -40
  212. package/src/Utils/consumer-application.js +0 -105
  213. package/src/Utils/crypto.js +0 -118
  214. package/src/Utils/curve25519-js.js +0 -242
  215. package/src/Utils/decode-wa-message.js +0 -529
  216. package/src/Utils/event-buffer.js +0 -580
  217. package/src/Utils/generics.js +0 -483
  218. package/src/Utils/group-history.js +0 -44
  219. package/src/Utils/history.js +0 -232
  220. package/src/Utils/identity-change-handler.js +0 -52
  221. package/src/Utils/index.js +0 -58
  222. package/src/Utils/jid-display-normalization.js +0 -195
  223. package/src/Utils/link-preview.js +0 -135
  224. package/src/Utils/logger.js +0 -8
  225. package/src/Utils/lt-hash.js +0 -25
  226. package/src/Utils/make-mutex.js +0 -36
  227. package/src/Utils/message-composer.js +0 -471
  228. package/src/Utils/message-retry-manager.js +0 -217
  229. package/src/Utils/messages-media.js +0 -843
  230. package/src/Utils/messages.js +0 -2817
  231. package/src/Utils/meta-ai-msmsg.js +0 -222
  232. package/src/Utils/native-bridge.js +0 -68
  233. package/src/Utils/noise-handler.js +0 -169
  234. package/src/Utils/offline-node-processor.js +0 -34
  235. package/src/Utils/pre-key-manager.js +0 -90
  236. package/src/Utils/process-message.js +0 -950
  237. package/src/Utils/reporting-utils.js +0 -261
  238. package/src/Utils/session-pool.d.ts +0 -14
  239. package/src/Utils/session-pool.js +0 -70
  240. package/src/Utils/signal.js +0 -217
  241. package/src/Utils/stanza-ack.js +0 -30
  242. package/src/Utils/sticker.d.ts +0 -13
  243. package/src/Utils/sticker.js +0 -123
  244. package/src/Utils/sync-action-utils.js +0 -45
  245. package/src/Utils/tc-token-utils.js +0 -158
  246. package/src/Utils/use-multi-file-auth-state.js +0 -111
  247. package/src/Utils/validate-connection.js +0 -209
  248. package/src/Utils/view-once-cache.d.ts +0 -12
  249. package/src/Utils/view-once-cache.js +0 -63
  250. package/src/Utils/voip-rekey.js +0 -22
  251. package/src/WABinary/constants.js +0 -1304
  252. package/src/WABinary/decode.js +0 -342
  253. package/src/WABinary/generic-utils.js +0 -238
  254. package/src/WABinary/index.js +0 -34
  255. package/src/WABinary/jid-utils.js +0 -351
  256. package/src/WABinary/types.js +0 -2
  257. package/src/WAM/BinaryInfo.js +0 -13
  258. package/src/WAM/constants.js +0 -39484
  259. package/src/WAM/encode.js +0 -149
  260. package/src/WAM/index.js +0 -32
  261. package/src/WAUSync/Protocols/USyncBotProfileProtocol.js +0 -53
  262. package/src/WAUSync/Protocols/USyncBusinessProtocol.js +0 -44
  263. package/src/WAUSync/Protocols/USyncContactProtocol.js +0 -55
  264. package/src/WAUSync/Protocols/USyncDeviceProtocol.js +0 -55
  265. package/src/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -31
  266. package/src/WAUSync/Protocols/USyncFeatureProtocol.js +0 -54
  267. package/src/WAUSync/Protocols/USyncLIDProtocol.js +0 -32
  268. package/src/WAUSync/Protocols/USyncNewsletterProtocol.js +0 -473
  269. package/src/WAUSync/Protocols/USyncPictureProtocol.js +0 -34
  270. package/src/WAUSync/Protocols/USyncSidelistProtocol.js +0 -29
  271. package/src/WAUSync/Protocols/USyncStatusProtocol.js +0 -42
  272. package/src/WAUSync/Protocols/USyncTextStatusProtocol.js +0 -38
  273. package/src/WAUSync/Protocols/USyncUsernameProtocol.js +0 -28
  274. package/src/WAUSync/Protocols/index.js +0 -40
  275. package/src/WAUSync/USyncQuery.js +0 -126
  276. package/src/WAUSync/USyncUser.js +0 -50
  277. package/src/WAUSync/index.js +0 -32
  278. package/src/antiban.js +0 -4152
  279. /package/{src → lib}/Defaults/phonenumber-mcc.json +0 -0
@@ -1,411 +0,0 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- exports.makeBusinessSocket = void 0;
4
- const Utils_1 = require('../Utils');
5
- const business_1 = require('../Utils/business');
6
- const WABinary_1 = require('../WABinary');
7
- const generic_utils_1 = require('../WABinary/generic-utils');
8
- const messages_recv_1 = require('./messages-recv');
9
- const makeBusinessSocket = config => {
10
- const sock = (0, messages_recv_1.makeMessagesRecvSocket)(config);
11
- const { authState, query, waUploadToServer } = sock;
12
- const updateBussinesProfile = async (args) => {
13
- const node = [];
14
- const simpleFields = ['address', 'email', 'description'];
15
- node.push(...simpleFields
16
- .filter(key => args[key] !== undefined && args[key] !== null)
17
- .map(key => ({
18
- tag: key,
19
- attrs: {},
20
- content: args[key]
21
- })));
22
- if (args.websites !== undefined) {
23
- node.push(...args.websites.map(website => ({
24
- tag: 'website',
25
- attrs: {},
26
- content: website
27
- })));
28
- }
29
- if (args.hours !== undefined) {
30
- node.push({
31
- tag: 'business_hours',
32
- attrs: { timezone: args.hours.timezone },
33
- content: args.hours.days.map(dayConfig => {
34
- const base = {
35
- tag: 'business_hours_config',
36
- attrs: {
37
- day_of_week: dayConfig.day,
38
- mode: dayConfig.mode
39
- }
40
- };
41
- if (dayConfig.mode === 'specific_hours') {
42
- return {
43
- ...base,
44
- attrs: {
45
- ...base.attrs,
46
- open_time: dayConfig.openTimeInMinutes,
47
- close_time: dayConfig.closeTimeInMinutes
48
- }
49
- };
50
- }
51
- return base;
52
- })
53
- });
54
- }
55
- const result = await query({
56
- tag: 'iq',
57
- attrs: {
58
- to: WABinary_1.S_WHATSAPP_NET,
59
- type: 'set',
60
- xmlns: 'w:biz'
61
- },
62
- content: [
63
- {
64
- tag: 'business_profile',
65
- attrs: {
66
- v: '3',
67
- mutation_type: 'delta'
68
- },
69
- content: node
70
- }
71
- ]
72
- });
73
- return result;
74
- };
75
- const updateCoverPhoto = async (photo) => {
76
- const { fileSha256, filePath } = await (0, Utils_1.getRawMediaUploadData)(photo, 'biz-cover-photo');
77
- const fileSha256B64 = fileSha256.toString('base64');
78
- const { meta_hmac, fbid, ts } = await waUploadToServer(filePath, {
79
- fileEncSha256B64: fileSha256B64,
80
- mediaType: 'biz-cover-photo'
81
- });
82
- await query({
83
- tag: 'iq',
84
- attrs: {
85
- to: WABinary_1.S_WHATSAPP_NET,
86
- type: 'set',
87
- xmlns: 'w:biz'
88
- },
89
- content: [
90
- {
91
- tag: 'business_profile',
92
- attrs: {
93
- v: '3',
94
- mutation_type: 'delta'
95
- },
96
- content: [
97
- {
98
- tag: 'cover_photo',
99
- attrs: { id: String(fbid), op: 'update', token: meta_hmac, ts: String(ts) }
100
- }
101
- ]
102
- }
103
- ]
104
- });
105
- return fbid;
106
- };
107
- const removeCoverPhoto = async (id) => {
108
- return await query({
109
- tag: 'iq',
110
- attrs: {
111
- to: WABinary_1.S_WHATSAPP_NET,
112
- type: 'set',
113
- xmlns: 'w:biz'
114
- },
115
- content: [
116
- {
117
- tag: 'business_profile',
118
- attrs: {
119
- v: '3',
120
- mutation_type: 'delta'
121
- },
122
- content: [
123
- {
124
- tag: 'cover_photo',
125
- attrs: { op: 'delete', id }
126
- }
127
- ]
128
- }
129
- ]
130
- });
131
- };
132
- const getCatalog = async ({ jid, limit, cursor }) => {
133
- jid = jid || authState.creds.me?.id;
134
- jid = (0, WABinary_1.jidNormalizedUser)(jid);
135
- const queryParamNodes = [
136
- {
137
- tag: 'limit',
138
- attrs: {},
139
- content: Buffer.from((limit || 10).toString())
140
- },
141
- {
142
- tag: 'width',
143
- attrs: {},
144
- content: Buffer.from('100')
145
- },
146
- {
147
- tag: 'height',
148
- attrs: {},
149
- content: Buffer.from('100')
150
- }
151
- ];
152
- if (cursor) {
153
- queryParamNodes.push({
154
- tag: 'after',
155
- attrs: {},
156
- content: cursor
157
- });
158
- }
159
- const result = await query({
160
- tag: 'iq',
161
- attrs: {
162
- to: WABinary_1.S_WHATSAPP_NET,
163
- type: 'get',
164
- xmlns: 'w:biz:catalog'
165
- },
166
- content: [
167
- {
168
- tag: 'product_catalog',
169
- attrs: {
170
- jid,
171
- allow_shop_source: 'true'
172
- },
173
- content: queryParamNodes
174
- }
175
- ]
176
- });
177
- return (0, business_1.parseCatalogNode)(result);
178
- };
179
- const getCollections = async (jid, limit = 51) => {
180
- jid = jid || authState.creds.me?.id;
181
- jid = (0, WABinary_1.jidNormalizedUser)(jid);
182
- const result = await query({
183
- tag: 'iq',
184
- attrs: {
185
- to: WABinary_1.S_WHATSAPP_NET,
186
- type: 'get',
187
- xmlns: 'w:biz:catalog',
188
- smax_id: '35'
189
- },
190
- content: [
191
- {
192
- tag: 'collections',
193
- attrs: {
194
- biz_jid: jid
195
- },
196
- content: [
197
- {
198
- tag: 'collection_limit',
199
- attrs: {},
200
- content: Buffer.from(limit.toString())
201
- },
202
- {
203
- tag: 'item_limit',
204
- attrs: {},
205
- content: Buffer.from(limit.toString())
206
- },
207
- {
208
- tag: 'width',
209
- attrs: {},
210
- content: Buffer.from('100')
211
- },
212
- {
213
- tag: 'height',
214
- attrs: {},
215
- content: Buffer.from('100')
216
- }
217
- ]
218
- }
219
- ]
220
- });
221
- return (0, business_1.parseCollectionsNode)(result);
222
- };
223
- const getOrderDetails = async (orderId, tokenBase64) => {
224
- const result = await query({
225
- tag: 'iq',
226
- attrs: {
227
- to: WABinary_1.S_WHATSAPP_NET,
228
- type: 'get',
229
- xmlns: 'fb:thrift_iq',
230
- smax_id: '5'
231
- },
232
- content: [
233
- {
234
- tag: 'order',
235
- attrs: {
236
- op: 'get',
237
- id: orderId
238
- },
239
- content: [
240
- {
241
- tag: 'image_dimensions',
242
- attrs: {},
243
- content: [
244
- {
245
- tag: 'width',
246
- attrs: {},
247
- content: Buffer.from('100')
248
- },
249
- {
250
- tag: 'height',
251
- attrs: {},
252
- content: Buffer.from('100')
253
- }
254
- ]
255
- },
256
- {
257
- tag: 'token',
258
- attrs: {},
259
- content: Buffer.from(tokenBase64)
260
- }
261
- ]
262
- }
263
- ]
264
- });
265
- return (0, business_1.parseOrderDetailsNode)(result);
266
- };
267
- const getLinkedAccounts = async () => {
268
- const result = await query({
269
- tag: 'iq',
270
- attrs: { to: WABinary_1.S_WHATSAPP_NET, type: 'get', xmlns: 'fb:thrift_iq', smax_id: '42' },
271
- content: [{ tag: 'linked_accounts', attrs: {} }]
272
- });
273
- const fbPage = (0, WABinary_1.getBinaryNodeChild)(result, 'fb_page');
274
- if (!fbPage)
275
- return undefined;
276
- const button = (0, WABinary_1.getBinaryNodeChild)(fbPage, 'whatsapp_as_page_button');
277
- return { pageInfo: fbPage.attrs, linkState: button?.attrs?.state, node: fbPage };
278
- };
279
- const getBusinessEligibility = async (features = {}) => {
280
- const attrs = {};
281
- if (features.metaVerified !== undefined)
282
- attrs.meta_verified = String(features.metaVerified);
283
- if (features.marketingMessages !== undefined)
284
- attrs.marketing_messages = String(features.marketingMessages);
285
- if (features.genai !== undefined)
286
- attrs.genai = String(features.genai);
287
- const result = await query({
288
- tag: 'iq',
289
- attrs: { to: WABinary_1.S_WHATSAPP_NET, type: 'get', xmlns: 'w:biz', smax_id: '139' },
290
- content: [{ tag: 'features', attrs }]
291
- });
292
- const mv = (0, WABinary_1.getBinaryNodeChild)(result, 'meta_verified');
293
- return mv ? { status: mv.attrs?.status, ...mv.attrs } : undefined;
294
- };
295
- const productUpdate = async (productId, update) => {
296
- update = await (0, business_1.uploadingNecessaryImagesOfProduct)(update, waUploadToServer);
297
- const editNode = (0, business_1.toProductNode)(productId, update);
298
- const result = await query({
299
- tag: 'iq',
300
- attrs: {
301
- to: WABinary_1.S_WHATSAPP_NET,
302
- type: 'set',
303
- xmlns: 'w:biz:catalog'
304
- },
305
- content: [
306
- {
307
- tag: 'product_catalog_edit',
308
- attrs: { v: '1' },
309
- content: [
310
- editNode,
311
- {
312
- tag: 'width',
313
- attrs: {},
314
- content: '100'
315
- },
316
- {
317
- tag: 'height',
318
- attrs: {},
319
- content: '100'
320
- }
321
- ]
322
- }
323
- ]
324
- });
325
- const productCatalogEditNode = (0, generic_utils_1.getBinaryNodeChild)(result, 'product_catalog_edit');
326
- const productNode = (0, generic_utils_1.getBinaryNodeChild)(productCatalogEditNode, 'product');
327
- return (0, business_1.parseProductNode)(productNode);
328
- };
329
- const productCreate = async (create) => {
330
- create.isHidden = !!create.isHidden;
331
- create = await (0, business_1.uploadingNecessaryImagesOfProduct)(create, waUploadToServer);
332
- const createNode = (0, business_1.toProductNode)(undefined, create);
333
- const result = await query({
334
- tag: 'iq',
335
- attrs: {
336
- to: WABinary_1.S_WHATSAPP_NET,
337
- type: 'set',
338
- xmlns: 'w:biz:catalog'
339
- },
340
- content: [
341
- {
342
- tag: 'product_catalog_add',
343
- attrs: { v: '1' },
344
- content: [
345
- createNode,
346
- {
347
- tag: 'width',
348
- attrs: {},
349
- content: '100'
350
- },
351
- {
352
- tag: 'height',
353
- attrs: {},
354
- content: '100'
355
- }
356
- ]
357
- }
358
- ]
359
- });
360
- const productCatalogAddNode = (0, generic_utils_1.getBinaryNodeChild)(result, 'product_catalog_add');
361
- const productNode = (0, generic_utils_1.getBinaryNodeChild)(productCatalogAddNode, 'product');
362
- return (0, business_1.parseProductNode)(productNode);
363
- };
364
- const productDelete = async (productIds) => {
365
- const result = await query({
366
- tag: 'iq',
367
- attrs: {
368
- to: WABinary_1.S_WHATSAPP_NET,
369
- type: 'set',
370
- xmlns: 'w:biz:catalog'
371
- },
372
- content: [
373
- {
374
- tag: 'product_catalog_delete',
375
- attrs: { v: '1' },
376
- content: productIds.map(id => ({
377
- tag: 'product',
378
- attrs: {},
379
- content: [
380
- {
381
- tag: 'id',
382
- attrs: {},
383
- content: Buffer.from(id)
384
- }
385
- ]
386
- }))
387
- }
388
- ]
389
- });
390
- const productCatalogDelNode = (0, generic_utils_1.getBinaryNodeChild)(result, 'product_catalog_delete');
391
- return {
392
- deleted: +(productCatalogDelNode?.attrs.deleted_count || 0)
393
- };
394
- };
395
- return {
396
- ...sock,
397
- logger: config.logger,
398
- getOrderDetails,
399
- getLinkedAccounts,
400
- getBusinessEligibility,
401
- getCatalog,
402
- getCollections,
403
- productCreate,
404
- productDelete,
405
- productUpdate,
406
- updateBussinesProfile,
407
- updateCoverPhoto,
408
- removeCoverPhoto
409
- };
410
- };
411
- exports.makeBusinessSocket = makeBusinessSocket;