zalo-toolkit 1.0.0 → 1.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 (155) hide show
  1. package/dist/apis/sendMessage.d.ts +5 -0
  2. package/dist/apis/sendMessage.js +31 -11
  3. package/dist/cjs/apis/acceptFriendRequest.cjs +33 -0
  4. package/dist/cjs/apis/addGroupBlockedMember.cjs +33 -0
  5. package/dist/cjs/apis/addGroupDeputy.cjs +36 -0
  6. package/dist/cjs/apis/addPollOptions.cjs +31 -0
  7. package/dist/cjs/apis/addQuickMessage.cjs +65 -0
  8. package/dist/cjs/apis/addReaction.cjs +297 -0
  9. package/dist/cjs/apis/addUnreadMark.cjs +65 -0
  10. package/dist/cjs/apis/addUserToGroup.cjs +39 -0
  11. package/dist/cjs/apis/blockUser.cjs +33 -0
  12. package/dist/cjs/apis/blockViewFeed.cjs +35 -0
  13. package/dist/cjs/apis/changeAccountAvatar.cjs +56 -0
  14. package/dist/cjs/apis/changeFriendAlias.cjs +32 -0
  15. package/dist/cjs/apis/changeGroupAvatar.cjs +47 -0
  16. package/dist/cjs/apis/changeGroupName.cjs +37 -0
  17. package/dist/cjs/apis/changeGroupOwner.cjs +36 -0
  18. package/dist/cjs/apis/createAutoReply.cjs +42 -0
  19. package/dist/cjs/apis/createCatalog.cjs +34 -0
  20. package/dist/cjs/apis/createGroup.cjs +48 -0
  21. package/dist/cjs/apis/createNote.cjs +52 -0
  22. package/dist/cjs/apis/createPoll.cjs +45 -0
  23. package/dist/cjs/apis/createProductCatalog.cjs +55 -0
  24. package/dist/cjs/apis/createReminder.cjs +76 -0
  25. package/dist/cjs/apis/custom.cjs +19 -0
  26. package/dist/cjs/apis/deleteAutoReply.cjs +34 -0
  27. package/dist/cjs/apis/deleteAvatar.cjs +32 -0
  28. package/dist/cjs/apis/deleteCatalog.cjs +33 -0
  29. package/dist/cjs/apis/deleteChat.cjs +63 -0
  30. package/dist/cjs/apis/deleteGroupInviteBox.cjs +32 -0
  31. package/dist/cjs/apis/deleteMessage.cjs +65 -0
  32. package/dist/cjs/apis/deleteProductCatalog.cjs +36 -0
  33. package/dist/cjs/apis/disableGroupLink.cjs +29 -0
  34. package/dist/cjs/apis/disperseGroup.cjs +33 -0
  35. package/dist/cjs/apis/editNote.cjs +51 -0
  36. package/dist/cjs/apis/editReminder.cjs +74 -0
  37. package/dist/cjs/apis/enableGroupLink.cjs +30 -0
  38. package/dist/cjs/apis/fetchAccountInfo.cjs +15 -0
  39. package/dist/cjs/apis/findUser.cjs +45 -0
  40. package/dist/cjs/apis/forwardAttachment.cjs +85 -0
  41. package/dist/cjs/apis/forwardMessage.cjs +122 -0
  42. package/dist/cjs/apis/getAliasList.cjs +33 -0
  43. package/dist/cjs/apis/getAllFriends.cjs +37 -0
  44. package/dist/cjs/apis/getAllGroups.cjs +15 -0
  45. package/dist/cjs/apis/getArchivedChatList.cjs +28 -0
  46. package/dist/cjs/apis/getAutoDeleteChat.cjs +26 -0
  47. package/dist/cjs/apis/getAutoReplyList.cjs +29 -0
  48. package/dist/cjs/apis/getAvatarList.cjs +33 -0
  49. package/dist/cjs/apis/getBizAccount.cjs +32 -0
  50. package/dist/cjs/apis/getCatalogList.cjs +37 -0
  51. package/dist/cjs/apis/getContext.cjs +9 -0
  52. package/dist/cjs/apis/getCookie.cjs +14 -0
  53. package/dist/cjs/apis/getFriendBoardList.cjs +31 -0
  54. package/dist/cjs/apis/getFriendOnlines.cjs +40 -0
  55. package/dist/cjs/apis/getFriendRecommendations.cjs +32 -0
  56. package/dist/cjs/apis/getFriendRequestStatus.cjs +30 -0
  57. package/dist/cjs/apis/getGroupBlockedMember.cjs +34 -0
  58. package/dist/cjs/apis/getGroupInfo.cjs +37 -0
  59. package/dist/cjs/apis/getGroupInviteBoxInfo.cjs +43 -0
  60. package/dist/cjs/apis/getGroupInviteBoxList.cjs +36 -0
  61. package/dist/cjs/apis/getGroupLinkDetail.cjs +30 -0
  62. package/dist/cjs/apis/getGroupLinkInfo.cjs +33 -0
  63. package/dist/cjs/apis/getGroupMembersInfo.cjs +29 -0
  64. package/dist/cjs/apis/getHiddenConversations.cjs +28 -0
  65. package/dist/cjs/apis/getLabels.cjs +33 -0
  66. package/dist/cjs/apis/getLastMessage.cjs +25 -0
  67. package/dist/cjs/apis/getListBoard.cjs +58 -0
  68. package/dist/cjs/apis/getListReminder.cjs +60 -0
  69. package/dist/cjs/apis/getMute.cjs +27 -0
  70. package/dist/cjs/apis/getOwnId.cjs +9 -0
  71. package/dist/cjs/apis/getPendingGroupMembers.cjs +32 -0
  72. package/dist/cjs/apis/getPinConversations.cjs +27 -0
  73. package/dist/cjs/apis/getPollDetail.cjs +35 -0
  74. package/dist/cjs/apis/getProductCatalogList.cjs +38 -0
  75. package/dist/cjs/apis/getQR.cjs +34 -0
  76. package/dist/cjs/apis/getQuickMessageList.cjs +29 -0
  77. package/dist/cjs/apis/getRecommendFriends.cjs +25 -0
  78. package/dist/cjs/apis/getRelatedFriendGroup.cjs +35 -0
  79. package/dist/cjs/apis/getReminder.cjs +30 -0
  80. package/dist/cjs/apis/getReminderResponses.cjs +29 -0
  81. package/dist/cjs/apis/getSentFriendRequest.cjs +29 -0
  82. package/dist/cjs/apis/getSettings.cjs +25 -0
  83. package/dist/cjs/apis/getStickers.cjs +45 -0
  84. package/dist/cjs/apis/getStickersDetail.cjs +45 -0
  85. package/dist/cjs/apis/getUnreadMark.cjs +35 -0
  86. package/dist/cjs/apis/getUserInfo.cjs +47 -0
  87. package/dist/cjs/apis/inviteUserToGroups.cjs +35 -0
  88. package/dist/cjs/apis/joinGroupInviteBox.cjs +30 -0
  89. package/dist/cjs/apis/joinGroupLink.cjs +32 -0
  90. package/dist/cjs/apis/keepAlive.cjs +27 -0
  91. package/dist/cjs/apis/lastOnline.cjs +31 -0
  92. package/dist/cjs/apis/leaveGroup.cjs +38 -0
  93. package/dist/cjs/apis/lockPoll.cjs +33 -0
  94. package/dist/cjs/apis/parseLink.cjs +32 -0
  95. package/dist/cjs/apis/rejectFriendRequest.cjs +32 -0
  96. package/dist/cjs/apis/removeFriend.cjs +33 -0
  97. package/dist/cjs/apis/removeFriendAlias.cjs +29 -0
  98. package/dist/cjs/apis/removeGroupBlockedMember.cjs +33 -0
  99. package/dist/cjs/apis/removeGroupDeputy.cjs +35 -0
  100. package/dist/cjs/apis/removeQuickMessage.cjs +32 -0
  101. package/dist/cjs/apis/removeReminder.cjs +53 -0
  102. package/dist/cjs/apis/removeUnreadMark.cjs +63 -0
  103. package/dist/cjs/apis/removeUserFromGroup.cjs +39 -0
  104. package/dist/cjs/apis/resetHiddenConversPin.cjs +25 -0
  105. package/dist/cjs/apis/reuseAvatar.cjs +31 -0
  106. package/dist/cjs/apis/reviewPendingMemberRequest.cjs +33 -11
  107. package/dist/cjs/apis/sendBankCard.cjs +50 -0
  108. package/dist/cjs/apis/sendCard.cjs +72 -0
  109. package/dist/cjs/apis/sendDeliveredEvent.cjs +68 -0
  110. package/dist/cjs/apis/sendFriendRequest.cjs +44 -0
  111. package/dist/cjs/apis/sendLink.cjs +70 -0
  112. package/dist/cjs/apis/sendMessage.cjs +437 -11
  113. package/dist/cjs/apis/sendReport.cjs +48 -10
  114. package/dist/cjs/apis/sendSeenEvent.cjs +76 -0
  115. package/dist/cjs/apis/sendSticker.cjs +69 -0
  116. package/dist/cjs/apis/sendTypingEvent.cjs +46 -0
  117. package/dist/cjs/apis/sendVideo.cjs +131 -0
  118. package/dist/cjs/apis/sendVoice.cjs +86 -0
  119. package/dist/cjs/apis/setArchivedConversations.cjs +39 -0
  120. package/dist/cjs/apis/setHiddenConversations.cjs +52 -0
  121. package/dist/cjs/apis/setMute.cjs +57 -10
  122. package/dist/cjs/apis/setPinnedConversations.cjs +47 -0
  123. package/dist/cjs/apis/sharePoll.cjs +33 -0
  124. package/dist/cjs/apis/unblockUser.cjs +33 -0
  125. package/dist/cjs/apis/undo.cjs +55 -0
  126. package/dist/cjs/apis/undoFriendRequest.cjs +32 -0
  127. package/dist/cjs/apis/updateActiveStatus.cjs +32 -0
  128. package/dist/cjs/apis/updateAutoDeleteChat.cjs +35 -10
  129. package/dist/cjs/apis/updateAutoReply.cjs +43 -0
  130. package/dist/cjs/apis/updateCatalog.cjs +35 -0
  131. package/dist/cjs/apis/updateGroupSettings.cjs +48 -0
  132. package/dist/cjs/apis/updateHiddenConversPin.cjs +35 -0
  133. package/dist/cjs/apis/updateLabels.cjs +39 -0
  134. package/dist/cjs/apis/updateLang.cjs +27 -11
  135. package/dist/cjs/apis/updateProductCatalog.cjs +56 -0
  136. package/dist/cjs/apis/updateProfile.cjs +48 -0
  137. package/dist/cjs/apis/updateQuickMessage.cjs +66 -0
  138. package/dist/cjs/apis/updateSettings.cjs +77 -11
  139. package/dist/cjs/apis/uploadAttachment.cjs +208 -0
  140. package/dist/cjs/apis/uploadProductPhoto.cjs +50 -0
  141. package/dist/cjs/apis/votePoll.cjs +34 -0
  142. package/dist/cjs/apis.cjs +292 -0
  143. package/dist/cjs/context.cjs +15 -0
  144. package/dist/cjs/core/enums/common.cjs +14 -0
  145. package/dist/cjs/core/utils/index.cjs +33 -0
  146. package/dist/cjs/models/GroupEvent.cjs +2 -4
  147. package/dist/cjs/utils.cjs +229 -3
  148. package/dist/cjs/zalo.cjs +18 -7
  149. package/dist/index.d.ts +1 -0
  150. package/dist/models/GroupEvent.d.ts +2 -2
  151. package/dist/models/GroupEvent.js +2 -4
  152. package/dist/models/Message.d.ts +6 -0
  153. package/dist/zalo.d.ts +17 -10
  154. package/dist/zalo.js +19 -8
  155. package/package.json +1 -1
@@ -0,0 +1,208 @@
1
+ 'use strict';
2
+
3
+ var FormData = require('form-data');
4
+ var context = require('../context.cjs');
5
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
6
+ require('../models/AutoReply.cjs');
7
+ require('../models/Board.cjs');
8
+ var Enum = require('../models/Enum.cjs');
9
+ require('../models/FriendEvent.cjs');
10
+ require('../models/Group.cjs');
11
+ require('../models/GroupEvent.cjs');
12
+ var utils = require('../utils.cjs');
13
+ require('../models/Reaction.cjs');
14
+ require('../models/Reminder.cjs');
15
+ require('../models/ZBusiness.cjs');
16
+
17
+ const urlType = {
18
+ image: 'photo_original/upload',
19
+ video: 'asyncfile/upload',
20
+ others: 'asyncfile/upload',
21
+ };
22
+ const uploadAttachmentFactory = utils.apiFactory()((api, ctx, utils$1) => {
23
+ const serviceURL = `${api.zpwServiceMap.file[0]}/api`;
24
+ const { sharefile } = ctx.settings.features;
25
+ function isExceedMaxFile(totalFile) {
26
+ return totalFile > sharefile.max_file;
27
+ }
28
+ function isExceedMaxFileSize(fileSize) {
29
+ return fileSize > sharefile.max_size_share_file_v3 * 1024 * 1024;
30
+ }
31
+ function isExtensionValid(ext) {
32
+ return sharefile.restricted_ext_file.indexOf(ext) == -1;
33
+ }
34
+ /**
35
+ * Upload an attachment to a thread
36
+ *
37
+ * @param attachments List of attachments
38
+ * @param threadId Group or User ID
39
+ * @param type Message type (User or Group)
40
+ *
41
+ * @throws {ZaloApiError | ZaloApiMissingImageMetadataGetter}
42
+ */
43
+ return async function uploadAttachment(attachments, threadId, type = Enum.ThreadType.User) {
44
+ var _a;
45
+ if (!attachments || attachments.length == 0)
46
+ throw new ZaloApiError.ZaloApiError('Missing attachments');
47
+ if (isExceedMaxFile(attachments.length))
48
+ throw new ZaloApiError.ZaloApiError('Exceed maximum file of ' + sharefile.max_file);
49
+ if (!threadId)
50
+ throw new ZaloApiError.ZaloApiError('Missing threadId');
51
+ const chunkSize = ctx.settings.features.sharefile.chunk_size_file;
52
+ const isGroupMessage = type == Enum.ThreadType.Group;
53
+ const attachmentsData = [];
54
+ const url = `${serviceURL}/${isGroupMessage ? 'group' : 'message'}/`;
55
+ const typeParam = isGroupMessage ? '11' : '2';
56
+ let clientId = Date.now();
57
+ for (const attachment of attachments) {
58
+ const extFile = attachment.mimetype.split('/')[1];
59
+ const fileName = attachment.originalname;
60
+ if (isExtensionValid(extFile) == false)
61
+ throw new ZaloApiError.ZaloApiError(`File extension "${extFile}" is not allowed`);
62
+ const data = {
63
+ attachment: attachment,
64
+ chunkContent: [],
65
+ params: {},
66
+ };
67
+ if (isGroupMessage)
68
+ data.params.grid = threadId;
69
+ else
70
+ data.params.toid = threadId;
71
+ switch (extFile) {
72
+ case 'jpg':
73
+ case 'jpeg':
74
+ case 'png':
75
+ case 'webp': {
76
+ const imageData = await utils.getImageMetaData(attachment);
77
+ if (isExceedMaxFileSize(imageData.totalSize))
78
+ throw new ZaloApiError.ZaloApiError(`File ${fileName} size exceed maximum size of ${sharefile.max_size_share_file_v3}MB`);
79
+ data.fileData = imageData;
80
+ data.fileType = 'image';
81
+ data.params.totalChunk = Math.ceil(data.fileData.totalSize / chunkSize);
82
+ data.params.fileName = fileName;
83
+ data.params.clientId = clientId++;
84
+ data.params.totalSize = imageData.totalSize;
85
+ data.params.imei = ctx.imei;
86
+ data.params.isE2EE = 0;
87
+ data.params.jxl = 0;
88
+ data.params.chunkId = 1;
89
+ break;
90
+ }
91
+ case 'mp4': {
92
+ const videoSize = attachment.size;
93
+ if (isExceedMaxFileSize(videoSize))
94
+ throw new ZaloApiError.ZaloApiError(`File ${fileName} size exceed maximum size of ${sharefile.max_size_share_file_v3}MB`);
95
+ data.fileType = 'video';
96
+ data.fileData = {
97
+ fileName,
98
+ totalSize: videoSize,
99
+ };
100
+ data.params.totalChunk = Math.ceil(data.fileData.totalSize / chunkSize);
101
+ data.params.fileName = fileName;
102
+ data.params.clientId = clientId++;
103
+ data.params.totalSize = videoSize;
104
+ data.params.imei = ctx.imei;
105
+ data.params.isE2EE = 0;
106
+ data.params.jxl = 0;
107
+ data.params.chunkId = 1;
108
+ break;
109
+ }
110
+ default: {
111
+ const fileSize = attachment.size;
112
+ if (isExceedMaxFileSize(fileSize))
113
+ throw new ZaloApiError.ZaloApiError(`File ${fileName} size exceed maximum size of ${sharefile.max_size_share_file_v3}MB`);
114
+ data.fileType = 'others';
115
+ data.fileData = {
116
+ fileName,
117
+ totalSize: fileSize,
118
+ };
119
+ data.params.totalChunk = Math.ceil(data.fileData.totalSize / chunkSize);
120
+ data.params.fileName = fileName;
121
+ data.params.clientId = clientId++;
122
+ data.params.totalSize = fileSize;
123
+ data.params.imei = ctx.imei;
124
+ data.params.isE2EE = 0;
125
+ data.params.jxl = 0;
126
+ data.params.chunkId = 1;
127
+ break;
128
+ }
129
+ }
130
+ const fileBuffer = attachment.buffer;
131
+ for (let i = 0; i < data.params.totalChunk; i++) {
132
+ const formData = new FormData();
133
+ const slicedBuffer = fileBuffer.subarray(i * chunkSize, (i + 1) * chunkSize);
134
+ formData.append('chunkContent', slicedBuffer, {
135
+ filename: fileName,
136
+ contentType: 'application/octet-stream',
137
+ });
138
+ data.chunkContent[i] = formData;
139
+ }
140
+ attachmentsData.push(data);
141
+ }
142
+ const requests = [], results = [];
143
+ const callbackResolvers = new context.CallbacksMap();
144
+ (_a = api.onUploadCompleted) === null || _a === void 0 ? void 0 : _a.call(api, (dataEvent) => {
145
+ if (!dataEvent || !dataEvent.callbackId)
146
+ return;
147
+ const resolver = callbackResolvers.get(dataEvent.callbackId);
148
+ if (resolver) {
149
+ resolver(dataEvent.data);
150
+ callbackResolvers.delete(dataEvent.callbackId);
151
+ }
152
+ });
153
+ for (const data of attachmentsData) {
154
+ for (let i = 0; i < data.params.totalChunk; i++) {
155
+ const encryptedParams = utils$1.encodeAES(JSON.stringify(data.params));
156
+ if (!encryptedParams)
157
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt message');
158
+ requests.push(utils$1
159
+ .request(utils$1.makeURL(url + urlType[data.fileType], { type: typeParam, params: encryptedParams }), {
160
+ method: 'POST',
161
+ headers: data.chunkContent[i].getHeaders(),
162
+ body: data.chunkContent[i].getBuffer(),
163
+ })
164
+ .then(async (response) => {
165
+ /**
166
+ * @TODO: better type rather than any
167
+ */
168
+ const resData = await utils.resolveResponse(ctx, response);
169
+ if (resData && resData.fileId != '-1' && resData.photoId != '-1')
170
+ await new Promise((resolve) => {
171
+ if (data.fileType == 'video' || data.fileType == 'others') {
172
+ const callbackId = `${ctx.uid}_${resData.fileId}`;
173
+ const uploadCallback = async (wsData) => {
174
+ let result = Object.assign(Object.assign(Object.assign({ fileType: data.fileType }, resData), wsData), { totalSize: data.fileData.totalSize, fileName: data.fileData.fileName, checksum: (await utils.getMd5LargeFileObject(data.attachment)).data });
175
+ results.push(result);
176
+ resolve();
177
+ };
178
+ callbackResolvers.set(callbackId, uploadCallback);
179
+ }
180
+ if (data.fileType == 'image') {
181
+ const result = {
182
+ fileType: 'image',
183
+ width: data.fileData.width,
184
+ height: data.fileData.height,
185
+ totalSize: data.fileData.totalSize,
186
+ hdSize: data.fileData.totalSize,
187
+ finished: resData.finished,
188
+ normalUrl: resData.normalUrl,
189
+ hdUrl: resData.hdUrl,
190
+ thumbUrl: resData.thumbUrl,
191
+ chunkId: resData.chunkId,
192
+ photoId: resData.photoId,
193
+ clientFileId: resData.clientFileId,
194
+ };
195
+ results.push(result);
196
+ resolve();
197
+ }
198
+ });
199
+ }));
200
+ data.params.chunkId++;
201
+ }
202
+ }
203
+ await Promise.all(requests);
204
+ return results;
205
+ };
206
+ });
207
+
208
+ exports.uploadAttachmentFactory = uploadAttachmentFactory;
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ var FormData = require('form-data');
4
+ var index = require('../core/utils/index.cjs');
5
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
6
+ var utils = require('../utils.cjs');
7
+
8
+ const uploadProductPhotoFactory = utils.apiFactory()((api, ctx, utils$1) => {
9
+ const serviceURL = utils$1.makeURL(`${api.zpwServiceMap.file[0]}/api/product/upload/photo`);
10
+ /**
11
+ * Upload product photo for api quick message, product catalog or custom local storage
12
+ *
13
+ * @param payload file path or attachment source
14
+ *
15
+ * @throws {ZaloApiError | ZaloApiMissingImageMetadataGetter}
16
+ */
17
+ return async function uploadProductPhoto(payload) {
18
+ const file = await index.getFileUpload(payload.url);
19
+ const fileMetaData = await utils.getImageMetaData(file);
20
+ const fileSize = fileMetaData.totalSize || 0;
21
+ const formData = new FormData();
22
+ formData.append('chunkContent', file.buffer, {
23
+ filename: 'undefined',
24
+ contentType: 'application/octet-stream',
25
+ });
26
+ const params = {
27
+ totalChunk: 1,
28
+ fileName: `Base64_Img_Picker_${Date.now()}.jpg`,
29
+ clientId: Date.now(),
30
+ totalSize: fileSize,
31
+ imei: ctx.imei,
32
+ chunkId: 1,
33
+ toid: ctx.loginInfo.send2me_id,
34
+ featureId: 1,
35
+ };
36
+ const encryptedParams = utils$1.encodeAES(JSON.stringify(params));
37
+ if (!encryptedParams)
38
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt params');
39
+ const response = await utils$1.request(utils$1.makeURL(serviceURL, {
40
+ params: encryptedParams,
41
+ }), {
42
+ method: 'POST',
43
+ headers: formData.getHeaders(),
44
+ body: formData.getBuffer(),
45
+ });
46
+ return utils$1.resolve(response);
47
+ };
48
+ });
49
+
50
+ exports.uploadProductPhotoFactory = uploadProductPhotoFactory;
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var ZaloApiError = require('../Errors/ZaloApiError.cjs');
4
+ var utils = require('../utils.cjs');
5
+
6
+ const votePollFactory = utils.apiFactory()((api, ctx, utils) => {
7
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.group[0]}/api/poll/vote`);
8
+ /**
9
+ * Vote on a poll
10
+ *
11
+ * @param pollId The ID of the poll to vote on
12
+ * @param optionId The ID(s) of the option to vote on
13
+ *
14
+ * @throws ZaloApiError
15
+ */
16
+ return async function votePoll(pollId, optionId) {
17
+ if (!Array.isArray(optionId))
18
+ optionId = [optionId];
19
+ const params = {
20
+ poll_id: pollId,
21
+ option_ids: optionId, // unvote = empty array
22
+ imei: ctx.imei,
23
+ };
24
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
25
+ if (!encryptedParams)
26
+ throw new ZaloApiError.ZaloApiError('Failed to encrypt params');
27
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
28
+ method: 'GET',
29
+ });
30
+ return utils.resolve(response);
31
+ };
32
+ });
33
+
34
+ exports.votePollFactory = votePollFactory;
@@ -0,0 +1,292 @@
1
+ 'use strict';
2
+
3
+ var custom = require('./apis/custom.cjs');
4
+ var getListReminder = require('./apis/getListReminder.cjs');
5
+ var removeUserFromGroup = require('./apis/removeUserFromGroup.cjs');
6
+ var createReminder = require('./apis/createReminder.cjs');
7
+ var sendReport = require('./apis/sendReport.cjs');
8
+ var getGroupInviteBoxList = require('./apis/getGroupInviteBoxList.cjs');
9
+ var setMute = require('./apis/setMute.cjs');
10
+ var getListBoard = require('./apis/getListBoard.cjs');
11
+ var deleteChat = require('./apis/deleteChat.cjs');
12
+ var changeGroupName = require('./apis/changeGroupName.cjs');
13
+ var updateGroupSettings = require('./apis/updateGroupSettings.cjs');
14
+ var addPollOptions = require('./apis/addPollOptions.cjs');
15
+ var getReminderResponses = require('./apis/getReminderResponses.cjs');
16
+ var getMute = require('./apis/getMute.cjs');
17
+ var parseLink = require('./apis/parseLink.cjs');
18
+ var changeGroupOwner = require('./apis/changeGroupOwner.cjs');
19
+ var uploadAttachment = require('./apis/uploadAttachment.cjs');
20
+ var getProductCatalogList = require('./apis/getProductCatalogList.cjs');
21
+ var deleteCatalog = require('./apis/deleteCatalog.cjs');
22
+ var lastOnline = require('./apis/lastOnline.cjs');
23
+ var getGroupLinkInfo = require('./apis/getGroupLinkInfo.cjs');
24
+ var forwardMessage = require('./apis/forwardMessage.cjs');
25
+ var getCookie = require('./apis/getCookie.cjs');
26
+ var updateAutoReply = require('./apis/updateAutoReply.cjs');
27
+ var changeFriendAlias = require('./apis/changeFriendAlias.cjs');
28
+ var findUser = require('./apis/findUser.cjs');
29
+ var editReminder = require('./apis/editReminder.cjs');
30
+ var reuseAvatar = require('./apis/reuseAvatar.cjs');
31
+ var getFriendOnlines = require('./apis/getFriendOnlines.cjs');
32
+ var uploadProductPhoto = require('./apis/uploadProductPhoto.cjs');
33
+ var sendBankCard = require('./apis/sendBankCard.cjs');
34
+ var getGroupInfo = require('./apis/getGroupInfo.cjs');
35
+ var deleteMessage = require('./apis/deleteMessage.cjs');
36
+ var votePoll = require('./apis/votePoll.cjs');
37
+ var sendFriendRequest = require('./apis/sendFriendRequest.cjs');
38
+ var resetHiddenConversPin = require('./apis/resetHiddenConversPin.cjs');
39
+ var addUserToGroup = require('./apis/addUserToGroup.cjs');
40
+ var deleteProductCatalog = require('./apis/deleteProductCatalog.cjs');
41
+ var getOwnId = require('./apis/getOwnId.cjs');
42
+ var undo = require('./apis/undo.cjs');
43
+ var joinGroupInviteBox = require('./apis/joinGroupInviteBox.cjs');
44
+ var deleteAutoReply = require('./apis/deleteAutoReply.cjs');
45
+ var setPinnedConversations = require('./apis/setPinnedConversations.cjs');
46
+ var undoFriendRequest = require('./apis/undoFriendRequest.cjs');
47
+ var getPendingGroupMembers = require('./apis/getPendingGroupMembers.cjs');
48
+ var removeGroupDeputy = require('./apis/removeGroupDeputy.cjs');
49
+ var getAllGroups = require('./apis/getAllGroups.cjs');
50
+ var changeGroupAvatar = require('./apis/changeGroupAvatar.cjs');
51
+ var updateQuickMessage = require('./apis/updateQuickMessage.cjs');
52
+ var reviewPendingMemberRequest = require('./apis/reviewPendingMemberRequest.cjs');
53
+ var addGroupDeputy = require('./apis/addGroupDeputy.cjs');
54
+ var rejectFriendRequest = require('./apis/rejectFriendRequest.cjs');
55
+ var createPoll = require('./apis/createPoll.cjs');
56
+ var sendLink = require('./apis/sendLink.cjs');
57
+ var createAutoReply = require('./apis/createAutoReply.cjs');
58
+ var setHiddenConversations = require('./apis/setHiddenConversations.cjs');
59
+ var setArchivedConversations = require('./apis/setArchivedConversations.cjs');
60
+ var getContext = require('./apis/getContext.cjs');
61
+ var getLastMessage = require('./apis/getLastMessage.cjs');
62
+ var joinGroupLink = require('./apis/joinGroupLink.cjs');
63
+ var getGroupBlockedMember = require('./apis/getGroupBlockedMember.cjs');
64
+ var updateSettings = require('./apis/updateSettings.cjs');
65
+ var sendDeliveredEvent = require('./apis/sendDeliveredEvent.cjs');
66
+ var getAvatarList = require('./apis/getAvatarList.cjs');
67
+ var disperseGroup = require('./apis/disperseGroup.cjs');
68
+ var createNote = require('./apis/createNote.cjs');
69
+ var unblockUser = require('./apis/unblockUser.cjs');
70
+ var lockPoll = require('./apis/lockPoll.cjs');
71
+ var editNote = require('./apis/editNote.cjs');
72
+ var createProductCatalog = require('./apis/createProductCatalog.cjs');
73
+ var changeAccountAvatar = require('./apis/changeAccountAvatar.cjs');
74
+ var updateLang = require('./apis/updateLang.cjs');
75
+ var getArchivedChatList = require('./apis/getArchivedChatList.cjs');
76
+ var removeFriendAlias = require('./apis/removeFriendAlias.cjs');
77
+ var getQR = require('./apis/getQR.cjs');
78
+ var sendSticker = require('./apis/sendSticker.cjs');
79
+ var getFriendRecommendations = require('./apis/getFriendRecommendations.cjs');
80
+ var updateLabels = require('./apis/updateLabels.cjs');
81
+ var updateActiveStatus = require('./apis/updateActiveStatus.cjs');
82
+ var sendTypingEvent = require('./apis/sendTypingEvent.cjs');
83
+ var removeGroupBlockedMember = require('./apis/removeGroupBlockedMember.cjs');
84
+ var getAutoDeleteChat = require('./apis/getAutoDeleteChat.cjs');
85
+ var getAliasList = require('./apis/getAliasList.cjs');
86
+ var getLabels = require('./apis/getLabels.cjs');
87
+ var addQuickMessage = require('./apis/addQuickMessage.cjs');
88
+ var getPinConversations = require('./apis/getPinConversations.cjs');
89
+ var sendVoice = require('./apis/sendVoice.cjs');
90
+ var keepAlive = require('./apis/keepAlive.cjs');
91
+ var sendSeenEvent = require('./apis/sendSeenEvent.cjs');
92
+ var leaveGroup = require('./apis/leaveGroup.cjs');
93
+ var acceptFriendRequest = require('./apis/acceptFriendRequest.cjs');
94
+ var getReminder = require('./apis/getReminder.cjs');
95
+ var updateCatalog = require('./apis/updateCatalog.cjs');
96
+ var createGroup = require('./apis/createGroup.cjs');
97
+ var getSentFriendRequest = require('./apis/getSentFriendRequest.cjs');
98
+ var deleteAvatar = require('./apis/deleteAvatar.cjs');
99
+ var getUnreadMark = require('./apis/getUnreadMark.cjs');
100
+ var getAutoReplyList = require('./apis/getAutoReplyList.cjs');
101
+ var getAllFriends = require('./apis/getAllFriends.cjs');
102
+ var getGroupLinkDetail = require('./apis/getGroupLinkDetail.cjs');
103
+ var createCatalog = require('./apis/createCatalog.cjs');
104
+ var enableGroupLink = require('./apis/enableGroupLink.cjs');
105
+ var getPollDetail = require('./apis/getPollDetail.cjs');
106
+ var blockViewFeed = require('./apis/blockViewFeed.cjs');
107
+ var updateProductCatalog = require('./apis/updateProductCatalog.cjs');
108
+ var sendVideo = require('./apis/sendVideo.cjs');
109
+ var getCatalogList = require('./apis/getCatalogList.cjs');
110
+ var getUserInfo = require('./apis/getUserInfo.cjs');
111
+ var sharePoll = require('./apis/sharePoll.cjs');
112
+ var getRecommendFriends = require('./apis/getRecommendFriends.cjs');
113
+ var getGroupMembersInfo = require('./apis/getGroupMembersInfo.cjs');
114
+ var removeUnreadMark = require('./apis/removeUnreadMark.cjs');
115
+ var getFriendBoardList = require('./apis/getFriendBoardList.cjs');
116
+ var addReaction = require('./apis/addReaction.cjs');
117
+ var removeFriend = require('./apis/removeFriend.cjs');
118
+ var updateAutoDeleteChat = require('./apis/updateAutoDeleteChat.cjs');
119
+ var updateHiddenConversPin = require('./apis/updateHiddenConversPin.cjs');
120
+ var sendCard = require('./apis/sendCard.cjs');
121
+ var getRelatedFriendGroup = require('./apis/getRelatedFriendGroup.cjs');
122
+ var inviteUserToGroups = require('./apis/inviteUserToGroups.cjs');
123
+ var blockUser = require('./apis/blockUser.cjs');
124
+ var sendMessage = require('./apis/sendMessage.cjs');
125
+ var updateProfile = require('./apis/updateProfile.cjs');
126
+ var getHiddenConversations = require('./apis/getHiddenConversations.cjs');
127
+ var getBizAccount = require('./apis/getBizAccount.cjs');
128
+ var getFriendRequestStatus = require('./apis/getFriendRequestStatus.cjs');
129
+ var fetchAccountInfo = require('./apis/fetchAccountInfo.cjs');
130
+ var disableGroupLink = require('./apis/disableGroupLink.cjs');
131
+ var removeQuickMessage = require('./apis/removeQuickMessage.cjs');
132
+ var forwardAttachment = require('./apis/forwardAttachment.cjs');
133
+ var removeReminder = require('./apis/removeReminder.cjs');
134
+ var deleteGroupInviteBox = require('./apis/deleteGroupInviteBox.cjs');
135
+ var addUnreadMark = require('./apis/addUnreadMark.cjs');
136
+ var getQuickMessageList = require('./apis/getQuickMessageList.cjs');
137
+ var getGroupInviteBoxInfo = require('./apis/getGroupInviteBoxInfo.cjs');
138
+ var getSettings = require('./apis/getSettings.cjs');
139
+ var addGroupBlockedMember = require('./apis/addGroupBlockedMember.cjs');
140
+ var getStickers = require('./apis/getStickers.cjs');
141
+ var getStickersDetail = require('./apis/getStickersDetail.cjs');
142
+
143
+ class ZaloAPI {
144
+ constructor(props) {
145
+ const { ctx, zpwServiceMap, wsUrls, uploadCompleted, onUploadCompleted } = props;
146
+ this.zpwServiceMap = zpwServiceMap;
147
+ this.wsUrls = wsUrls;
148
+ this.uploadCompleted = uploadCompleted;
149
+ this.onUploadCompleted = onUploadCompleted;
150
+ this.getListReminder = getListReminder.getListReminderFactory(ctx, this);
151
+ this.removeUserFromGroup = removeUserFromGroup.removeUserFromGroupFactory(ctx, this);
152
+ this.createReminder = createReminder.createReminderFactory(ctx, this);
153
+ this.sendReport = sendReport.sendReportFactory(ctx, this);
154
+ this.getGroupInviteBoxList = getGroupInviteBoxList.getGroupInviteBoxListFactory(ctx, this);
155
+ this.setMute = setMute.setMuteFactory(ctx, this);
156
+ this.getListBoard = getListBoard.getListBoardFactory(ctx, this);
157
+ this.deleteChat = deleteChat.deleteChatFactory(ctx, this);
158
+ this.changeGroupName = changeGroupName.changeGroupNameFactory(ctx, this);
159
+ this.updateGroupSettings = updateGroupSettings.updateGroupSettingsFactory(ctx, this);
160
+ this.addPollOptions = addPollOptions.addPollOptionsFactory(ctx, this);
161
+ this.getReminderResponses = getReminderResponses.getReminderResponsesFactory(ctx, this);
162
+ this.getMute = getMute.getMuteFactory(ctx, this);
163
+ this.parseLink = parseLink.parseLinkFactory(ctx, this);
164
+ this.changeGroupOwner = changeGroupOwner.changeGroupOwnerFactory(ctx, this);
165
+ this.uploadAttachment = uploadAttachment.uploadAttachmentFactory(ctx, this);
166
+ this.getProductCatalogList = getProductCatalogList.getProductCatalogListFactory(ctx, this);
167
+ this.deleteCatalog = deleteCatalog.deleteCatalogFactory(ctx, this);
168
+ this.lastOnline = lastOnline.lastOnlineFactory(ctx, this);
169
+ this.getGroupLinkInfo = getGroupLinkInfo.getGroupLinkInfoFactory(ctx, this);
170
+ this.forwardMessage = forwardMessage.forwardMessageFactory(ctx, this);
171
+ this.getCookie = getCookie.getCookieFactory(ctx, this);
172
+ this.updateAutoReply = updateAutoReply.updateAutoReplyFactory(ctx, this);
173
+ this.changeFriendAlias = changeFriendAlias.changeFriendAliasFactory(ctx, this);
174
+ this.findUser = findUser.findUserFactory(ctx, this);
175
+ this.editReminder = editReminder.editReminderFactory(ctx, this);
176
+ this.reuseAvatar = reuseAvatar.reuseAvatarFactory(ctx, this);
177
+ this.getFriendOnlines = getFriendOnlines.getFriendOnlinesFactory(ctx, this);
178
+ this.uploadProductPhoto = uploadProductPhoto.uploadProductPhotoFactory(ctx, this);
179
+ this.sendBankCard = sendBankCard.sendBankCardFactory(ctx, this);
180
+ this.getGroupInfo = getGroupInfo.getGroupInfoFactory(ctx, this);
181
+ this.deleteMessage = deleteMessage.deleteMessageFactory(ctx, this);
182
+ this.votePoll = votePoll.votePollFactory(ctx, this);
183
+ this.sendFriendRequest = sendFriendRequest.sendFriendRequestFactory(ctx, this);
184
+ this.resetHiddenConversPin = resetHiddenConversPin.resetHiddenConversPinFactory(ctx, this);
185
+ this.addUserToGroup = addUserToGroup.addUserToGroupFactory(ctx, this);
186
+ this.deleteProductCatalog = deleteProductCatalog.deleteProductCatalogFactory(ctx, this);
187
+ this.getOwnId = getOwnId.getOwnIdFactory(ctx, this);
188
+ this.undo = undo.undoFactory(ctx, this);
189
+ this.joinGroupInviteBox = joinGroupInviteBox.joinGroupInviteBoxFactory(ctx, this);
190
+ this.deleteAutoReply = deleteAutoReply.deleteAutoReplyFactory(ctx, this);
191
+ this.setPinnedConversations = setPinnedConversations.setPinnedConversationsFactory(ctx, this);
192
+ this.undoFriendRequest = undoFriendRequest.undoFriendRequestFactory(ctx, this);
193
+ this.getPendingGroupMembers = getPendingGroupMembers.getPendingGroupMembersFactory(ctx, this);
194
+ this.removeGroupDeputy = removeGroupDeputy.removeGroupDeputyFactory(ctx, this);
195
+ this.getAllGroups = getAllGroups.getAllGroupsFactory(ctx, this);
196
+ this.changeGroupAvatar = changeGroupAvatar.changeGroupAvatarFactory(ctx, this);
197
+ this.updateQuickMessage = updateQuickMessage.updateQuickMessageFactory(ctx, this);
198
+ this.reviewPendingMemberRequest = reviewPendingMemberRequest.reviewPendingMemberRequestFactory(ctx, this);
199
+ this.addGroupDeputy = addGroupDeputy.addGroupDeputyFactory(ctx, this);
200
+ this.rejectFriendRequest = rejectFriendRequest.rejectFriendRequestFactory(ctx, this);
201
+ this.createPoll = createPoll.createPollFactory(ctx, this);
202
+ this.sendLink = sendLink.sendLinkFactory(ctx, this);
203
+ this.createAutoReply = createAutoReply.createAutoReplyFactory(ctx, this);
204
+ this.setHiddenConversations = setHiddenConversations.setHiddenConversationsFactory(ctx, this);
205
+ this.setArchivedConversations = setArchivedConversations.setArchivedConversationsFactory(ctx, this);
206
+ this.getContext = getContext.getContextFactory(ctx, this);
207
+ this.getLastMessage = getLastMessage.getLastMessageFactory(ctx, this);
208
+ this.joinGroupLink = joinGroupLink.joinGroupLinkFactory(ctx, this);
209
+ this.getGroupBlockedMember = getGroupBlockedMember.getGroupBlockedMemberFactory(ctx, this);
210
+ this.updateSettings = updateSettings.updateSettingsFactory(ctx, this);
211
+ this.sendDeliveredEvent = sendDeliveredEvent.sendDeliveredEventFactory(ctx, this);
212
+ this.getAvatarList = getAvatarList.getAvatarListFactory(ctx, this);
213
+ this.disperseGroup = disperseGroup.disperseGroupFactory(ctx, this);
214
+ this.createNote = createNote.createNoteFactory(ctx, this);
215
+ this.unblockUser = unblockUser.unblockUserFactory(ctx, this);
216
+ this.lockPoll = lockPoll.lockPollFactory(ctx, this);
217
+ this.editNote = editNote.editNoteFactory(ctx, this);
218
+ this.createProductCatalog = createProductCatalog.createProductCatalogFactory(ctx, this);
219
+ this.changeAccountAvatar = changeAccountAvatar.changeAccountAvatarFactory(ctx, this);
220
+ this.updateLang = updateLang.updateLangFactory(ctx, this);
221
+ this.getArchivedChatList = getArchivedChatList.getArchivedChatListFactory(ctx, this);
222
+ this.removeFriendAlias = removeFriendAlias.removeFriendAliasFactory(ctx, this);
223
+ this.getQR = getQR.getQRFactory(ctx, this);
224
+ this.sendSticker = sendSticker.sendStickerFactory(ctx, this);
225
+ this.getFriendRecommendations = getFriendRecommendations.getFriendRecommendationsFactory(ctx, this);
226
+ this.updateLabels = updateLabels.updateLabelsFactory(ctx, this);
227
+ this.updateActiveStatus = updateActiveStatus.updateActiveStatusFactory(ctx, this);
228
+ this.sendTypingEvent = sendTypingEvent.sendTypingEventFactory(ctx, this);
229
+ this.removeGroupBlockedMember = removeGroupBlockedMember.removeGroupBlockedMemberFactory(ctx, this);
230
+ this.getAutoDeleteChat = getAutoDeleteChat.getAutoDeleteChatFactory(ctx, this);
231
+ this.getAliasList = getAliasList.getAliasListFactory(ctx, this);
232
+ this.getLabels = getLabels.getLabelsFactory(ctx, this);
233
+ this.addQuickMessage = addQuickMessage.addQuickMessageFactory(ctx, this);
234
+ this.getPinConversations = getPinConversations.getPinConversationsFactory(ctx, this);
235
+ this.sendVoice = sendVoice.sendVoiceFactory(ctx, this);
236
+ this.keepAlive = keepAlive.keepAliveFactory(ctx, this);
237
+ this.sendSeenEvent = sendSeenEvent.sendSeenEventFactory(ctx, this);
238
+ this.leaveGroup = leaveGroup.leaveGroupFactory(ctx, this);
239
+ this.acceptFriendRequest = acceptFriendRequest.acceptFriendRequestFactory(ctx, this);
240
+ this.getReminder = getReminder.getReminderFactory(ctx, this);
241
+ this.updateCatalog = updateCatalog.updateCatalogFactory(ctx, this);
242
+ this.createGroup = createGroup.createGroupFactory(ctx, this);
243
+ this.getSentFriendRequest = getSentFriendRequest.getSentFriendRequestFactory(ctx, this);
244
+ this.deleteAvatar = deleteAvatar.deleteAvatarFactory(ctx, this);
245
+ this.getUnreadMark = getUnreadMark.getUnreadMarkFactory(ctx, this);
246
+ this.getAutoReplyList = getAutoReplyList.getAutoReplyListFactory(ctx, this);
247
+ this.getAllFriends = getAllFriends.getAllFriendsFactory(ctx, this);
248
+ this.getGroupLinkDetail = getGroupLinkDetail.getGroupLinkDetailFactory(ctx, this);
249
+ this.createCatalog = createCatalog.createCatalogFactory(ctx, this);
250
+ this.enableGroupLink = enableGroupLink.enableGroupLinkFactory(ctx, this);
251
+ this.getPollDetail = getPollDetail.getPollDetailFactory(ctx, this);
252
+ this.blockViewFeed = blockViewFeed.blockViewFeedFactory(ctx, this);
253
+ this.updateProductCatalog = updateProductCatalog.updateProductCatalogFactory(ctx, this);
254
+ this.sendVideo = sendVideo.sendVideoFactory(ctx, this);
255
+ this.getCatalogList = getCatalogList.getCatalogListFactory(ctx, this);
256
+ this.getUserInfo = getUserInfo.getUserInfoFactory(ctx, this);
257
+ this.sharePoll = sharePoll.sharePollFactory(ctx, this);
258
+ this.getRecommendFriends = getRecommendFriends.getRecommendFriendsFactory(ctx, this);
259
+ this.getGroupMembersInfo = getGroupMembersInfo.getGroupMembersInfoFactory(ctx, this);
260
+ this.removeUnreadMark = removeUnreadMark.removeUnreadMarkFactory(ctx, this);
261
+ this.getFriendBoardList = getFriendBoardList.getFriendBoardListFactory(ctx, this);
262
+ this.addReaction = addReaction.addReactionFactory(ctx, this);
263
+ this.removeFriend = removeFriend.removeFriendFactory(ctx, this);
264
+ this.updateAutoDeleteChat = updateAutoDeleteChat.updateAutoDeleteChatFactory(ctx, this);
265
+ this.updateHiddenConversPin = updateHiddenConversPin.updateHiddenConversPinFactory(ctx, this);
266
+ this.sendCard = sendCard.sendCardFactory(ctx, this);
267
+ this.getRelatedFriendGroup = getRelatedFriendGroup.getRelatedFriendGroupFactory(ctx, this);
268
+ this.inviteUserToGroups = inviteUserToGroups.inviteUserToGroupsFactory(ctx, this);
269
+ this.blockUser = blockUser.blockUserFactory(ctx, this);
270
+ this.sendMessage = sendMessage.sendMessageFactory(ctx, this);
271
+ this.updateProfile = updateProfile.updateProfileFactory(ctx, this);
272
+ this.getHiddenConversations = getHiddenConversations.getHiddenConversationsFactory(ctx, this);
273
+ this.getBizAccount = getBizAccount.getBizAccountFactory(ctx, this);
274
+ this.getFriendRequestStatus = getFriendRequestStatus.getFriendRequestStatusFactory(ctx, this);
275
+ this.fetchAccountInfo = fetchAccountInfo.fetchAccountInfoFactory(ctx, this);
276
+ this.disableGroupLink = disableGroupLink.disableGroupLinkFactory(ctx, this);
277
+ this.removeQuickMessage = removeQuickMessage.removeQuickMessageFactory(ctx, this);
278
+ this.forwardAttachment = forwardAttachment.forwardAttachmentFactory(ctx, this);
279
+ this.removeReminder = removeReminder.removeReminderFactory(ctx, this);
280
+ this.deleteGroupInviteBox = deleteGroupInviteBox.deleteGroupInviteBoxFactory(ctx, this);
281
+ this.addUnreadMark = addUnreadMark.addUnreadMarkFactory(ctx, this);
282
+ this.getQuickMessageList = getQuickMessageList.getQuickMessageListFactory(ctx, this);
283
+ this.getGroupInviteBoxInfo = getGroupInviteBoxInfo.getGroupInviteBoxInfoFactory(ctx, this);
284
+ this.getSettings = getSettings.getSettingsFactory(ctx, this);
285
+ this.addGroupBlockedMember = addGroupBlockedMember.addGroupBlockedMemberFactory(ctx, this);
286
+ this.getStickers = getStickers.getStickersFactory(ctx, this);
287
+ this.getStickersDetail = getStickersDetail.getStickersDetailFactory(ctx, this);
288
+ this.custom = custom.customFactory(ctx, this);
289
+ }
290
+ }
291
+
292
+ exports.ZaloAPI = ZaloAPI;
@@ -1,5 +1,17 @@
1
1
  'use strict';
2
2
 
3
+ const _5_MINUTES = 5 * 60 * 1000;
4
+ class CallbacksMap extends Map {
5
+ /**
6
+ * @param ttl Time to live in milliseconds. Default is 5 minutes.
7
+ */
8
+ set(key, value, ttl = _5_MINUTES) {
9
+ setTimeout(() => {
10
+ this.delete(key);
11
+ }, ttl);
12
+ return super.set(key, value);
13
+ }
14
+ }
3
15
  const createContext = (apiType = 30, apiVersion = 665) => ({
4
16
  API_TYPE: apiType,
5
17
  API_VERSION: apiVersion,
@@ -14,6 +26,9 @@ const createContext = (apiType = 30, apiVersion = 665) => ({
14
26
  function isContextSession(ctx) {
15
27
  return !!ctx.secretKey;
16
28
  }
29
+ const MAX_MESSAGES_PER_SEND = 50;
17
30
 
31
+ exports.CallbacksMap = CallbacksMap;
32
+ exports.MAX_MESSAGES_PER_SEND = MAX_MESSAGES_PER_SEND;
18
33
  exports.createContext = createContext;
19
34
  exports.isContextSession = isContextSession;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ exports.AttachmentType = void 0;
4
+ (function (AttachmentType) {
5
+ AttachmentType["FILE"] = "file";
6
+ AttachmentType["IMAGE"] = "image";
7
+ AttachmentType["GIF"] = "gif";
8
+ AttachmentType["VIDEO"] = "video";
9
+ AttachmentType["AUDIO"] = "audio";
10
+ AttachmentType["STICKER"] = "sticker";
11
+ AttachmentType["CALL"] = "call";
12
+ AttachmentType["CARD"] = "card";
13
+ AttachmentType["LINK"] = "link";
14
+ })(exports.AttachmentType || (exports.AttachmentType = {}));