bb-fca 2.0.8 → 2.0.10
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.
- package/dist/core/models/buildAPI.js +3 -3
- package/dist/core/models/buildAPI.js.map +1 -1
- package/dist/core/models/loginHelper.js +29 -28
- package/dist/core/models/loginHelper.js.map +1 -1
- package/dist/deltas/apis/create.js +9 -0
- package/dist/deltas/apis/create.js.map +1 -1
- package/dist/deltas/apis/messaging/editMessage.js +13 -24
- package/dist/deltas/apis/messaging/editMessage.js.map +1 -1
- package/dist/deltas/apis/messaging/emoji.js +34 -88
- package/dist/deltas/apis/messaging/emoji.js.map +1 -1
- package/dist/deltas/apis/messaging/gcmember.js +48 -101
- package/dist/deltas/apis/messaging/gcmember.js.map +1 -1
- package/dist/deltas/apis/messaging/gcname.js +28 -79
- package/dist/deltas/apis/messaging/gcname.js.map +1 -1
- package/dist/deltas/apis/messaging/gcrule.js +47 -105
- package/dist/deltas/apis/messaging/gcrule.js.map +1 -1
- package/dist/deltas/apis/messaging/markAsDelivered.js +10 -12
- package/dist/deltas/apis/messaging/markAsDelivered.js.map +1 -1
- package/dist/deltas/apis/messaging/markAsRead.js +25 -60
- package/dist/deltas/apis/messaging/markAsRead.js.map +1 -1
- package/dist/deltas/apis/messaging/markAsReadAll.js +9 -11
- package/dist/deltas/apis/messaging/markAsReadAll.js.map +1 -1
- package/dist/deltas/apis/messaging/markAsSeen.js +10 -37
- package/dist/deltas/apis/messaging/markAsSeen.js.map +1 -1
- package/dist/deltas/apis/messaging/nickname.js +38 -98
- package/dist/deltas/apis/messaging/nickname.js.map +1 -1
- package/dist/deltas/apis/messaging/notes.js +52 -90
- package/dist/deltas/apis/messaging/notes.js.map +1 -1
- package/dist/deltas/apis/messaging/resolvePhotoUrl.js +17 -42
- package/dist/deltas/apis/messaging/resolvePhotoUrl.js.map +1 -1
- package/dist/deltas/apis/messaging/sendMessage.js +14 -15
- package/dist/deltas/apis/messaging/sendMessage.js.map +1 -1
- package/dist/deltas/apis/messaging/sendTypingIndicator.js +7 -13
- package/dist/deltas/apis/messaging/sendTypingIndicator.js.map +1 -1
- package/dist/deltas/apis/messaging/setMessageReaction.js +24 -14
- package/dist/deltas/apis/messaging/setMessageReaction.js.map +1 -1
- package/dist/deltas/apis/messaging/shareContact.js +14 -12
- package/dist/deltas/apis/messaging/shareContact.js.map +1 -1
- package/dist/deltas/apis/messaging/stickers.js +4 -5
- package/dist/deltas/apis/messaging/stickers.js.map +1 -1
- package/dist/deltas/apis/messaging/theme.js +142 -213
- package/dist/deltas/apis/messaging/theme.js.map +1 -1
- package/dist/deltas/apis/messaging/unsendMessage.js +14 -7
- package/dist/deltas/apis/messaging/unsendMessage.js.map +1 -1
- package/dist/deltas/apis/posting/group.js +22 -129
- package/dist/deltas/apis/posting/group.js.map +1 -1
- package/dist/deltas/apis/posting/post.js +805 -12
- package/dist/deltas/apis/posting/post.js.map +1 -1
- package/dist/index.d.ts +35 -58
- package/dist/types/deltas/apis/create.d.ts +9 -0
- package/dist/types/deltas/apis/messaging/editMessage.d.ts +4 -5
- package/dist/types/deltas/apis/messaging/emoji.d.ts +7 -1
- package/dist/types/deltas/apis/messaging/gcmember.d.ts +7 -1
- package/dist/types/deltas/apis/messaging/gcname.d.ts +9 -1
- package/dist/types/deltas/apis/messaging/gcrule.d.ts +7 -1
- package/dist/types/deltas/apis/messaging/markAsDelivered.d.ts +1 -2
- package/dist/types/deltas/apis/messaging/markAsRead.d.ts +1 -1
- package/dist/types/deltas/apis/messaging/markAsReadAll.d.ts +1 -2
- package/dist/types/deltas/apis/messaging/markAsSeen.d.ts +1 -1
- package/dist/types/deltas/apis/messaging/nickname.d.ts +7 -1
- package/dist/types/deltas/apis/messaging/notes.d.ts +13 -11
- package/dist/types/deltas/apis/messaging/resolvePhotoUrl.d.ts +4 -6
- package/dist/types/deltas/apis/messaging/sendMessage.d.ts +1 -1
- package/dist/types/deltas/apis/messaging/sendTypingIndicator.d.ts +1 -1
- package/dist/types/deltas/apis/messaging/setMessageReaction.d.ts +6 -1
- package/dist/types/deltas/apis/messaging/shareContact.d.ts +1 -2
- package/dist/types/deltas/apis/messaging/stickers.d.ts +1 -1
- package/dist/types/deltas/apis/messaging/theme.d.ts +8 -1
- package/dist/types/deltas/apis/messaging/unsendMessage.d.ts +6 -1
- package/dist/types/deltas/apis/posting/group.d.ts +1 -23
- package/dist/types/deltas/apis/posting/post.d.ts +23 -0
- package/dist/types/utils/constants.d.ts +26 -16
- package/dist/utils/constants.js +42 -29
- package/dist/utils/constants.js.map +1 -1
- package/package.json +1 -1
- package/src/core/models/buildAPI.ts +3 -3
- package/src/core/models/loginHelper.ts +32 -30
- package/src/deltas/apis/create.ts +10 -0
- package/src/deltas/apis/messaging/editMessage.ts +16 -26
- package/src/deltas/apis/messaging/emoji.ts +45 -97
- package/src/deltas/apis/messaging/gcmember.ts +68 -113
- package/src/deltas/apis/messaging/gcname.ts +42 -91
- package/src/deltas/apis/messaging/gcrule.ts +61 -111
- package/src/deltas/apis/messaging/markAsDelivered.ts +19 -14
- package/src/deltas/apis/messaging/markAsRead.ts +45 -72
- package/src/deltas/apis/messaging/markAsReadAll.ts +17 -17
- package/src/deltas/apis/messaging/markAsSeen.ts +17 -41
- package/src/deltas/apis/messaging/nickname.ts +50 -116
- package/src/deltas/apis/messaging/notes.ts +59 -95
- package/src/deltas/apis/messaging/resolvePhotoUrl.ts +27 -50
- package/src/deltas/apis/messaging/sendMessage.ts +28 -26
- package/src/deltas/apis/messaging/sendTypingIndicator.ts +13 -12
- package/src/deltas/apis/messaging/setMessageReaction.ts +45 -20
- package/src/deltas/apis/messaging/shareContact.ts +25 -15
- package/src/deltas/apis/messaging/stickers.ts +4 -4
- package/src/deltas/apis/messaging/theme.ts +172 -259
- package/src/deltas/apis/messaging/unsendMessage.ts +23 -7
- package/src/deltas/apis/posting/group.ts +56 -172
- package/src/deltas/apis/posting/post.ts +932 -33
- package/src/types/index.d.ts +35 -58
- package/src/utils/constants.ts +84 -57
- package/a.html +0 -537
- package/a.json +0 -5915
- package/src/utils/formatters.old.ts +0 -1049
- package/task.txt +0 -24
|
@@ -1,100 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default =
|
|
3
|
+
exports.default = gcmember;
|
|
4
4
|
const utils = require("../../../utils");
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* @module gcmember
|
|
7
|
+
* @param {Object} defaultFuncs
|
|
8
|
+
* @param {Object} api
|
|
9
|
+
* @param {Object} ctx
|
|
10
|
+
*/
|
|
11
|
+
function gcmember(defaultFuncs, api, ctx) {
|
|
6
12
|
/**
|
|
7
|
-
* Made by ChoruOfficial
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* @
|
|
12
|
-
* @param {string|string[]} userIDs The user ID or array of user IDs.
|
|
13
|
-
* @param {string} threadID The ID of the group chat.
|
|
14
|
-
* @param {Function} [callback] Optional callback function.
|
|
15
|
-
* @returns {Promise<object>} A promise that resolves with information about the action.
|
|
13
|
+
* Made by ChoruOfficial — Adds or removes members from a group chat via MQTT.
|
|
14
|
+
* @param {"add" | "remove"} action - The action to perform.
|
|
15
|
+
* @param {string | string[]} userIDs - The user ID or array of user IDs.
|
|
16
|
+
* @param {string} threadID - The ID of the group chat.
|
|
17
|
+
* @returns {Promise<object>}
|
|
16
18
|
*/
|
|
17
|
-
return async function gcmember(action, userIDs, threadID
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
return async function gcmember(action, userIDs, threadID) {
|
|
20
|
+
const validActions = ['add', 'remove'];
|
|
21
|
+
const normalizedAction = (action || '').toLowerCase();
|
|
22
|
+
if (!validActions.includes(normalizedAction)) {
|
|
23
|
+
return { type: 'error_gc', error: `Invalid action. Must be one of: ${validActions.join(', ')}` };
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
if (!userIDs || (Array.isArray(userIDs) && userIDs.length === 0)) {
|
|
26
|
+
return { type: 'error_gc', error: 'userIDs is required.' };
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (typeof _callback != 'function') {
|
|
32
|
-
_callback = (err, data) => {
|
|
33
|
-
// Note: We will now rarely use the 'err' parameter for validation errors
|
|
34
|
-
if (err)
|
|
35
|
-
return rejectPromise(err);
|
|
36
|
-
resolvePromise(data);
|
|
37
|
-
};
|
|
28
|
+
if (!threadID) {
|
|
29
|
+
return { type: 'error_gc', error: 'threadID is required.' };
|
|
30
|
+
}
|
|
31
|
+
if (!ctx.mqttClient) {
|
|
32
|
+
return { type: 'error_gc', error: 'Not connected to MQTT' };
|
|
38
33
|
}
|
|
39
34
|
try {
|
|
40
|
-
const validActions = ['add', 'remove'];
|
|
41
|
-
action = action ? action.toLowerCase() : '';
|
|
42
|
-
// --- ERROR CHECKS NOW RETURN AN OBJECT INSTEAD OF THROWING ---
|
|
43
|
-
if (!validActions.includes(action)) {
|
|
44
|
-
return _callback(null, {
|
|
45
|
-
type: 'error_gc',
|
|
46
|
-
error: `Invalid action. Must be one of: ${validActions.join(', ')}`,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
if (!userIDs || userIDs.length === 0) {
|
|
50
|
-
return _callback(null, {
|
|
51
|
-
type: 'error_gc',
|
|
52
|
-
error: 'userIDs is required.',
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
if (!threadID) {
|
|
56
|
-
return _callback(null, {
|
|
57
|
-
type: 'error_gc',
|
|
58
|
-
error: 'threadID is required.',
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
if (!ctx.mqttClient) {
|
|
62
|
-
return _callback(null, {
|
|
63
|
-
type: 'error_gc',
|
|
64
|
-
error: 'Not connected to MQTT',
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
35
|
const threadInfo = await api.getThreadInfo(threadID);
|
|
68
36
|
if (!threadInfo) {
|
|
69
|
-
return
|
|
70
|
-
type: 'error_gc',
|
|
71
|
-
error: 'Could not retrieve thread information.',
|
|
72
|
-
});
|
|
37
|
+
return { type: 'error_gc', error: 'Could not retrieve thread information.' };
|
|
73
38
|
}
|
|
74
39
|
if (threadInfo.isGroup === false) {
|
|
75
|
-
return
|
|
76
|
-
type: 'error_gc',
|
|
77
|
-
error: 'This feature is only for group chats, not private messages.',
|
|
78
|
-
});
|
|
40
|
+
return { type: 'error_gc', error: 'This feature is only for group chats, not private messages.' };
|
|
79
41
|
}
|
|
80
42
|
const currentMembers = threadInfo.participantIDs;
|
|
81
43
|
const usersToModify = Array.isArray(userIDs) ? userIDs : [userIDs];
|
|
82
|
-
let queryPayload, query;
|
|
83
|
-
let finalUsers = usersToModify;
|
|
84
44
|
ctx.wsReqNumber = (ctx.wsReqNumber || 0) + 1;
|
|
85
45
|
ctx.wsTaskNumber = (ctx.wsTaskNumber || 0) + 1;
|
|
86
|
-
|
|
46
|
+
let query;
|
|
47
|
+
let finalUsers;
|
|
48
|
+
if (normalizedAction === 'add') {
|
|
87
49
|
const usersToAdd = usersToModify.filter((id) => !currentMembers.includes(id));
|
|
88
50
|
if (usersToAdd.length === 0) {
|
|
89
|
-
return
|
|
90
|
-
type: 'error_gc',
|
|
91
|
-
error: 'All specified users are already in the group.',
|
|
92
|
-
});
|
|
51
|
+
return { type: 'error_gc', error: 'All specified users are already in the group.' };
|
|
93
52
|
}
|
|
94
53
|
finalUsers = usersToAdd;
|
|
95
|
-
queryPayload = {
|
|
96
|
-
thread_key: parseInt(threadID),
|
|
97
|
-
contact_ids: finalUsers.map((id) => parseInt(id)),
|
|
54
|
+
const queryPayload = {
|
|
55
|
+
thread_key: Number.parseInt(threadID),
|
|
56
|
+
contact_ids: finalUsers.map((id) => Number.parseInt(id)),
|
|
98
57
|
sync_group: 1,
|
|
99
58
|
};
|
|
100
59
|
query = {
|
|
@@ -105,16 +64,12 @@ function default_1(defaultFuncs, api, ctx) {
|
|
|
105
64
|
};
|
|
106
65
|
}
|
|
107
66
|
else {
|
|
108
|
-
// action is 'remove'
|
|
109
67
|
const userToRemove = usersToModify[0];
|
|
110
68
|
if (!currentMembers.includes(userToRemove)) {
|
|
111
|
-
return
|
|
112
|
-
type: 'error_gc',
|
|
113
|
-
error: `User with ID ${userToRemove} is not in this group chat.`,
|
|
114
|
-
});
|
|
69
|
+
return { type: 'error_gc', error: `User with ID ${userToRemove} is not in this group chat.` };
|
|
115
70
|
}
|
|
116
71
|
finalUsers = [userToRemove];
|
|
117
|
-
queryPayload = {
|
|
72
|
+
const queryPayload = {
|
|
118
73
|
thread_id: threadID,
|
|
119
74
|
contact_id: userToRemove,
|
|
120
75
|
sync_group: 1,
|
|
@@ -129,7 +84,7 @@ function default_1(defaultFuncs, api, ctx) {
|
|
|
129
84
|
const context = {
|
|
130
85
|
app_id: ctx.appID,
|
|
131
86
|
payload: {
|
|
132
|
-
epoch_id: parseInt(utils.generateOfflineThreadingID()),
|
|
87
|
+
epoch_id: Number.parseInt(utils.generateOfflineThreadingID()),
|
|
133
88
|
tasks: [query],
|
|
134
89
|
version_id: '24631415369801570',
|
|
135
90
|
},
|
|
@@ -137,28 +92,20 @@ function default_1(defaultFuncs, api, ctx) {
|
|
|
137
92
|
type: 3,
|
|
138
93
|
};
|
|
139
94
|
context.payload = JSON.stringify(context.payload);
|
|
140
|
-
ctx.mqttClient.publish('/ls_req', JSON.stringify(context), { qos: 1, retain: false }, (err) =>
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
timestamp: Date.now(),
|
|
151
|
-
};
|
|
152
|
-
return _callback(null, gcmemberInfo);
|
|
153
|
-
});
|
|
95
|
+
await new Promise((resolve, reject) => ctx.mqttClient.publish('/ls_req', JSON.stringify(context), { qos: 1, retain: false }, (err) => (err ? reject(err) : resolve())));
|
|
96
|
+
return {
|
|
97
|
+
type: 'gc_member_update',
|
|
98
|
+
threadID,
|
|
99
|
+
userIDs: finalUsers,
|
|
100
|
+
action: normalizedAction,
|
|
101
|
+
senderID: ctx.userID,
|
|
102
|
+
BotID: ctx.userID,
|
|
103
|
+
timestamp: Date.now(),
|
|
104
|
+
};
|
|
154
105
|
}
|
|
155
106
|
catch (err) {
|
|
156
|
-
return
|
|
157
|
-
type: 'error_gc',
|
|
158
|
-
error: err.message || 'An unknown error occurred.',
|
|
159
|
-
});
|
|
107
|
+
return { type: 'error_gc', error: err.message || 'An unknown error occurred.' };
|
|
160
108
|
}
|
|
161
|
-
return returnPromise;
|
|
162
109
|
};
|
|
163
110
|
}
|
|
164
111
|
//# sourceMappingURL=gcmember.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcmember.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/gcmember.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"gcmember.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/gcmember.ts"],"names":[],"mappings":";;AAQA,2BAyHC;AAjID,wCAAyC;AAEzC;;;;;GAKG;AACH,SAAwB,QAAQ,CAC9B,YAAiB,EACjB,GAAQ,EACR,GAAQ;IAER;;;;;;OAMG;IACH,OAAO,KAAK,UAAU,QAAQ,CAC5B,MAAwB,EACxB,OAA0B,EAC1B,QAAgB;QAEhB,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvC,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAsB,CAAC;QAE1E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,mCAAmC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACnG,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;YAC/E,CAAC;YACD,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACjC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,6DAA6D,EAAE,CAAC;YACpG,CAAC;YAED,MAAM,cAAc,GAAa,UAAU,CAAC,cAAc,CAAC;YAC3D,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAEnE,GAAG,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7C,GAAG,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAE/C,IAAI,KAAU,CAAC;YACf,IAAI,UAAoB,CAAC;YAEzB,IAAI,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAC;gBACtF,CAAC;gBACD,UAAU,GAAG,UAAU,CAAC;gBACxB,MAAM,YAAY,GAAG;oBACnB,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACrC,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxD,UAAU,EAAE,CAAC;iBACd,CAAC;gBACF,KAAK,GAAG;oBACN,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;oBACrC,UAAU,EAAE,QAAQ;oBACpB,OAAO,EAAE,GAAG,CAAC,YAAY;iBAC1B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,YAAY,6BAA6B,EAAE,CAAC;gBAChG,CAAC;gBACD,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC5B,MAAM,YAAY,GAAG;oBACnB,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,YAAY;oBACxB,UAAU,EAAE,CAAC;iBACd,CAAC;gBACF,KAAK,GAAG;oBACN,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;oBACrC,UAAU,EAAE,uBAAuB;oBACnC,OAAO,EAAE,GAAG,CAAC,YAAY;iBAC1B,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAQ;gBACnB,MAAM,EAAE,GAAG,CAAC,KAAK;gBACjB,OAAO,EAAE;oBACP,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC;oBAC7D,KAAK,EAAE,CAAC,KAAK,CAAC;oBACd,UAAU,EAAE,mBAAmB;iBAChC;gBACD,UAAU,EAAE,GAAG,CAAC,WAAW;gBAC3B,IAAI,EAAE,CAAC;aACR,CAAC;YACF,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAElD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,CAAC,OAAO,CACpB,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EACvB,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EACzB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CACzC,CACF,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE,kBAAkB;gBACxB,QAAQ;gBACR,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,gBAAgB;gBACxB,QAAQ,EAAE,GAAG,CAAC,MAAM;gBACpB,KAAK,EAAE,GAAG,CAAC,MAAM;gBACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,IAAI,4BAA4B,EAAE,CAAC;QAClF,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,81 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default =
|
|
3
|
+
exports.default = gcname;
|
|
4
4
|
const utils = require("../../../utils");
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Made by Choru Official
|
|
7
|
+
* Sets the name of a group chat thread via MQTT.
|
|
8
|
+
*
|
|
9
|
+
* @param {Object} defaultFuncs
|
|
10
|
+
* @param {Object} api
|
|
11
|
+
* @param {Object} ctx
|
|
12
|
+
*/
|
|
13
|
+
function gcname(defaultFuncs, api, ctx) {
|
|
6
14
|
/**
|
|
7
|
-
* Made by Choru Official
|
|
8
|
-
* Mqtt
|
|
9
15
|
* Sets the name of a group chat thread via MQTT.
|
|
10
|
-
*
|
|
11
|
-
* @param {string}
|
|
12
|
-
* @param {string}
|
|
13
|
-
* @
|
|
14
|
-
* @param {string} [initiatorID] The ID of the user who initiated the group name change (e.g., from event.senderID).
|
|
15
|
-
* @returns {Promise<object>} A promise that resolves with a structured event object on success or rejects on error.
|
|
16
|
+
* @param {string} newName - The new name for the group chat.
|
|
17
|
+
* @param {string} threadID - The ID of the group chat thread.
|
|
18
|
+
* @param {string} [initiatorID] - The ID of the user who initiated the change.
|
|
19
|
+
* @returns {Promise<object>}
|
|
16
20
|
*/
|
|
17
|
-
return function gcname(newName, threadID,
|
|
18
|
-
let _callback;
|
|
19
|
-
let _initiatorID;
|
|
20
|
-
let _resolvePromise;
|
|
21
|
-
let _rejectPromise;
|
|
22
|
-
const returnPromise = new Promise((resolve, reject) => {
|
|
23
|
-
_resolvePromise = resolve;
|
|
24
|
-
_rejectPromise = reject;
|
|
25
|
-
});
|
|
26
|
-
if (utils.getType(callback) === 'Function' ||
|
|
27
|
-
utils.getType(callback) === 'AsyncFunction') {
|
|
28
|
-
_callback = callback;
|
|
29
|
-
_initiatorID = initiatorID;
|
|
30
|
-
}
|
|
31
|
-
else if (utils.getType(threadID) === 'Function' ||
|
|
32
|
-
utils.getType(threadID) === 'AsyncFunction') {
|
|
33
|
-
_callback = threadID;
|
|
34
|
-
threadID = null;
|
|
35
|
-
_initiatorID = callback;
|
|
36
|
-
}
|
|
37
|
-
else if (utils.getType(callback) === 'string') {
|
|
38
|
-
_initiatorID = callback;
|
|
39
|
-
_callback = undefined;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
_callback = undefined;
|
|
43
|
-
_initiatorID = undefined;
|
|
44
|
-
}
|
|
45
|
-
if (!_callback) {
|
|
46
|
-
_callback = function (__err, __data) {
|
|
47
|
-
if (__err)
|
|
48
|
-
_rejectPromise(__err);
|
|
49
|
-
else
|
|
50
|
-
_resolvePromise(__data);
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
const originalCallback = _callback;
|
|
55
|
-
_callback = function (__err, __data) {
|
|
56
|
-
if (__err) {
|
|
57
|
-
originalCallback(__err);
|
|
58
|
-
_rejectPromise(__err);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
originalCallback(null, __data);
|
|
62
|
-
_resolvePromise(__data);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
_initiatorID = _initiatorID || ctx.userID;
|
|
67
|
-
threadID = threadID || ctx.threadID;
|
|
21
|
+
return async function gcname(newName, threadID, initiatorID) {
|
|
68
22
|
if (!threadID) {
|
|
69
|
-
|
|
23
|
+
throw new Error('threadID is required to change the group chat name.');
|
|
70
24
|
}
|
|
71
25
|
if (typeof newName !== 'string') {
|
|
72
|
-
|
|
26
|
+
throw new Error('newName must be a string.');
|
|
73
27
|
}
|
|
74
28
|
if (!ctx.mqttClient) {
|
|
75
|
-
|
|
29
|
+
throw new Error('Not connected to MQTT');
|
|
76
30
|
}
|
|
77
31
|
ctx.wsReqNumber += 1;
|
|
78
32
|
ctx.wsTaskNumber += 1;
|
|
33
|
+
const _initiatorID = initiatorID || ctx.userID;
|
|
79
34
|
const queryPayload = {
|
|
80
35
|
thread_key: threadID.toString(),
|
|
81
36
|
thread_name: newName,
|
|
@@ -99,21 +54,15 @@ function default_1(defaultFuncs, api, ctx) {
|
|
|
99
54
|
type: 3,
|
|
100
55
|
};
|
|
101
56
|
context.payload = JSON.stringify(context.payload);
|
|
102
|
-
ctx.mqttClient.publish('/ls_req', JSON.stringify(context), { qos: 1, retain: false }, (err) => {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
BotID: ctx.userID,
|
|
112
|
-
timestamp: Date.now(),
|
|
113
|
-
};
|
|
114
|
-
_callback(null, gcnameChangeEvent);
|
|
115
|
-
});
|
|
116
|
-
return returnPromise;
|
|
57
|
+
await new Promise((resolve, reject) => ctx.mqttClient.publish('/ls_req', JSON.stringify(context), { qos: 1, retain: false }, (err) => (err ? reject(new Error(`MQTT publish failed for gcname: ${err.message || err}`)) : resolve())));
|
|
58
|
+
return {
|
|
59
|
+
type: 'thread_name_update',
|
|
60
|
+
threadID,
|
|
61
|
+
newName,
|
|
62
|
+
senderID: _initiatorID,
|
|
63
|
+
BotID: ctx.userID,
|
|
64
|
+
timestamp: Date.now(),
|
|
65
|
+
};
|
|
117
66
|
};
|
|
118
67
|
}
|
|
119
68
|
//# sourceMappingURL=gcname.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcname.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/gcname.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"gcname.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/gcname.ts"],"names":[],"mappings":";;AAUA,yBA4EC;AAtFD,wCAAyC;AAEzC;;;;;;;GAOG;AACH,SAAwB,MAAM,CAC5B,YAAiB,EACjB,GAAQ,EACR,GAAQ;IAER;;;;;;OAMG;IACH,OAAO,KAAK,UAAU,MAAM,CAC1B,OAAe,EACf,QAAgB,EAChB,WAAoB;QAEpB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;QACrB,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;QAEtB,MAAM,YAAY,GAAG,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC;QAE/C,MAAM,YAAY,GAAG;YACnB,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE;YAC/B,WAAW,EAAE,OAAO;YACpB,UAAU,EAAE,CAAC;SACd,CAAC;QAEF,MAAM,KAAK,GAAG;YACZ,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YACrC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE;YAC/B,OAAO,EAAE,GAAG,CAAC,YAAY;SAC1B,CAAC;QAEF,MAAM,OAAO,GAAQ;YACnB,MAAM,EAAE,GAAG,CAAC,KAAK;YACjB,OAAO,EAAE;gBACP,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC;gBACtD,KAAK,EAAE,CAAC,KAAK,CAAC;gBACd,UAAU,EAAE,mBAAmB;aAChC;YACD,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,IAAI,EAAE,CAAC;SACR,CAAC;QACF,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAElD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,CAAC,OAAO,CACpB,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EACvB,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EACzB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CACxG,CACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,QAAQ;YACR,OAAO;YACP,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,GAAG,CAAC,MAAM;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,103 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default =
|
|
3
|
+
exports.default = gcrule;
|
|
4
4
|
const utils = require("../../../utils");
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* @module gcrule
|
|
7
|
+
* @param {Object} defaultFuncs
|
|
8
|
+
* @param {Object} api
|
|
9
|
+
* @param {Object} ctx
|
|
10
|
+
*/
|
|
11
|
+
function gcrule(defaultFuncs, api, ctx) {
|
|
6
12
|
/**
|
|
7
|
-
* Made by ChoruOfficial
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* @
|
|
12
|
-
* @param {string} userID The ID of the user to promote or demote.
|
|
13
|
-
* @param {string} threadID The ID of the group chat.
|
|
14
|
-
* @param {Function} [callback] Optional callback function.
|
|
15
|
-
* @returns {Promise<object>} A promise that resolves with information about the action.
|
|
13
|
+
* Made by ChoruOfficial — Promotes or demotes a group chat member admin status via MQTT.
|
|
14
|
+
* @param {"admin" | "unadmin"} action - The action to perform.
|
|
15
|
+
* @param {string} userID - The user ID to promote or demote.
|
|
16
|
+
* @param {string} threadID - The ID of the group chat.
|
|
17
|
+
* @returns {Promise<object>}
|
|
16
18
|
*/
|
|
17
|
-
return async function gcrule(action, userID, threadID
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
else if (typeof callback === 'function') {
|
|
24
|
-
_callback = callback;
|
|
25
|
-
}
|
|
26
|
-
let resolvePromise, rejectPromise;
|
|
27
|
-
const returnPromise = new Promise((resolve, reject) => {
|
|
28
|
-
resolvePromise = resolve;
|
|
29
|
-
rejectPromise = reject;
|
|
30
|
-
});
|
|
31
|
-
if (typeof _callback != 'function') {
|
|
32
|
-
_callback = (err, data) => {
|
|
33
|
-
if (err)
|
|
34
|
-
return rejectPromise(err);
|
|
35
|
-
resolvePromise(data);
|
|
36
|
-
};
|
|
19
|
+
return async function gcrule(action, userID, threadID) {
|
|
20
|
+
const validActions = ['admin', 'unadmin'];
|
|
21
|
+
const normalizedAction = (action || '').toLowerCase();
|
|
22
|
+
if (!validActions.includes(normalizedAction)) {
|
|
23
|
+
return { type: 'error_gc_rule', error: `Invalid action. Must be one of: ${validActions.join(', ')}` };
|
|
37
24
|
}
|
|
25
|
+
if (!userID)
|
|
26
|
+
return { type: 'error_gc_rule', error: 'userID is required.' };
|
|
27
|
+
if (!threadID)
|
|
28
|
+
return { type: 'error_gc_rule', error: 'threadID is required.' };
|
|
29
|
+
if (!ctx.mqttClient)
|
|
30
|
+
return { type: 'error_gc_rule', error: 'Not connected to MQTT' };
|
|
38
31
|
try {
|
|
39
|
-
const validActions = ['admin', 'unadmin'];
|
|
40
|
-
action = action ? action.toLowerCase() : '';
|
|
41
|
-
if (!validActions.includes(action)) {
|
|
42
|
-
return _callback(null, {
|
|
43
|
-
type: 'error_gc_rule',
|
|
44
|
-
error: `Invalid action. Must be one of: ${validActions.join(', ')}`,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
if (!userID)
|
|
48
|
-
return _callback(null, {
|
|
49
|
-
type: 'error_gc_rule',
|
|
50
|
-
error: 'userID is required.',
|
|
51
|
-
});
|
|
52
|
-
if (!threadID)
|
|
53
|
-
return _callback(null, {
|
|
54
|
-
type: 'error_gc_rule',
|
|
55
|
-
error: 'threadID is required.',
|
|
56
|
-
});
|
|
57
|
-
if (!ctx.mqttClient)
|
|
58
|
-
return _callback(null, {
|
|
59
|
-
type: 'error_gc_rule',
|
|
60
|
-
error: 'Not connected to MQTT',
|
|
61
|
-
});
|
|
62
32
|
const threadInfo = await api.getThreadInfo(threadID);
|
|
63
|
-
if (!threadInfo)
|
|
64
|
-
return
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
if (threadInfo.isGroup === false) {
|
|
70
|
-
return _callback(null, {
|
|
71
|
-
type: 'error_gc_rule',
|
|
72
|
-
error: 'This feature is only for group chats.',
|
|
73
|
-
});
|
|
74
|
-
}
|
|
33
|
+
if (!threadInfo)
|
|
34
|
+
return { type: 'error_gc_rule', error: 'Could not retrieve thread information.' };
|
|
35
|
+
if (threadInfo.isGroup === false)
|
|
36
|
+
return { type: 'error_gc_rule', error: 'This feature is only for group chats.' };
|
|
75
37
|
const adminIDs = threadInfo.adminIDs || [];
|
|
76
38
|
const isCurrentlyAdmin = adminIDs.some((admin) => admin.id === userID);
|
|
77
|
-
if (
|
|
78
|
-
|
|
79
|
-
return _callback(null, {
|
|
80
|
-
type: 'error_gc_rule',
|
|
81
|
-
error: `User is already an admin.`,
|
|
82
|
-
});
|
|
83
|
-
}
|
|
39
|
+
if (normalizedAction === 'admin' && isCurrentlyAdmin) {
|
|
40
|
+
return { type: 'error_gc_rule', error: 'User is already an admin.' };
|
|
84
41
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
if (!isCurrentlyAdmin) {
|
|
88
|
-
return _callback(null, {
|
|
89
|
-
type: 'error_gc_rule',
|
|
90
|
-
error: `User is not an admin.`,
|
|
91
|
-
});
|
|
92
|
-
}
|
|
42
|
+
if (normalizedAction === 'unadmin' && !isCurrentlyAdmin) {
|
|
43
|
+
return { type: 'error_gc_rule', error: 'User is not an admin.' };
|
|
93
44
|
}
|
|
94
|
-
const isAdminStatus = action === 'admin' ? 1 : 0;
|
|
95
45
|
ctx.wsReqNumber = (ctx.wsReqNumber || 0) + 1;
|
|
96
46
|
ctx.wsTaskNumber = (ctx.wsTaskNumber || 0) + 1;
|
|
97
47
|
const queryPayload = {
|
|
98
|
-
thread_key: parseInt(threadID),
|
|
99
|
-
contact_id: parseInt(userID),
|
|
100
|
-
is_admin:
|
|
48
|
+
thread_key: Number.parseInt(threadID),
|
|
49
|
+
contact_id: Number.parseInt(userID),
|
|
50
|
+
is_admin: normalizedAction === 'admin' ? 1 : 0,
|
|
101
51
|
};
|
|
102
52
|
const query = {
|
|
103
53
|
failure_count: null,
|
|
@@ -109,7 +59,7 @@ function default_1(defaultFuncs, api, ctx) {
|
|
|
109
59
|
const context = {
|
|
110
60
|
app_id: ctx.appID,
|
|
111
61
|
payload: {
|
|
112
|
-
epoch_id: parseInt(utils.generateOfflineThreadingID()),
|
|
62
|
+
epoch_id: Number.parseInt(utils.generateOfflineThreadingID()),
|
|
113
63
|
tasks: [query],
|
|
114
64
|
version_id: '24631415369801570',
|
|
115
65
|
},
|
|
@@ -117,28 +67,20 @@ function default_1(defaultFuncs, api, ctx) {
|
|
|
117
67
|
type: 3,
|
|
118
68
|
};
|
|
119
69
|
context.payload = JSON.stringify(context.payload);
|
|
120
|
-
ctx.mqttClient.publish('/ls_req', JSON.stringify(context), { qos: 1, retain: false }, (err) =>
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
timestamp: Date.now(),
|
|
131
|
-
};
|
|
132
|
-
return _callback(null, gcruleInfo);
|
|
133
|
-
});
|
|
70
|
+
await new Promise((resolve, reject) => ctx.mqttClient.publish('/ls_req', JSON.stringify(context), { qos: 1, retain: false }, (err) => (err ? reject(err) : resolve())));
|
|
71
|
+
return {
|
|
72
|
+
type: 'gc_rule_update',
|
|
73
|
+
threadID,
|
|
74
|
+
userID,
|
|
75
|
+
action: normalizedAction,
|
|
76
|
+
senderID: ctx.userID,
|
|
77
|
+
BotID: ctx.userID,
|
|
78
|
+
timestamp: Date.now(),
|
|
79
|
+
};
|
|
134
80
|
}
|
|
135
81
|
catch (err) {
|
|
136
|
-
return
|
|
137
|
-
type: 'error_gc_rule',
|
|
138
|
-
error: err.message || 'An unknown error occurred.',
|
|
139
|
-
});
|
|
82
|
+
return { type: 'error_gc_rule', error: err.message || 'An unknown error occurred.' };
|
|
140
83
|
}
|
|
141
|
-
return returnPromise;
|
|
142
84
|
};
|
|
143
85
|
}
|
|
144
86
|
//# sourceMappingURL=gcrule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcrule.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/gcrule.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"gcrule.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/gcrule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
// @ChoruOfficial
|
|
2
1
|
"use strict";
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.default =
|
|
3
|
+
exports.default = markAsDelivered;
|
|
4
|
+
// @ChoruOfficial
|
|
5
5
|
const utils = require("../../../utils");
|
|
6
6
|
/**
|
|
7
7
|
* @param {Object} defaultFuncs
|
|
8
8
|
* @param {Object} api
|
|
9
9
|
* @param {Object} ctx
|
|
10
|
-
* @returns {function(threadID: string, messageID: string): Promise<void>}
|
|
11
10
|
*/
|
|
12
|
-
function
|
|
11
|
+
function markAsDelivered(defaultFuncs, api, ctx) {
|
|
13
12
|
/**
|
|
14
13
|
* Marks a message as delivered.
|
|
15
14
|
* @param {string} threadID - The ID of the thread.
|
|
16
15
|
* @param {string} messageID - The ID of the message to mark as delivered.
|
|
17
|
-
* @returns {Promise<void>}
|
|
16
|
+
* @returns {Promise<void>}
|
|
18
17
|
*/
|
|
19
18
|
return async function markAsDelivered(threadID, messageID) {
|
|
20
19
|
if (!threadID || !messageID) {
|
|
21
|
-
const err =
|
|
22
|
-
utils.error(
|
|
20
|
+
const err = 'Error: messageID or threadID is not defined';
|
|
21
|
+
utils.error('markAsDelivered', err);
|
|
23
22
|
throw new Error(err);
|
|
24
23
|
}
|
|
25
24
|
const form = {};
|
|
26
|
-
form[
|
|
27
|
-
form[
|
|
25
|
+
form['message_ids[0]'] = messageID;
|
|
26
|
+
form['thread_ids[' + threadID + '][0]'] = messageID;
|
|
28
27
|
try {
|
|
29
28
|
const resData = await defaultFuncs
|
|
30
|
-
.post(
|
|
29
|
+
.post('https://www.facebook.com/ajax/mercury/delivery_receipts.php', ctx.jar, form)
|
|
31
30
|
.then(utils.saveCookies(ctx.jar))
|
|
32
31
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs));
|
|
33
32
|
if (resData.error) {
|
|
@@ -35,10 +34,9 @@ function default_1(defaultFuncs, api, ctx) {
|
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
catch (err) {
|
|
38
|
-
utils.error(
|
|
37
|
+
utils.error('markAsDelivered', err);
|
|
39
38
|
throw err;
|
|
40
39
|
}
|
|
41
40
|
};
|
|
42
41
|
}
|
|
43
|
-
;
|
|
44
42
|
//# sourceMappingURL=markAsDelivered.js.map
|