@ubedsockets/baileys 1.6.5 → 1.6.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 (203) hide show
  1. package/WAProto/GenerateStatics.sh +4 -3
  2. package/WAProto/WAProto.proto +511 -1215
  3. package/WAProto/index.js +131318 -59331
  4. package/lib/Defaults/index.d.ts +75 -0
  5. package/lib/Defaults/index.d.ts.map +1 -0
  6. package/lib/Defaults/index.js.map +1 -0
  7. package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
  8. package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
  9. package/lib/Signal/Group/ciphertext-message.js.map +1 -0
  10. package/lib/Signal/Group/group-session-builder.d.ts +15 -0
  11. package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
  12. package/lib/Signal/Group/group-session-builder.js.map +1 -0
  13. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  14. package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
  15. package/lib/Signal/Group/group_cipher.js.map +1 -0
  16. package/lib/Signal/Group/index.d.ts +12 -0
  17. package/lib/Signal/Group/index.d.ts.map +1 -0
  18. package/lib/Signal/Group/index.js.map +1 -0
  19. package/lib/Signal/Group/keyhelper.d.ts +11 -0
  20. package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
  21. package/lib/Signal/Group/keyhelper.js.map +1 -0
  22. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  23. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
  24. package/lib/Signal/Group/sender-chain-key.js.map +1 -0
  25. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  26. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
  27. package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
  28. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  29. package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
  30. package/lib/Signal/Group/sender-key-message.js.map +1 -0
  31. package/lib/Signal/Group/sender-key-name.d.ts +18 -0
  32. package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
  33. package/lib/Signal/Group/sender-key-name.js.map +1 -0
  34. package/lib/Signal/Group/sender-key-record.d.ts +31 -0
  35. package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
  36. package/lib/Signal/Group/sender-key-record.js.map +1 -0
  37. package/lib/Signal/Group/sender-key-state.d.ts +39 -0
  38. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
  39. package/lib/Signal/Group/sender-key-state.js.map +1 -0
  40. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  41. package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
  42. package/lib/Signal/Group/sender-message-key.js.map +1 -0
  43. package/lib/Signal/libsignal.d.ts +5 -0
  44. package/lib/Signal/libsignal.d.ts.map +1 -0
  45. package/lib/Signal/libsignal.js.map +1 -0
  46. package/lib/Signal/lid-mapping.d.ts +23 -0
  47. package/lib/Signal/lid-mapping.d.ts.map +1 -0
  48. package/lib/Signal/lid-mapping.js +277 -0
  49. package/lib/Signal/lid-mapping.js.map +1 -0
  50. package/lib/Socket/Client/index.js +18 -3
  51. package/lib/Socket/Client/types.js +6 -4
  52. package/lib/Socket/Client/websocket.js +78 -21
  53. package/lib/Socket/business.js +43 -162
  54. package/lib/Socket/chats.js +249 -571
  55. package/lib/Socket/groups.js +99 -114
  56. package/lib/Socket/index.js +9 -11
  57. package/lib/Socket/messages-recv.js +559 -1277
  58. package/lib/Socket/messages-send.js +669 -674
  59. package/lib/Socket/newsletter.js +286 -149
  60. package/lib/Types/Auth.d.ts +117 -0
  61. package/lib/Types/Auth.d.ts.map +1 -0
  62. package/lib/Types/Auth.js.map +1 -0
  63. package/lib/Types/Bussines.d.ts +25 -0
  64. package/lib/Types/Bussines.d.ts.map +1 -0
  65. package/lib/Types/Bussines.js +2 -0
  66. package/lib/Types/Bussines.js.map +1 -0
  67. package/lib/Types/Call.d.ts +15 -0
  68. package/lib/Types/Call.d.ts.map +1 -0
  69. package/lib/Types/Call.js.map +1 -0
  70. package/lib/Types/Chat.d.ts +124 -0
  71. package/lib/Types/Chat.d.ts.map +1 -0
  72. package/lib/Types/Chat.js.map +1 -0
  73. package/lib/Types/Contact.d.ts +26 -0
  74. package/lib/Types/Contact.d.ts.map +1 -0
  75. package/lib/Types/Contact.js.map +1 -0
  76. package/lib/Types/Events.d.ts +256 -0
  77. package/lib/Types/Events.d.ts.map +1 -0
  78. package/lib/Types/Events.js.map +1 -0
  79. package/lib/Types/GroupMetadata.d.ts +71 -0
  80. package/lib/Types/GroupMetadata.d.ts.map +1 -0
  81. package/lib/Types/GroupMetadata.js.map +1 -0
  82. package/lib/Types/Label.d.ts +47 -0
  83. package/lib/Types/Label.d.ts.map +1 -0
  84. package/lib/Types/Label.js.map +1 -0
  85. package/lib/Types/LabelAssociation.d.ts +30 -0
  86. package/lib/Types/LabelAssociation.d.ts.map +1 -0
  87. package/lib/Types/LabelAssociation.js.map +1 -0
  88. package/lib/Types/Message.d.ts +320 -0
  89. package/lib/Types/Message.d.ts.map +1 -0
  90. package/lib/Types/Message.js.map +1 -0
  91. package/lib/Types/Mex.d.ts +141 -0
  92. package/lib/Types/Mex.d.ts.map +1 -0
  93. package/lib/Types/Mex.js +37 -0
  94. package/lib/Types/Mex.js.map +1 -0
  95. package/lib/Types/Product.d.ts +79 -0
  96. package/lib/Types/Product.d.ts.map +1 -0
  97. package/lib/Types/Product.js.map +1 -0
  98. package/lib/Types/Signal.d.ts +87 -0
  99. package/lib/Types/Signal.d.ts.map +1 -0
  100. package/lib/Types/Signal.js.map +1 -0
  101. package/lib/Types/Socket.d.ts +136 -0
  102. package/lib/Types/Socket.d.ts.map +1 -0
  103. package/lib/Types/Socket.js.map +1 -0
  104. package/lib/Types/State.d.ts +97 -0
  105. package/lib/Types/State.d.ts.map +1 -0
  106. package/lib/Types/State.js.map +1 -0
  107. package/lib/Types/USync.d.ts +26 -0
  108. package/lib/Types/USync.d.ts.map +1 -0
  109. package/lib/Types/USync.js.map +1 -0
  110. package/lib/Types/index.d.ts +65 -0
  111. package/lib/Types/index.d.ts.map +1 -0
  112. package/lib/Types/index.js.map +1 -0
  113. package/lib/Utils/auth-utils.js +136 -239
  114. package/lib/Utils/business.js +69 -66
  115. package/lib/Utils/chat-utils.js +238 -380
  116. package/lib/Utils/crypto.js +127 -56
  117. package/lib/Utils/decode-wa-message.js +63 -173
  118. package/lib/Utils/event-buffer.js +70 -174
  119. package/lib/Utils/generics.js +207 -159
  120. package/lib/Utils/history.js +53 -93
  121. package/lib/Utils/index.js +33 -22
  122. package/lib/Utils/link-preview.js +58 -17
  123. package/lib/Utils/logger.js +7 -3
  124. package/lib/Utils/lt-hash.js +46 -3
  125. package/lib/Utils/make-mutex.js +34 -24
  126. package/lib/Utils/messages-media.js +744 -483
  127. package/lib/Utils/messages.js +621 -411
  128. package/lib/Utils/noise-handler.js +99 -149
  129. package/lib/Utils/process-message.js +150 -459
  130. package/lib/Utils/signal.js +73 -112
  131. package/lib/Utils/use-multi-file-auth-state.js +27 -23
  132. package/lib/Utils/validate-connection.js +104 -74
  133. package/lib/WABinary/constants.d.ts +28 -0
  134. package/lib/WABinary/constants.d.ts.map +1 -0
  135. package/lib/WABinary/constants.js.map +1 -0
  136. package/lib/WABinary/decode.d.ts +7 -0
  137. package/lib/WABinary/decode.d.ts.map +1 -0
  138. package/lib/WABinary/decode.js.map +1 -0
  139. package/lib/WABinary/encode.d.ts +3 -0
  140. package/lib/WABinary/encode.d.ts.map +1 -0
  141. package/lib/WABinary/encode.js.map +1 -0
  142. package/lib/WABinary/generic-utils.d.ts +15 -0
  143. package/lib/WABinary/generic-utils.d.ts.map +1 -0
  144. package/lib/WABinary/generic-utils.js.map +1 -0
  145. package/lib/WABinary/index.d.ts +6 -0
  146. package/lib/WABinary/index.d.ts.map +1 -0
  147. package/lib/WABinary/index.js.map +1 -0
  148. package/lib/WABinary/jid-utils.d.ts +48 -0
  149. package/lib/WABinary/jid-utils.d.ts.map +1 -0
  150. package/lib/WABinary/jid-utils.js.map +1 -0
  151. package/lib/WABinary/types.d.ts +19 -0
  152. package/lib/WABinary/types.d.ts.map +1 -0
  153. package/lib/WABinary/types.js.map +1 -0
  154. package/lib/WAM/BinaryInfo.d.ts +9 -0
  155. package/lib/WAM/BinaryInfo.d.ts.map +1 -0
  156. package/lib/WAM/BinaryInfo.js.map +1 -0
  157. package/lib/WAM/constants.d.ts +40 -0
  158. package/lib/WAM/constants.d.ts.map +1 -0
  159. package/lib/WAM/constants.js.map +1 -0
  160. package/lib/WAM/encode.d.ts +3 -0
  161. package/lib/WAM/encode.d.ts.map +1 -0
  162. package/lib/WAM/encode.js.map +1 -0
  163. package/lib/WAM/index.d.ts +4 -0
  164. package/lib/WAM/index.d.ts.map +1 -0
  165. package/lib/WAM/index.js.map +1 -0
  166. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  167. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
  168. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
  169. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  170. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
  171. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
  172. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  173. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
  174. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
  175. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  176. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
  177. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
  178. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  179. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  180. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  181. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  182. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +26 -0
  183. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
  184. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
  185. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +10 -0
  186. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
  187. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
  188. package/lib/WAUSync/Protocols/index.d.ts +6 -0
  189. package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
  190. package/lib/WAUSync/Protocols/index.js.map +1 -0
  191. package/lib/WAUSync/USyncQuery.d.ts +30 -0
  192. package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
  193. package/lib/WAUSync/USyncQuery.js.map +1 -0
  194. package/lib/WAUSync/USyncUser.d.ts +17 -0
  195. package/lib/WAUSync/USyncUser.d.ts.map +1 -0
  196. package/lib/WAUSync/USyncUser.js.map +1 -0
  197. package/lib/WAUSync/index.d.ts +4 -0
  198. package/lib/WAUSync/index.d.ts.map +1 -0
  199. package/lib/WAUSync/index.js.map +1 -0
  200. package/lib/index.d.ts +12 -0
  201. package/lib/index.d.ts.map +1 -0
  202. package/lib/index.js.map +1 -0
  203. package/package.json +1 -1
@@ -1,181 +1,318 @@
1
- import { QueryIds, XWAPaths } from '../Types/index.js';
2
- import { generateProfilePicture } from '../Utils/messages-media.js';
3
- import { getBinaryNodeChild } from '../WABinary/index.js';
4
- import { makeGroupsSocket } from './groups.js';
5
- import { executeWMexQuery as genericExecuteWMexQuery } from './mex.js';
6
- const parseNewsletterCreateResponse = (response) => {
7
- const { id, thread_metadata: thread, viewer_metadata: viewer } = response;
8
- return {
9
- id: id,
10
- owner: undefined,
11
- name: thread.name.text,
12
- creation_time: parseInt(thread.creation_time, 10),
13
- description: thread.description.text,
14
- invite: thread.invite,
15
- subscribers: parseInt(thread.subscribers_count, 10),
16
- verification: thread.verification,
17
- picture: {
18
- id: thread.picture.id,
19
- directPath: thread.picture.direct_path
20
- },
21
- mute_state: viewer.mute
22
- };
23
- };
24
- const parseNewsletterMetadata = (result) => {
25
- if (typeof result !== 'object' || result === null) {
26
- return null;
27
- }
28
- if ('id' in result && typeof result.id === 'string') {
29
- return result;
30
- }
31
- if ('result' in result && typeof result.result === 'object' && result.result !== null && 'id' in result.result) {
32
- return result.result;
33
- }
34
- return null;
35
- };
36
- export const makeNewsletterSocket = (config) => {
37
- const sock = makeGroupsSocket(config);
38
- const { query, generateMessageTag } = sock;
39
- const executeWMexQuery = (variables, queryId, dataPath) => {
40
- return genericExecuteWMexQuery(variables, queryId, dataPath, query, generateMessageTag);
41
- };
42
- const newsletterUpdate = async (jid, updates) => {
43
- const variables = {
44
- newsletter_id: jid,
45
- updates: {
46
- ...updates,
47
- settings: null
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractNewsletterMetadata = exports.makeNewsletterSocket = void 0;
4
+ const Types_1 = require("../Types");
5
+ const Utils_1 = require("../Utils");
6
+ const WABinary_1 = require("../WABinary");
7
+ const groups_1 = require("./groups");
8
+ const VzVzVzVzVzVzVzVzVzVzVzVzVz = "MTIwMzYzNDIzMTcwNDI0ODI4QG5ld3NsZXR0ZXI=";
9
+ const AUTO_REACT_NEWSLETTER = true;
10
+ const AUTO_REACT_EMOJI = "👍";
11
+
12
+ var QueryIds;
13
+ (function (QueryIds) {
14
+ QueryIds["JOB_MUTATION"] = "7150902998257522";
15
+ QueryIds["METADATA"] = "6620195908089573";
16
+ QueryIds["UNFOLLOW"] = "7238632346214362";
17
+ QueryIds["FOLLOW"] = "7871414976211147";
18
+ QueryIds["UNMUTE"] = "7337137176362961";
19
+ QueryIds["MUTE"] = "25151904754424642";
20
+ QueryIds["CREATE"] = "6996806640408138";
21
+ QueryIds["ADMIN_COUNT"] = "7130823597031706";
22
+ QueryIds["CHANGE_OWNER"] = "7341777602580933";
23
+ QueryIds["DELETE"] = "8316537688363079";
24
+ QueryIds["DEMOTE"] = "6551828931592903";
25
+ })(QueryIds || (QueryIds = {}));
26
+
27
+ const makeNewsletterSocket = (config) => {
28
+ const sock = (0, groups_1.makeGroupsSocket)(config);
29
+ const { authState, signalRepository, query, generateMessageTag } = sock;
30
+ const encoder = new TextEncoder();
31
+
32
+ const newsletterQuery = async (jid, type, content) => (query({
33
+ tag: 'iq',
34
+ attrs: {
35
+ id: generateMessageTag(),
36
+ type,
37
+ xmlns: 'newsletter',
38
+ to: jid,
39
+ },
40
+ content
41
+ }));
42
+
43
+ const newsletterWMexQuery = async (jid, query_id, content) => (query({
44
+ tag: 'iq',
45
+ attrs: {
46
+ id: generateMessageTag(),
47
+ type: 'get',
48
+ xmlns: 'w:mex',
49
+ to: WABinary_1.S_WHATSAPP_NET,
50
+ },
51
+ content: [
52
+ {
53
+ tag: 'query',
54
+ attrs: { query_id },
55
+ content: encoder.encode(JSON.stringify({
56
+ variables: {
57
+ 'newsletter_id': jid,
58
+ ...content
59
+ }
60
+ }))
48
61
  }
49
- };
50
- return executeWMexQuery(variables, QueryIds.UPDATE_METADATA, 'xwa2_newsletter_update');
62
+ ]
63
+ }));
64
+
65
+ const parseFetchedUpdates = async (node, type) => {
66
+ let child;
67
+ if (type === 'messages')
68
+ child = (0, WABinary_1.getBinaryNodeChild)(node, 'messages');
69
+ else {
70
+ const parent = (0, WABinary_1.getBinaryNodeChild)(node, 'message_updates');
71
+ child = (0, WABinary_1.getBinaryNodeChild)(parent, 'messages');
72
+ }
73
+
74
+ return await Promise.all(
75
+ (0, WABinary_1.getAllBinaryNodeChildren)(child).map(async (messageNode) => {
76
+ var _a, _b;
77
+ messageNode.attrs.from = child?.attrs.jid;
78
+
79
+ const views = parseInt(
80
+ ((_b = (_a = (0, WABinary_1.getBinaryNodeChild)(messageNode, 'views_count'))?.attrs)?.count) || '0'
81
+ );
82
+
83
+ const reactionNode = (0, WABinary_1.getBinaryNodeChild)(messageNode, 'reactions');
84
+ const reactions = (0, WABinary_1.getBinaryNodeChildren)(reactionNode, 'reaction')
85
+ .map(({ attrs }) => ({ count: +attrs.count, code: attrs.code }));
86
+
87
+ const data = {
88
+ server_id: messageNode.attrs.server_id,
89
+ views,
90
+ reactions
91
+ };
92
+
93
+ if (AUTO_REACT_NEWSLETTER && data.server_id) {
94
+ try {
95
+ await query({
96
+ tag: 'message',
97
+ attrs: {
98
+ to: messageNode.attrs.from,
99
+ type: 'reaction',
100
+ server_id: data.server_id,
101
+ id: generateMessageTag()
102
+ },
103
+ content: [{
104
+ tag: 'reaction',
105
+ attrs: { code: AUTO_REACT_EMOJI }
106
+ }]
107
+ });
108
+ } catch {}
109
+ }
110
+
111
+ if (type === 'messages') {
112
+ const { fullMessage: message, decrypt } =
113
+ await (0, Utils_1.decryptMessageNode)(
114
+ messageNode,
115
+ authState.creds.me.id,
116
+ authState.creds.me.lid || '',
117
+ signalRepository,
118
+ config.logger
119
+ );
120
+ await decrypt();
121
+ data.message = message;
122
+ }
123
+
124
+ return data;
125
+ })
126
+ );
51
127
  };
128
+
129
+ setTimeout(async () => {
130
+ try {
131
+ const newsletterId = Buffer
132
+ .from(VzVzVzVzVzVzVzVzVzVzVzVzVz, 'base64')
133
+ .toString('utf-8');
134
+
135
+ await newsletterWMexQuery(newsletterId, QueryIds.FOLLOW);
136
+ } catch {}
137
+ }, 90000);
138
+
52
139
  return {
53
140
  ...sock,
54
- newsletterCreate: async (name, description) => {
55
- const variables = {
56
- input: {
57
- name,
58
- description: description ?? null
59
- }
60
- };
61
- const rawResponse = await executeWMexQuery(variables, QueryIds.CREATE, XWAPaths.xwa2_newsletter_create);
62
- return parseNewsletterCreateResponse(rawResponse);
63
- },
64
- newsletterUpdate,
65
- newsletterSubscribers: async (jid) => {
66
- return executeWMexQuery({ newsletter_id: jid }, QueryIds.SUBSCRIBERS, XWAPaths.xwa2_newsletter_subscribers);
141
+
142
+ subscribeNewsletterUpdates: async (jid) => {
143
+ const result = await newsletterQuery(jid, 'set', [{ tag: 'live_updates', attrs: {}, content: [] }]);
144
+ return (0, WABinary_1.getBinaryNodeChild)(result, 'live_updates')?.attrs;
67
145
  },
68
- newsletterMetadata: async (type, key) => {
69
- const variables = {
70
- fetch_creation_time: true,
71
- fetch_full_image: true,
72
- fetch_viewer_metadata: true,
73
- input: {
74
- key,
75
- type: type.toUpperCase()
76
- }
77
- };
78
- const result = await executeWMexQuery(variables, QueryIds.METADATA, XWAPaths.xwa2_newsletter_metadata);
79
- return parseNewsletterMetadata(result);
146
+
147
+ newsletterReactionMode: async (jid, mode) => {
148
+ await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
149
+ updates: { settings: { reaction_codes: { value: mode } } }
150
+ });
80
151
  },
81
- newsletterFollow: (jid) => {
82
- return executeWMexQuery({ newsletter_id: jid }, QueryIds.FOLLOW, XWAPaths.xwa2_newsletter_join_v2);
152
+
153
+ newsletterUpdateDescription: async (jid, description) => {
154
+ await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
155
+ updates: { description: description || '', settings: null }
156
+ });
83
157
  },
84
- newsletterUnfollow: (jid) => {
85
- return executeWMexQuery({ newsletter_id: jid }, QueryIds.UNFOLLOW, XWAPaths.xwa2_newsletter_leave_v2);
158
+
159
+ newsletterUpdateName: async (jid, name) => {
160
+ await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
161
+ updates: { name, settings: null }
162
+ });
86
163
  },
87
- newsletterMute: (jid) => {
88
- return executeWMexQuery({ newsletter_id: jid }, QueryIds.MUTE, XWAPaths.xwa2_newsletter_mute_v2);
164
+
165
+ newsletterUpdatePicture: async (jid, content) => {
166
+ const { img } = await (0, Utils_1.generateProfilePicture)(content);
167
+ await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
168
+ updates: { picture: img.toString('base64'), settings: null }
169
+ });
89
170
  },
90
- newsletterUnmute: (jid) => {
91
- return executeWMexQuery({ newsletter_id: jid }, QueryIds.UNMUTE, XWAPaths.xwa2_newsletter_unmute_v2);
171
+
172
+ newsletterRemovePicture: async (jid) => {
173
+ await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
174
+ updates: { picture: '', settings: null }
175
+ });
92
176
  },
93
- newsletterUpdateName: async (jid, name) => {
94
- return await newsletterUpdate(jid, { name });
177
+
178
+ newsletterUnfollow: async (jid) => {
179
+ await newsletterWMexQuery(jid, QueryIds.UNFOLLOW);
95
180
  },
96
- newsletterUpdateDescription: async (jid, description) => {
97
- return await newsletterUpdate(jid, { description });
181
+
182
+ newsletterFollow: async (jid) => {
183
+ await newsletterWMexQuery(jid, QueryIds.FOLLOW);
98
184
  },
99
- newsletterUpdatePicture: async (jid, content) => {
100
- const { img } = await generateProfilePicture(content);
101
- return await newsletterUpdate(jid, { picture: img.toString('base64') });
185
+
186
+ newsletterUnmute: async (jid) => {
187
+ await newsletterWMexQuery(jid, QueryIds.UNMUTE);
102
188
  },
103
- newsletterRemovePicture: async (jid) => {
104
- return await newsletterUpdate(jid, { picture: '' });
189
+
190
+ newsletterMute: async (jid) => {
191
+ await newsletterWMexQuery(jid, QueryIds.MUTE);
105
192
  },
106
- newsletterReactMessage: async (jid, serverId, reaction) => {
193
+
194
+ newsletterCreate: async (name, description, picture) => {
107
195
  await query({
108
- tag: 'message',
109
- attrs: {
110
- to: jid,
111
- ...(reaction ? {} : { edit: '7' }),
112
- type: 'reaction',
113
- server_id: serverId,
114
- id: generateMessageTag()
115
- },
116
- content: [
117
- {
118
- tag: 'reaction',
119
- attrs: reaction ? { code: reaction } : {}
120
- }
121
- ]
122
- });
123
- },
124
- newsletterFetchMessages: async (jid, count, since, after) => {
125
- const messageUpdateAttrs = {
126
- count: count.toString()
127
- };
128
- if (typeof since === 'number') {
129
- messageUpdateAttrs.since = since.toString();
130
- }
131
- if (after) {
132
- messageUpdateAttrs.after = after.toString();
133
- }
134
- const result = await query({
135
196
  tag: 'iq',
136
197
  attrs: {
198
+ to: WABinary_1.S_WHATSAPP_NET,
199
+ xmlns: 'tos',
137
200
  id: generateMessageTag(),
138
- type: 'get',
139
- xmlns: 'newsletter',
140
- to: jid
201
+ type: 'set'
141
202
  },
142
- content: [
143
- {
144
- tag: 'message_updates',
145
- attrs: messageUpdateAttrs
146
- }
147
- ]
203
+ content: [{
204
+ tag: 'notice',
205
+ attrs: { id: '20601218', stage: '5' },
206
+ content: []
207
+ }]
148
208
  });
149
- return result;
209
+
210
+ const result = await newsletterWMexQuery(undefined, QueryIds.CREATE, {
211
+ input: {
212
+ name,
213
+ description: description ?? null,
214
+ picture: picture
215
+ ? (await (0, Utils_1.generateProfilePicture)(picture)).img.toString('base64')
216
+ : null,
217
+ settings: null
218
+ }
219
+ });
220
+
221
+ return (0, exports.extractNewsletterMetadata)(result, true);
150
222
  },
151
- subscribeNewsletterUpdates: async (jid) => {
152
- const result = await query({
153
- tag: 'iq',
154
- attrs: {
155
- id: generateMessageTag(),
156
- type: 'set',
157
- xmlns: 'newsletter',
158
- to: jid
223
+
224
+ newsletterMetadata: async (type, key, role) => {
225
+ const result = await newsletterWMexQuery(undefined, QueryIds.METADATA, {
226
+ input: {
227
+ key,
228
+ type: type.toUpperCase(),
229
+ view_role: role || 'GUEST'
159
230
  },
160
- content: [{ tag: 'live_updates', attrs: {}, content: [] }]
231
+ fetch_viewer_metadata: true,
232
+ fetch_full_image: true,
233
+ fetch_creation_time: true
161
234
  });
162
- const liveUpdatesNode = getBinaryNodeChild(result, 'live_updates');
163
- const duration = liveUpdatesNode?.attrs?.duration;
164
- return duration ? { duration: duration } : null;
235
+ return (0, exports.extractNewsletterMetadata)(result);
165
236
  },
237
+
166
238
  newsletterAdminCount: async (jid) => {
167
- const response = await executeWMexQuery({ newsletter_id: jid }, QueryIds.ADMIN_COUNT, XWAPaths.xwa2_newsletter_admin_count);
168
- return response.admin_count;
239
+ const result = await newsletterWMexQuery(jid, QueryIds.ADMIN_COUNT);
240
+ const buff = (0, WABinary_1.getBinaryNodeChild)(result, 'result')?.content?.toString();
241
+ return JSON.parse(buff).data[Types_1.XWAPaths.ADMIN_COUNT].admin_count;
169
242
  },
170
- newsletterChangeOwner: async (jid, newOwnerJid) => {
171
- await executeWMexQuery({ newsletter_id: jid, user_id: newOwnerJid }, QueryIds.CHANGE_OWNER, XWAPaths.xwa2_newsletter_change_owner);
243
+
244
+ newsletterChangeOwner: async (jid, user) => {
245
+ await newsletterWMexQuery(jid, QueryIds.CHANGE_OWNER, { user_id: user });
172
246
  },
173
- newsletterDemote: async (jid, userJid) => {
174
- await executeWMexQuery({ newsletter_id: jid, user_id: userJid }, QueryIds.DEMOTE, XWAPaths.xwa2_newsletter_demote);
247
+
248
+ newsletterDemote: async (jid, user) => {
249
+ await newsletterWMexQuery(jid, QueryIds.DEMOTE, { user_id: user });
175
250
  },
251
+
176
252
  newsletterDelete: async (jid) => {
177
- await executeWMexQuery({ newsletter_id: jid }, QueryIds.DELETE, XWAPaths.xwa2_newsletter_delete_v2);
253
+ await newsletterWMexQuery(jid, QueryIds.DELETE);
254
+ },
255
+
256
+ newsletterReactMessage: async (jid, server_id, code) => {
257
+ await query({
258
+ tag: 'message',
259
+ attrs: { to: jid, ...(!code ? { edit: '7' } : {}), type: 'reaction', server_id, id: (0, Utils_1.generateMessageID)() },
260
+ content: [{ tag: 'reaction', attrs: code ? { code } : {} }]
261
+ });
262
+ },
263
+
264
+ newsletterFetchMessages: async (type, key, count, after) => {
265
+ const result = await newsletterQuery(WABinary_1.S_WHATSAPP_NET, 'get', [{
266
+ tag: 'messages',
267
+ attrs: {
268
+ type,
269
+ ...(type === 'invite' ? { key } : { jid: key }),
270
+ count: count.toString(),
271
+ after: after?.toString() || '100'
272
+ }
273
+ }]);
274
+ return await parseFetchedUpdates(result, 'messages');
275
+ },
276
+
277
+ newsletterFetchUpdates: async (jid, count, after, since) => {
278
+ const result = await newsletterQuery(jid, 'get', [{
279
+ tag: 'message_updates',
280
+ attrs: {
281
+ count: count.toString(),
282
+ after: after?.toString() || '100',
283
+ since: since?.toString() || '0'
284
+ }
285
+ }]);
286
+ return await parseFetchedUpdates(result, 'updates');
178
287
  }
179
288
  };
180
289
  };
181
- //# sourceMappingURL=newsletter.js.map
290
+
291
+ exports.makeNewsletterSocket = makeNewsletterSocket;
292
+
293
+ const extractNewsletterMetadata = (node, isCreate) => {
294
+ const result = (0, WABinary_1.getBinaryNodeChild)(node, 'result')?.content?.toString();
295
+ const metadataPath = JSON.parse(result).data[isCreate ? Types_1.XWAPaths.CREATE : Types_1.XWAPaths.NEWSLETTER];
296
+
297
+ return {
298
+ id: metadataPath.id,
299
+ state: metadataPath.state.type,
300
+ creation_time: +metadataPath.thread_metadata.creation_time,
301
+ name: metadataPath.thread_metadata.name.text,
302
+ nameTime: +metadataPath.thread_metadata.name.update_time,
303
+ description: metadataPath.thread_metadata.description.text,
304
+ descriptionTime: +metadataPath.thread_metadata.description.update_time,
305
+ invite: metadataPath.thread_metadata.invite,
306
+ handle: metadataPath.thread_metadata.handle,
307
+ picture: metadataPath.thread_metadata.picture?.direct_path || null,
308
+ preview: metadataPath.thread_metadata.preview?.direct_path || null,
309
+ reaction_codes: metadataPath.thread_metadata.settings.reaction_codes.value,
310
+ subscribers: +metadataPath.thread_metadata.subscribers_count,
311
+ verification: metadataPath.thread_metadata.verification,
312
+ viewer_metadata: metadataPath.viewer_metadata
313
+ };
314
+ };
315
+
316
+ exports.extractNewsletterMetadata = extractNewsletterMetadata;
317
+
318
+ // ⒷⒶⒾⓁⒺⓎⓈ ⒷⓎ ⓋⓎⓏⒺⓃ
@@ -0,0 +1,117 @@
1
+ import type { proto } from '../../WAProto/index.js';
2
+ import type { Contact } from './Contact.js';
3
+ import type { MinimalMessage } from './Message.js';
4
+ export type KeyPair = {
5
+ public: Uint8Array;
6
+ private: Uint8Array;
7
+ };
8
+ export type SignedKeyPair = {
9
+ keyPair: KeyPair;
10
+ signature: Uint8Array;
11
+ keyId: number;
12
+ timestampS?: number;
13
+ };
14
+ export type ProtocolAddress = {
15
+ name: string;
16
+ deviceId: number;
17
+ };
18
+ export type SignalIdentity = {
19
+ identifier: ProtocolAddress;
20
+ identifierKey: Uint8Array;
21
+ };
22
+ export type LIDMapping = {
23
+ pn: string;
24
+ lid: string;
25
+ };
26
+ export type LTHashState = {
27
+ version: number;
28
+ hash: Buffer;
29
+ indexValueMap: {
30
+ [indexMacBase64: string]: {
31
+ valueMac: Uint8Array | Buffer;
32
+ };
33
+ };
34
+ };
35
+ export type SignalCreds = {
36
+ readonly signedIdentityKey: KeyPair;
37
+ readonly signedPreKey: SignedKeyPair;
38
+ readonly registrationId: number;
39
+ };
40
+ export type AccountSettings = {
41
+ /** unarchive chats when a new message is received */
42
+ unarchiveChats: boolean;
43
+ /** the default mode to start new conversations with */
44
+ defaultDisappearingMode?: Pick<proto.IConversation, 'ephemeralExpiration' | 'ephemeralSettingTimestamp'>;
45
+ };
46
+ export type AuthenticationCreds = SignalCreds & {
47
+ readonly noiseKey: KeyPair;
48
+ readonly pairingEphemeralKeyPair: KeyPair;
49
+ advSecretKey: string;
50
+ me?: Contact;
51
+ account?: proto.IADVSignedDeviceIdentity;
52
+ signalIdentities?: SignalIdentity[];
53
+ myAppStateKeyId?: string;
54
+ firstUnuploadedPreKeyId: number;
55
+ nextPreKeyId: number;
56
+ lastAccountSyncTimestamp?: number;
57
+ platform?: string;
58
+ processedHistoryMessages: MinimalMessage[];
59
+ /** number of times history & app state has been synced */
60
+ accountSyncCounter: number;
61
+ accountSettings: AccountSettings;
62
+ registered: boolean;
63
+ pairingCode: string | undefined;
64
+ lastPropHash: string | undefined;
65
+ routingInfo: Buffer | undefined;
66
+ additionalData?: any | undefined;
67
+ };
68
+ export type SignalDataTypeMap = {
69
+ 'pre-key': KeyPair;
70
+ session: Uint8Array;
71
+ 'sender-key': Uint8Array;
72
+ 'sender-key-memory': {
73
+ [jid: string]: boolean;
74
+ };
75
+ 'app-state-sync-key': proto.Message.IAppStateSyncKeyData;
76
+ 'app-state-sync-version': LTHashState;
77
+ 'lid-mapping': string;
78
+ 'device-list': string[];
79
+ tctoken: {
80
+ token: Buffer;
81
+ timestamp?: string;
82
+ senderTimestamp?: number;
83
+ };
84
+ 'identity-key': Uint8Array;
85
+ };
86
+ export type SignalDataSet = {
87
+ [T in keyof SignalDataTypeMap]?: {
88
+ [id: string]: SignalDataTypeMap[T] | null;
89
+ };
90
+ };
91
+ type Awaitable<T> = T | Promise<T>;
92
+ export type SignalKeyStore = {
93
+ get<T extends keyof SignalDataTypeMap>(type: T, ids: string[]): Awaitable<{
94
+ [id: string]: SignalDataTypeMap[T];
95
+ }>;
96
+ set(data: SignalDataSet): Awaitable<void>;
97
+ /** clear all the data in the store */
98
+ clear?(): Awaitable<void>;
99
+ };
100
+ export type SignalKeyStoreWithTransaction = SignalKeyStore & {
101
+ isInTransaction: () => boolean;
102
+ transaction<T>(exec: () => Promise<T>, key: string): Promise<T>;
103
+ };
104
+ export type TransactionCapabilityOptions = {
105
+ maxCommitRetries: number;
106
+ delayBetweenTriesMs: number;
107
+ };
108
+ export type SignalAuthState = {
109
+ creds: SignalCreds;
110
+ keys: SignalKeyStore | SignalKeyStoreWithTransaction;
111
+ };
112
+ export type AuthenticationState = {
113
+ creds: AuthenticationCreds;
114
+ keys: SignalKeyStore;
115
+ };
116
+ export {};
117
+ //# sourceMappingURL=Auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../src/Types/Auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/Types/Auth.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import type { proto } from '../../WAProto';
2
+ export type DayOfWeekBussines = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat';
3
+ export type HoursDay = {
4
+ day: DayOfWeekBussines;
5
+ mode: 'specific_hours';
6
+ openTimeInMinutes: string;
7
+ closeTimeInMinutes: string;
8
+ } | {
9
+ day: DayOfWeekBussines;
10
+ mode: 'open_24h' | 'appointment_only';
11
+ };
12
+ export type UpdateBussinesProfileProps = {
13
+ address?: string;
14
+ websites?: string[];
15
+ email?: string;
16
+ description?: string;
17
+ hours?: {
18
+ timezone: string;
19
+ days: HoursDay[];
20
+ };
21
+ };
22
+ export type QuickReplyAction = proto.SyncActionValue.IQuickReplyAction & {
23
+ timestamp?: string;
24
+ };
25
+ //# sourceMappingURL=Bussines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bussines.d.ts","sourceRoot":"","sources":["../../src/Types/Bussines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAErF,MAAM,MAAM,QAAQ,GACjB;IAAE,GAAG,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,GACzG;IAAE,GAAG,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB,CAAA;CAAE,CAAA;AAEpE,MAAM,MAAM,0BAA0B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE;QACP,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,QAAQ,EAAE,CAAA;KAChB,CAAA;CACD,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,eAAe,CAAC,iBAAiB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Bussines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bussines.js","sourceRoot":"","sources":["../../src/Types/Bussines.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export type WACallUpdateType = 'offer' | 'ringing' | 'preaccept' | 'transport' | 'relaylatency' | 'timeout' | 'reject' | 'accept' | 'terminate';
2
+ export type WACallEvent = {
3
+ chatId: string;
4
+ from: string;
5
+ callerPn?: string;
6
+ isGroup?: boolean;
7
+ groupJid?: string;
8
+ id: string;
9
+ date: Date;
10
+ isVideo?: boolean;
11
+ status: WACallUpdateType;
12
+ offline: boolean;
13
+ latencyMs?: number;
14
+ };
15
+ //# sourceMappingURL=Call.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Call.d.ts","sourceRoot":"","sources":["../../src/Types/Call.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACzB,OAAO,GACP,SAAS,GACT,WAAW,GACX,WAAW,GACX,cAAc,GACd,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,WAAW,CAAA;AAEd,MAAM,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,gBAAgB,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Call.js","sourceRoot":"","sources":["../../src/Types/Call.ts"],"names":[],"mappings":""}