@fer2809fl/baileys 7.0.1 → 7.0.2

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 (273) hide show
  1. package/README.md +259 -595
  2. package/WAProto/WAProto.proto +916 -360
  3. package/WAProto/fix-imports.js +18 -22
  4. package/WAProto/index.d.ts +15471 -8638
  5. package/WAProto/index.js +80576 -45941
  6. package/lib/Defaults/index.d.ts +14 -18
  7. package/lib/Defaults/index.d.ts.map +1 -1
  8. package/lib/Defaults/index.js +110 -115
  9. package/lib/Defaults/index.js.map +1 -1
  10. package/lib/Signal/Group/group_cipher.js.map +1 -1
  11. package/lib/Signal/Group/keyhelper.d.ts.map +1 -1
  12. package/lib/Signal/Group/keyhelper.js.map +1 -1
  13. package/lib/Signal/Group/sender-chain-key.js.map +1 -1
  14. package/lib/Signal/Group/sender-key-message.js.map +1 -1
  15. package/lib/Signal/Group/sender-message-key.js.map +1 -1
  16. package/lib/Signal/libsignal.d.ts.map +1 -1
  17. package/lib/Signal/libsignal.js +17 -45
  18. package/lib/Signal/libsignal.js.map +1 -1
  19. package/lib/Signal/lid-mapping.d.ts +0 -4
  20. package/lib/Signal/lid-mapping.d.ts.map +1 -1
  21. package/lib/Signal/lid-mapping.js +0 -6
  22. package/lib/Signal/lid-mapping.js.map +1 -1
  23. package/lib/Socket/business.d.ts +532 -280
  24. package/lib/Socket/business.d.ts.map +1 -1
  25. package/lib/Socket/business.js +401 -358
  26. package/lib/Socket/chats.d.ts +2 -22
  27. package/lib/Socket/chats.d.ts.map +1 -1
  28. package/lib/Socket/chats.js +43 -314
  29. package/lib/Socket/chats.js.map +1 -1
  30. package/lib/Socket/communities.d.ts +641 -336
  31. package/lib/Socket/communities.d.ts.map +1 -1
  32. package/lib/Socket/communities.js +3 -6
  33. package/lib/Socket/communities.js.map +1 -1
  34. package/lib/Socket/dugong.d.ts +130 -0
  35. package/lib/Socket/dugong.d.ts.map +1 -0
  36. package/lib/Socket/dugong.js +772 -0
  37. package/lib/Socket/dugong.js.map +1 -0
  38. package/lib/Socket/groups.d.ts +2 -23
  39. package/lib/Socket/groups.d.ts.map +1 -1
  40. package/lib/Socket/groups.js +8 -171
  41. package/lib/Socket/groups.js.map +1 -1
  42. package/lib/Socket/index.d.ts +631 -322
  43. package/lib/Socket/index.d.ts.map +1 -1
  44. package/lib/Socket/index.js +12 -9
  45. package/lib/Socket/index.js.map +1 -1
  46. package/lib/Socket/messages-recv.d.ts +52 -84
  47. package/lib/Socket/messages-recv.d.ts.map +1 -1
  48. package/lib/Socket/messages-recv.js +185 -686
  49. package/lib/Socket/messages-recv.js.map +1 -1
  50. package/lib/Socket/messages-send.d.ts +643 -262
  51. package/lib/Socket/messages-send.d.ts.map +1 -1
  52. package/lib/Socket/messages-send.js +1559 -1359
  53. package/lib/Socket/messages-send.js.map +1 -1
  54. package/lib/Socket/mex.d.ts +0 -1
  55. package/lib/Socket/mex.d.ts.map +1 -1
  56. package/lib/Socket/mex.js +8 -22
  57. package/lib/Socket/mex.js.map +1 -1
  58. package/lib/Socket/native-buttons.js +231 -0
  59. package/lib/Socket/newsletter.d.ts +27 -42
  60. package/lib/Socket/newsletter.d.ts.map +1 -1
  61. package/lib/Socket/newsletter.js +439 -402
  62. package/lib/Socket/newsletter.js.map +1 -1
  63. package/lib/Socket/socket.d.ts +2 -6
  64. package/lib/Socket/socket.d.ts.map +1 -1
  65. package/lib/Socket/socket.js +26 -62
  66. package/lib/Socket/socket.js.map +1 -1
  67. package/lib/Types/Auth.d.ts +0 -1
  68. package/lib/Types/Auth.d.ts.map +1 -1
  69. package/lib/Types/Bussines.d.ts +34 -22
  70. package/lib/Types/Call.d.ts +1 -1
  71. package/lib/Types/Call.d.ts.map +1 -1
  72. package/lib/Types/Chat.d.ts +0 -1
  73. package/lib/Types/Chat.d.ts.map +1 -1
  74. package/lib/Types/Contact.d.ts +0 -2
  75. package/lib/Types/Contact.d.ts.map +1 -1
  76. package/lib/Types/Events.d.ts +1 -20
  77. package/lib/Types/Events.d.ts.map +1 -1
  78. package/lib/Types/GroupMetadata.d.ts +1 -4
  79. package/lib/Types/GroupMetadata.d.ts.map +1 -1
  80. package/lib/Types/Message.d.ts +348 -354
  81. package/lib/Types/Message.d.ts.map +1 -1
  82. package/lib/Types/Message.js +0 -4
  83. package/lib/Types/Message.js.map +1 -1
  84. package/lib/Types/{Mex.d.ts → Newsletter.d.ts} +7 -26
  85. package/lib/Types/Newsletter.d.ts.map +1 -0
  86. package/lib/Types/{Mex.js → Newsletter.js} +3 -11
  87. package/lib/Types/Newsletter.js.map +1 -0
  88. package/lib/Types/Signal.d.ts +1 -12
  89. package/lib/Types/Signal.d.ts.map +1 -1
  90. package/lib/Types/Socket.d.ts +148 -135
  91. package/lib/Types/Socket.d.ts.map +1 -1
  92. package/lib/Types/Socket.js.map +1 -1
  93. package/lib/Types/State.d.ts +0 -65
  94. package/lib/Types/State.d.ts.map +1 -1
  95. package/lib/Types/State.js +0 -43
  96. package/lib/Types/State.js.map +1 -1
  97. package/lib/Types/index.d.ts +52 -52
  98. package/lib/Types/index.d.ts.map +1 -1
  99. package/lib/Types/index.js +30 -23
  100. package/lib/Types/index.js.map +1 -1
  101. package/lib/Utils/auth-utils.d.ts +0 -5
  102. package/lib/Utils/auth-utils.d.ts.map +1 -1
  103. package/lib/Utils/auth-utils.js +0 -12
  104. package/lib/Utils/auth-utils.js.map +1 -1
  105. package/lib/Utils/browser-utils.d.ts.map +1 -1
  106. package/lib/Utils/browser-utils.js +0 -1
  107. package/lib/Utils/browser-utils.js.map +1 -1
  108. package/lib/Utils/chat-utils.d.ts +4 -34
  109. package/lib/Utils/chat-utils.d.ts.map +1 -1
  110. package/lib/Utils/chat-utils.js +20 -80
  111. package/lib/Utils/chat-utils.js.map +1 -1
  112. package/lib/Utils/crypto.d.ts +12 -12
  113. package/lib/Utils/crypto.d.ts.map +1 -1
  114. package/lib/Utils/crypto.js.map +1 -1
  115. package/lib/Utils/decode-wa-message.d.ts +0 -18
  116. package/lib/Utils/decode-wa-message.d.ts.map +1 -1
  117. package/lib/Utils/decode-wa-message.js +0 -34
  118. package/lib/Utils/decode-wa-message.js.map +1 -1
  119. package/lib/Utils/event-buffer.d.ts +0 -2
  120. package/lib/Utils/event-buffer.d.ts.map +1 -1
  121. package/lib/Utils/event-buffer.js +1 -49
  122. package/lib/Utils/event-buffer.js.map +1 -1
  123. package/lib/Utils/generics.d.ts +2 -3
  124. package/lib/Utils/generics.d.ts.map +1 -1
  125. package/lib/Utils/generics.js +1 -10
  126. package/lib/Utils/generics.js.map +1 -1
  127. package/lib/Utils/history.d.ts +0 -2
  128. package/lib/Utils/history.d.ts.map +1 -1
  129. package/lib/Utils/history.js +9 -12
  130. package/lib/Utils/history.js.map +1 -1
  131. package/lib/Utils/identity-change-handler.d.ts +0 -7
  132. package/lib/Utils/identity-change-handler.d.ts.map +1 -1
  133. package/lib/Utils/identity-change-handler.js +0 -1
  134. package/lib/Utils/identity-change-handler.js.map +1 -1
  135. package/lib/Utils/index.d.ts +23 -30
  136. package/lib/Utils/index.d.ts.map +1 -1
  137. package/lib/Utils/index.js +2 -9
  138. package/lib/Utils/index.js.map +1 -1
  139. package/lib/Utils/link-preview.js +2 -2
  140. package/lib/Utils/link-preview.js.map +1 -1
  141. package/lib/Utils/message-retry-manager.d.ts +0 -5
  142. package/lib/Utils/message-retry-manager.d.ts.map +1 -1
  143. package/lib/Utils/message-retry-manager.js +0 -40
  144. package/lib/Utils/message-retry-manager.js.map +1 -1
  145. package/lib/Utils/messages-media.d.ts +13 -45
  146. package/lib/Utils/messages-media.d.ts.map +1 -1
  147. package/lib/Utils/messages-media.js +98 -293
  148. package/lib/Utils/messages-media.js.map +1 -1
  149. package/lib/Utils/messages.d.ts +3 -16
  150. package/lib/Utils/messages.d.ts.map +1 -1
  151. package/lib/Utils/messages.js +1123 -1219
  152. package/lib/Utils/messages.js.map +1 -1
  153. package/lib/Utils/noise-handler.d.ts +1 -1
  154. package/lib/Utils/process-message.d.ts.map +1 -1
  155. package/lib/Utils/process-message.js +1 -103
  156. package/lib/Utils/process-message.js.map +1 -1
  157. package/lib/Utils/rich-messages.d.ts +277 -0
  158. package/lib/Utils/rich-messages.d.ts.map +1 -0
  159. package/lib/Utils/rich-messages.js +1144 -0
  160. package/lib/Utils/rich-messages.js.map +1 -0
  161. package/lib/Utils/signal.d.ts +0 -13
  162. package/lib/Utils/signal.d.ts.map +1 -1
  163. package/lib/Utils/signal.js +0 -42
  164. package/lib/Utils/signal.js.map +1 -1
  165. package/lib/Utils/sticker-pack.d.ts +10 -0
  166. package/lib/Utils/sticker-pack.js +111 -0
  167. package/lib/Utils/sync-action-utils.d.ts.map +1 -1
  168. package/lib/Utils/sync-action-utils.js +0 -1
  169. package/lib/Utils/sync-action-utils.js.map +1 -1
  170. package/lib/Utils/tc-token-utils.d.ts +1 -26
  171. package/lib/Utils/tc-token-utils.d.ts.map +1 -1
  172. package/lib/Utils/tc-token-utils.js +5 -151
  173. package/lib/Utils/tc-token-utils.js.map +1 -1
  174. package/lib/Utils/validate-connection.d.ts +0 -1
  175. package/lib/Utils/validate-connection.d.ts.map +1 -1
  176. package/lib/Utils/validate-connection.js +3 -13
  177. package/lib/Utils/validate-connection.js.map +1 -1
  178. package/lib/WABinary/decode.d.ts +1 -1
  179. package/lib/WABinary/decode.d.ts.map +1 -1
  180. package/lib/WABinary/generic-utils.d.ts +3 -1
  181. package/lib/WABinary/generic-utils.d.ts.map +1 -1
  182. package/lib/WABinary/generic-utils.js +78 -0
  183. package/lib/WABinary/generic-utils.js.map +1 -1
  184. package/lib/WABinary/jid-utils.d.ts +0 -11
  185. package/lib/WABinary/jid-utils.d.ts.map +1 -1
  186. package/lib/WABinary/jid-utils.js +0 -33
  187. package/lib/WABinary/jid-utils.js.map +1 -1
  188. package/lib/WAM/encode.d.ts +1 -1
  189. package/lib/WAM/encode.d.ts.map +1 -1
  190. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -1
  191. package/lib/WAUSync/Protocols/USyncContactProtocol.js +3 -26
  192. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -1
  193. package/lib/WAUSync/Protocols/index.d.ts +0 -1
  194. package/lib/WAUSync/Protocols/index.d.ts.map +1 -1
  195. package/lib/WAUSync/Protocols/index.js +0 -1
  196. package/lib/WAUSync/Protocols/index.js.map +1 -1
  197. package/lib/WAUSync/USyncQuery.d.ts +0 -1
  198. package/lib/WAUSync/USyncQuery.d.ts.map +1 -1
  199. package/lib/WAUSync/USyncQuery.js +2 -6
  200. package/lib/WAUSync/USyncQuery.js.map +1 -1
  201. package/lib/WAUSync/USyncUser.d.ts +0 -4
  202. package/lib/WAUSync/USyncUser.d.ts.map +1 -1
  203. package/lib/WAUSync/USyncUser.js +0 -8
  204. package/lib/WAUSync/USyncUser.js.map +1 -1
  205. package/lib/index.d.ts +1 -1
  206. package/lib/index.d.ts.map +1 -1
  207. package/lib/index.js +1 -4
  208. package/lib/index.js.map +1 -1
  209. package/package.json +30 -34
  210. package/LICENSE +0 -21
  211. package/engine-requirements.js +0 -10
  212. package/lib/Socket/smgss.d.ts +0 -119
  213. package/lib/Socket/smgss.d.ts.map +0 -1
  214. package/lib/Socket/smgss.js +0 -453
  215. package/lib/Socket/smgss.js.map +0 -1
  216. package/lib/Store/index.d.ts +0 -4
  217. package/lib/Store/index.d.ts.map +0 -1
  218. package/lib/Store/index.js +0 -4
  219. package/lib/Store/index.js.map +0 -1
  220. package/lib/Store/make-in-memory-store.d.ts +0 -132
  221. package/lib/Store/make-in-memory-store.d.ts.map +0 -1
  222. package/lib/Store/make-in-memory-store.js +0 -450
  223. package/lib/Store/make-in-memory-store.js.map +0 -1
  224. package/lib/Store/make-ordered-dictionary.d.ts +0 -14
  225. package/lib/Store/make-ordered-dictionary.d.ts.map +0 -1
  226. package/lib/Store/make-ordered-dictionary.js +0 -80
  227. package/lib/Store/make-ordered-dictionary.js.map +0 -1
  228. package/lib/Store/object-repository.d.ts +0 -13
  229. package/lib/Store/object-repository.d.ts.map +0 -1
  230. package/lib/Store/object-repository.js +0 -24
  231. package/lib/Store/object-repository.js.map +0 -1
  232. package/lib/Types/Mex.d.ts.map +0 -1
  233. package/lib/Types/Mex.js.map +0 -1
  234. package/lib/Utils/button-handler.d.ts +0 -28
  235. package/lib/Utils/button-handler.d.ts.map +0 -1
  236. package/lib/Utils/button-handler.js +0 -140
  237. package/lib/Utils/button-handler.js.map +0 -1
  238. package/lib/Utils/companion-reg-client-utils.d.ts +0 -17
  239. package/lib/Utils/companion-reg-client-utils.d.ts.map +0 -1
  240. package/lib/Utils/companion-reg-client-utils.js +0 -35
  241. package/lib/Utils/companion-reg-client-utils.js.map +0 -1
  242. package/lib/Utils/interactive.d.ts +0 -60
  243. package/lib/Utils/interactive.d.ts.map +0 -1
  244. package/lib/Utils/interactive.js +0 -224
  245. package/lib/Utils/interactive.js.map +0 -1
  246. package/lib/Utils/message-composer.d.ts +0 -93
  247. package/lib/Utils/message-composer.d.ts.map +0 -1
  248. package/lib/Utils/message-composer.js +0 -311
  249. package/lib/Utils/message-composer.js.map +0 -1
  250. package/lib/Utils/messages-newsletter.d.ts +0 -74
  251. package/lib/Utils/messages-newsletter.d.ts.map +0 -1
  252. package/lib/Utils/messages-newsletter.js +0 -128
  253. package/lib/Utils/messages-newsletter.js.map +0 -1
  254. package/lib/Utils/shortcake-crypto.d.ts +0 -36
  255. package/lib/Utils/shortcake-crypto.d.ts.map +0 -1
  256. package/lib/Utils/shortcake-crypto.js +0 -71
  257. package/lib/Utils/shortcake-crypto.js.map +0 -1
  258. package/lib/Utils/shortcake.d.ts +0 -36
  259. package/lib/Utils/shortcake.d.ts.map +0 -1
  260. package/lib/Utils/shortcake.js +0 -162
  261. package/lib/Utils/shortcake.js.map +0 -1
  262. package/lib/Utils/use-single-file-auth-state.d.ts +0 -6
  263. package/lib/Utils/use-single-file-auth-state.d.ts.map +0 -1
  264. package/lib/Utils/use-single-file-auth-state.js +0 -111
  265. package/lib/Utils/use-single-file-auth-state.js.map +0 -1
  266. package/lib/Utils/use-sqlite-auth-state.d.ts +0 -14
  267. package/lib/Utils/use-sqlite-auth-state.d.ts.map +0 -1
  268. package/lib/Utils/use-sqlite-auth-state.js +0 -107
  269. package/lib/Utils/use-sqlite-auth-state.js.map +0 -1
  270. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +0 -10
  271. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +0 -1
  272. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
  273. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +0 -1
@@ -1,379 +1,422 @@
1
- import { getRawMediaUploadData } from '../Utils/index.js';
2
- import { parseCatalogNode, parseCollectionsNode, parseOrderDetailsNode, parseProductNode, toProductNode, uploadingNecessaryImagesOfProduct } from '../Utils/business.js';
3
- import { jidNormalizedUser, S_WHATSAPP_NET } from '../WABinary/index.js';
4
- import { getBinaryNodeChild } from '../WABinary/generic-utils.js';
5
- import { makeMessagesRecvSocket } from './messages-recv.js';
1
+ import { getRawMediaUploadData } from "../Utils/index.js";
2
+ import {
3
+ parseCatalogNode,
4
+ parseCollectionsNode,
5
+ parseOrderDetailsNode,
6
+ parseProductNode,
7
+ toProductNode,
8
+ uploadingNecessaryImagesOfProduct,
9
+ } from "../Utils/business.js";
10
+ import { jidNormalizedUser, S_WHATSAPP_NET } from "../WABinary/index.js";
11
+ import { getBinaryNodeChild } from "../WABinary/generic-utils.js";
12
+ import { makeMessagesRecvSocket } from "./messages-recv.js";
13
+
6
14
  export const makeBusinessSocket = (config) => {
7
- const sock = makeMessagesRecvSocket(config);
8
- const { authState, query, waUploadToServer } = sock;
9
- const updateBussinesProfile = async (args) => {
10
- const node = [];
11
- const simpleFields = ['address', 'email', 'description'];
12
- node.push(...simpleFields
13
- .filter(key => args[key] !== undefined && args[key] !== null)
14
- .map(key => ({
15
- tag: key,
16
- attrs: {},
17
- content: args[key]
18
- })));
19
- if (args.websites !== undefined) {
20
- node.push(...args.websites.map(website => ({
21
- tag: 'website',
22
- attrs: {},
23
- content: website
24
- })));
25
- }
26
- if (args.hours !== undefined) {
27
- node.push({
28
- tag: 'business_hours',
29
- attrs: { timezone: args.hours.timezone },
30
- content: args.hours.days.map(dayConfig => {
31
- const base = {
32
- tag: 'business_hours_config',
33
- attrs: {
34
- day_of_week: dayConfig.day,
35
- mode: dayConfig.mode
36
- }
37
- };
38
- if (dayConfig.mode === 'specific_hours') {
39
- return {
40
- ...base,
41
- attrs: {
42
- ...base.attrs,
43
- open_time: dayConfig.openTimeInMinutes,
44
- close_time: dayConfig.closeTimeInMinutes
45
- }
46
- };
47
- }
48
- return base;
49
- })
50
- });
51
- }
52
- const result = await query({
53
- tag: 'iq',
15
+ const sock = makeMessagesRecvSocket(config);
16
+ const { authState, query, waUploadToServer } = sock;
17
+
18
+ const updateBussinesProfile = async (args) => {
19
+ const node = [];
20
+ const simpleFields = ["address", "email", "description"];
21
+ node.push(
22
+ ...simpleFields
23
+ .filter((key) => args[key] !== undefined && args[key] !== null)
24
+ .map((key) => ({
25
+ tag: key,
26
+ attrs: {},
27
+ content: args[key],
28
+ })),
29
+ );
30
+ if (args.websites !== undefined) {
31
+ node.push(
32
+ ...args.websites.map((website) => ({
33
+ tag: "website",
34
+ attrs: {},
35
+ content: website,
36
+ })),
37
+ );
38
+ }
39
+ if (args.hours !== undefined) {
40
+ node.push({
41
+ tag: "business_hours",
42
+ attrs: { timezone: args.hours.timezone },
43
+ content: args.hours.days.map((dayConfig) => {
44
+ const base = {
45
+ tag: "business_hours_config",
54
46
  attrs: {
55
- to: S_WHATSAPP_NET,
56
- type: 'set',
57
- xmlns: 'w:biz'
47
+ day_of_week: dayConfig.day,
48
+ mode: dayConfig.mode,
58
49
  },
59
- content: [
60
- {
61
- tag: 'business_profile',
62
- attrs: {
63
- v: '3',
64
- mutation_type: 'delta'
65
- },
66
- content: node
67
- }
68
- ]
69
- });
70
- return result;
71
- };
72
- const updateCoverPhoto = async (photo) => {
73
- const { fileSha256, filePath } = await getRawMediaUploadData(photo, 'biz-cover-photo');
74
- const fileSha256B64 = fileSha256.toString('base64');
75
- const { meta_hmac, fbid, ts } = await waUploadToServer(filePath, {
76
- fileEncSha256B64: fileSha256B64,
77
- mediaType: 'biz-cover-photo'
78
- });
79
- await query({
80
- tag: 'iq',
81
- attrs: {
82
- to: S_WHATSAPP_NET,
83
- type: 'set',
84
- xmlns: 'w:biz'
50
+ };
51
+ if (dayConfig.mode === "specific_hours") {
52
+ return {
53
+ ...base,
54
+ attrs: {
55
+ ...base.attrs,
56
+ open_time: dayConfig.openTimeInMinutes,
57
+ close_time: dayConfig.closeTimeInMinutes,
58
+ },
59
+ };
60
+ }
61
+ return base;
62
+ }),
63
+ });
64
+ }
65
+ const result = await query({
66
+ tag: "iq",
67
+ attrs: {
68
+ to: S_WHATSAPP_NET,
69
+ type: "set",
70
+ xmlns: "w:biz",
71
+ },
72
+ content: [
73
+ {
74
+ tag: "business_profile",
75
+ attrs: {
76
+ v: "3",
77
+ mutation_type: "delta",
78
+ },
79
+ content: node,
80
+ },
81
+ ],
82
+ });
83
+ return result;
84
+ };
85
+
86
+ const updateBusinessProfile = updateBussinesProfile;
87
+
88
+ const updateCoverPhoto = async (photo) => {
89
+ const { fileSha256, filePath } = await getRawMediaUploadData(
90
+ photo,
91
+ "biz-cover-photo",
92
+ );
93
+ const fileSha256B64 = fileSha256.toString("base64");
94
+ const { meta_hmac, fbid, ts } = await waUploadToServer(filePath, {
95
+ fileEncSha256B64: fileSha256B64,
96
+ mediaType: "biz-cover-photo",
97
+ });
98
+ await query({
99
+ tag: "iq",
100
+ attrs: {
101
+ to: S_WHATSAPP_NET,
102
+ type: "set",
103
+ xmlns: "w:biz",
104
+ },
105
+ content: [
106
+ {
107
+ tag: "business_profile",
108
+ attrs: {
109
+ v: "3",
110
+ mutation_type: "delta",
111
+ },
112
+ content: [
113
+ {
114
+ tag: "cover_photo",
115
+ attrs: {
116
+ id: String(fbid),
117
+ op: "update",
118
+ token: meta_hmac,
119
+ ts: String(ts),
120
+ },
85
121
  },
86
- content: [
87
- {
88
- tag: 'business_profile',
89
- attrs: {
90
- v: '3',
91
- mutation_type: 'delta'
92
- },
93
- content: [
94
- {
95
- tag: 'cover_photo',
96
- attrs: { id: String(fbid), op: 'update', token: meta_hmac, ts: String(ts) }
97
- }
98
- ]
99
- }
100
- ]
101
- });
102
- return fbid;
103
- };
104
- const removeCoverPhoto = async (id) => {
105
- return await query({
106
- tag: 'iq',
107
- attrs: {
108
- to: S_WHATSAPP_NET,
109
- type: 'set',
110
- xmlns: 'w:biz'
122
+ ],
123
+ },
124
+ ],
125
+ });
126
+ return fbid;
127
+ };
128
+
129
+ const removeCoverPhoto = async (id) => {
130
+ return await query({
131
+ tag: "iq",
132
+ attrs: {
133
+ to: S_WHATSAPP_NET,
134
+ type: "set",
135
+ xmlns: "w:biz",
136
+ },
137
+ content: [
138
+ {
139
+ tag: "business_profile",
140
+ attrs: {
141
+ v: "3",
142
+ mutation_type: "delta",
143
+ },
144
+ content: [
145
+ {
146
+ tag: "cover_photo",
147
+ attrs: { op: "delete", id },
111
148
  },
112
- content: [
113
- {
114
- tag: 'business_profile',
115
- attrs: {
116
- v: '3',
117
- mutation_type: 'delta'
118
- },
119
- content: [
120
- {
121
- tag: 'cover_photo',
122
- attrs: { op: 'delete', id }
123
- }
124
- ]
125
- }
126
- ]
127
- });
128
- };
129
- const getCatalog = async ({ jid, limit, cursor }) => {
130
- jid = jid || authState.creds.me?.id;
131
- jid = jidNormalizedUser(jid);
132
- const queryParamNodes = [
149
+ ],
150
+ },
151
+ ],
152
+ });
153
+ };
154
+
155
+ const getCatalog = async ({ jid, limit, cursor }) => {
156
+ jid = jid || authState.creds.me?.id;
157
+ jid = jidNormalizedUser(jid);
158
+ const queryParamNodes = [
159
+ {
160
+ tag: "limit",
161
+ attrs: {},
162
+ content: Buffer.from((limit || 10).toString()),
163
+ },
164
+ {
165
+ tag: "width",
166
+ attrs: {},
167
+ content: Buffer.from("100"),
168
+ },
169
+ {
170
+ tag: "height",
171
+ attrs: {},
172
+ content: Buffer.from("100"),
173
+ },
174
+ ];
175
+ if (cursor) {
176
+ queryParamNodes.push({
177
+ tag: "after",
178
+ attrs: {},
179
+ content: cursor,
180
+ });
181
+ }
182
+ const result = await query({
183
+ tag: "iq",
184
+ attrs: {
185
+ to: S_WHATSAPP_NET,
186
+ type: "get",
187
+ xmlns: "w:biz:catalog",
188
+ },
189
+ content: [
190
+ {
191
+ tag: "product_catalog",
192
+ attrs: {
193
+ jid,
194
+ allow_shop_source: "true",
195
+ },
196
+ content: queryParamNodes,
197
+ },
198
+ ],
199
+ });
200
+ return parseCatalogNode(result);
201
+ };
202
+
203
+ const getCollections = async (jid, limit = 51) => {
204
+ jid = jid || authState.creds.me?.id;
205
+ jid = jidNormalizedUser(jid);
206
+ const result = await query({
207
+ tag: "iq",
208
+ attrs: {
209
+ to: S_WHATSAPP_NET,
210
+ type: "get",
211
+ xmlns: "w:biz:catalog",
212
+ smax_id: "35",
213
+ },
214
+ content: [
215
+ {
216
+ tag: "collections",
217
+ attrs: {
218
+ biz_jid: jid,
219
+ },
220
+ content: [
133
221
  {
134
- tag: 'limit',
135
- attrs: {},
136
- content: Buffer.from((limit || 10).toString())
222
+ tag: "collection_limit",
223
+ attrs: {},
224
+ content: Buffer.from(limit.toString()),
137
225
  },
138
226
  {
139
- tag: 'width',
140
- attrs: {},
141
- content: Buffer.from('100')
227
+ tag: "item_limit",
228
+ attrs: {},
229
+ content: Buffer.from(limit.toString()),
142
230
  },
143
231
  {
144
- tag: 'height',
145
- attrs: {},
146
- content: Buffer.from('100')
147
- }
148
- ];
149
- if (cursor) {
150
- queryParamNodes.push({
151
- tag: 'after',
152
- attrs: {},
153
- content: cursor
154
- });
155
- }
156
- const result = await query({
157
- tag: 'iq',
158
- attrs: {
159
- to: S_WHATSAPP_NET,
160
- type: 'get',
161
- xmlns: 'w:biz:catalog'
232
+ tag: "width",
233
+ attrs: {},
234
+ content: Buffer.from("100"),
162
235
  },
163
- content: [
164
- {
165
- tag: 'product_catalog',
166
- attrs: {
167
- jid,
168
- allow_shop_source: 'true'
169
- },
170
- content: queryParamNodes
171
- }
172
- ]
173
- });
174
- return parseCatalogNode(result);
175
- };
176
- const getCollections = async (jid, limit = 51) => {
177
- jid = jid || authState.creds.me?.id;
178
- jid = jidNormalizedUser(jid);
179
- const result = await query({
180
- tag: 'iq',
181
- attrs: {
182
- to: S_WHATSAPP_NET,
183
- type: 'get',
184
- xmlns: 'w:biz:catalog',
185
- smax_id: '35'
236
+ {
237
+ tag: "height",
238
+ attrs: {},
239
+ content: Buffer.from("100"),
186
240
  },
187
- content: [
241
+ ],
242
+ },
243
+ ],
244
+ });
245
+ return parseCollectionsNode(result);
246
+ };
247
+
248
+ const getOrderDetails = async (orderId, tokenBase64) => {
249
+ const result = await query({
250
+ tag: "iq",
251
+ attrs: {
252
+ to: S_WHATSAPP_NET,
253
+ type: "get",
254
+ xmlns: "fb:thrift_iq",
255
+ smax_id: "5",
256
+ },
257
+ content: [
258
+ {
259
+ tag: "order",
260
+ attrs: {
261
+ op: "get",
262
+ id: orderId,
263
+ },
264
+ content: [
265
+ {
266
+ tag: "image_dimensions",
267
+ attrs: {},
268
+ content: [
188
269
  {
189
- tag: 'collections',
190
- attrs: {
191
- biz_jid: jid
192
- },
193
- content: [
194
- {
195
- tag: 'collection_limit',
196
- attrs: {},
197
- content: Buffer.from(limit.toString())
198
- },
199
- {
200
- tag: 'item_limit',
201
- attrs: {},
202
- content: Buffer.from(limit.toString())
203
- },
204
- {
205
- tag: 'width',
206
- attrs: {},
207
- content: Buffer.from('100')
208
- },
209
- {
210
- tag: 'height',
211
- attrs: {},
212
- content: Buffer.from('100')
213
- }
214
- ]
215
- }
216
- ]
217
- });
218
- return parseCollectionsNode(result);
219
- };
220
- const getOrderDetails = async (orderId, tokenBase64) => {
221
- const result = await query({
222
- tag: 'iq',
223
- attrs: {
224
- to: S_WHATSAPP_NET,
225
- type: 'get',
226
- xmlns: 'fb:thrift_iq',
227
- smax_id: '5'
228
- },
229
- content: [
270
+ tag: "width",
271
+ attrs: {},
272
+ content: Buffer.from("100"),
273
+ },
230
274
  {
231
- tag: 'order',
232
- attrs: {
233
- op: 'get',
234
- id: orderId
235
- },
236
- content: [
237
- {
238
- tag: 'image_dimensions',
239
- attrs: {},
240
- content: [
241
- {
242
- tag: 'width',
243
- attrs: {},
244
- content: Buffer.from('100')
245
- },
246
- {
247
- tag: 'height',
248
- attrs: {},
249
- content: Buffer.from('100')
250
- }
251
- ]
252
- },
253
- {
254
- tag: 'token',
255
- attrs: {},
256
- content: Buffer.from(tokenBase64)
257
- }
258
- ]
259
- }
260
- ]
261
- });
262
- return parseOrderDetailsNode(result);
263
- };
264
- const productUpdate = async (productId, update) => {
265
- update = await uploadingNecessaryImagesOfProduct(update, waUploadToServer);
266
- const editNode = toProductNode(productId, update);
267
- const result = await query({
268
- tag: 'iq',
269
- attrs: {
270
- to: S_WHATSAPP_NET,
271
- type: 'set',
272
- xmlns: 'w:biz:catalog'
275
+ tag: "height",
276
+ attrs: {},
277
+ content: Buffer.from("100"),
278
+ },
279
+ ],
273
280
  },
274
- content: [
275
- {
276
- tag: 'product_catalog_edit',
277
- attrs: { v: '1' },
278
- content: [
279
- editNode,
280
- {
281
- tag: 'width',
282
- attrs: {},
283
- content: '100'
284
- },
285
- {
286
- tag: 'height',
287
- attrs: {},
288
- content: '100'
289
- }
290
- ]
291
- }
292
- ]
293
- });
294
- const productCatalogEditNode = getBinaryNodeChild(result, 'product_catalog_edit');
295
- const productNode = getBinaryNodeChild(productCatalogEditNode, 'product');
296
- return parseProductNode(productNode);
297
- };
298
- const productCreate = async (create) => {
299
- // ensure isHidden is defined
300
- create.isHidden = !!create.isHidden;
301
- create = await uploadingNecessaryImagesOfProduct(create, waUploadToServer);
302
- const createNode = toProductNode(undefined, create);
303
- const result = await query({
304
- tag: 'iq',
305
- attrs: {
306
- to: S_WHATSAPP_NET,
307
- type: 'set',
308
- xmlns: 'w:biz:catalog'
281
+ {
282
+ tag: "token",
283
+ attrs: {},
284
+ content: Buffer.from(tokenBase64),
309
285
  },
310
- content: [
311
- {
312
- tag: 'product_catalog_add',
313
- attrs: { v: '1' },
314
- content: [
315
- createNode,
316
- {
317
- tag: 'width',
318
- attrs: {},
319
- content: '100'
320
- },
321
- {
322
- tag: 'height',
323
- attrs: {},
324
- content: '100'
325
- }
326
- ]
327
- }
328
- ]
329
- });
330
- const productCatalogAddNode = getBinaryNodeChild(result, 'product_catalog_add');
331
- const productNode = getBinaryNodeChild(productCatalogAddNode, 'product');
332
- return parseProductNode(productNode);
333
- };
334
- const productDelete = async (productIds) => {
335
- const result = await query({
336
- tag: 'iq',
337
- attrs: {
338
- to: S_WHATSAPP_NET,
339
- type: 'set',
340
- xmlns: 'w:biz:catalog'
286
+ ],
287
+ },
288
+ ],
289
+ });
290
+ return parseOrderDetailsNode(result);
291
+ };
292
+
293
+ const productUpdate = async (productId, update) => {
294
+ update = await uploadingNecessaryImagesOfProduct(update, waUploadToServer);
295
+ const editNode = toProductNode(productId, update);
296
+ const result = await query({
297
+ tag: "iq",
298
+ attrs: {
299
+ to: S_WHATSAPP_NET,
300
+ type: "set",
301
+ xmlns: "w:biz:catalog",
302
+ },
303
+ content: [
304
+ {
305
+ tag: "product_catalog_edit",
306
+ attrs: { v: "1" },
307
+ content: [
308
+ editNode,
309
+ {
310
+ tag: "width",
311
+ attrs: {},
312
+ content: "100",
313
+ },
314
+ {
315
+ tag: "height",
316
+ attrs: {},
317
+ content: "100",
318
+ },
319
+ ],
320
+ },
321
+ ],
322
+ });
323
+ const productCatalogEditNode = getBinaryNodeChild(
324
+ result,
325
+ "product_catalog_edit",
326
+ );
327
+ const productNode = getBinaryNodeChild(productCatalogEditNode, "product");
328
+ return parseProductNode(productNode);
329
+ };
330
+
331
+ const productCreate = async (create) => {
332
+ // ensure isHidden is defined
333
+ create.isHidden = !!create.isHidden;
334
+ create = await uploadingNecessaryImagesOfProduct(create, waUploadToServer);
335
+ const createNode = toProductNode(undefined, create);
336
+ const result = await query({
337
+ tag: "iq",
338
+ attrs: {
339
+ to: S_WHATSAPP_NET,
340
+ type: "set",
341
+ xmlns: "w:biz:catalog",
342
+ },
343
+ content: [
344
+ {
345
+ tag: "product_catalog_add",
346
+ attrs: { v: "1" },
347
+ content: [
348
+ createNode,
349
+ {
350
+ tag: "width",
351
+ attrs: {},
352
+ content: "100",
341
353
  },
354
+ {
355
+ tag: "height",
356
+ attrs: {},
357
+ content: "100",
358
+ },
359
+ ],
360
+ },
361
+ ],
362
+ });
363
+ const productCatalogAddNode = getBinaryNodeChild(
364
+ result,
365
+ "product_catalog_add",
366
+ );
367
+ const productNode = getBinaryNodeChild(productCatalogAddNode, "product");
368
+ return parseProductNode(productNode);
369
+ };
370
+
371
+ const productDelete = async (productIds) => {
372
+ const result = await query({
373
+ tag: "iq",
374
+ attrs: {
375
+ to: S_WHATSAPP_NET,
376
+ type: "set",
377
+ xmlns: "w:biz:catalog",
378
+ },
379
+ content: [
380
+ {
381
+ tag: "product_catalog_delete",
382
+ attrs: { v: "1" },
383
+ content: productIds.map((id) => ({
384
+ tag: "product",
385
+ attrs: {},
342
386
  content: [
343
- {
344
- tag: 'product_catalog_delete',
345
- attrs: { v: '1' },
346
- content: productIds.map(id => ({
347
- tag: 'product',
348
- attrs: {},
349
- content: [
350
- {
351
- tag: 'id',
352
- attrs: {},
353
- content: Buffer.from(id)
354
- }
355
- ]
356
- }))
357
- }
358
- ]
359
- });
360
- const productCatalogDelNode = getBinaryNodeChild(result, 'product_catalog_delete');
361
- return {
362
- deleted: +(productCatalogDelNode?.attrs.deleted_count || 0)
363
- };
364
- };
387
+ {
388
+ tag: "id",
389
+ attrs: {},
390
+ content: Buffer.from(id),
391
+ },
392
+ ],
393
+ })),
394
+ },
395
+ ],
396
+ });
397
+ const productCatalogDelNode = getBinaryNodeChild(
398
+ result,
399
+ "product_catalog_delete",
400
+ );
365
401
  return {
366
- ...sock,
367
- logger: config.logger,
368
- getOrderDetails,
369
- getCatalog,
370
- getCollections,
371
- productCreate,
372
- productDelete,
373
- productUpdate,
374
- updateBussinesProfile,
375
- updateCoverPhoto,
376
- removeCoverPhoto
402
+ deleted: +(productCatalogDelNode?.attrs.deleted_count || 0),
377
403
  };
404
+ };
405
+
406
+ return {
407
+ ...sock,
408
+ logger: config.logger,
409
+ getOrderDetails,
410
+ getCatalog,
411
+ getCollections,
412
+ productCreate,
413
+ productDelete,
414
+ productUpdate,
415
+ updateBusinessProfile,
416
+ updateBussinesProfile,
417
+ updateCoverPhoto,
418
+ removeCoverPhoto,
419
+ };
378
420
  };
379
- //# sourceMappingURL=business.js.map
421
+
422
+ //# sourceMappingURL=business.js.map