bb-fca 2.0.9 → 2.0.11
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/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 +440 -11
- package/dist/deltas/apis/posting/group.js.map +1 -1
- package/dist/index.d.ts +18 -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 +88 -0
- package/package.json +1 -1
- 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 +516 -11
- package/src/types/index.d.ts +18 -0
- package/request.txt +0 -60
|
@@ -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":";;AAQA,yBA6FC;AArGD,wCAAyC;AAEzC;;;;;GAKG;AACH,SAAwB,MAAM,CAC5B,YAAiB,EACjB,GAAQ,EACR,GAAQ;IAER;;;;;;OAMG;IACH,OAAO,KAAK,UAAU,MAAM,CAC1B,MAA2B,EAC3B,MAAc,EACd,QAAgB;QAEhB,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAyB,CAAC;QAE7E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,mCAAmC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACxG,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QAC5E,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAChF,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAEtF,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU;gBAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;YACnG,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;YAEnH,MAAM,QAAQ,GAAqB,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC7D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YAEvE,IAAI,gBAAgB,KAAK,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACrD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;YACvE,CAAC;YACD,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;YACnE,CAAC;YAED,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,MAAM,YAAY,GAAG;gBACnB,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACrC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACnC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/C,CAAC;YAEF,MAAM,KAAK,GAAG;gBACZ,aAAa,EAAE,IAAI;gBACnB,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;gBACrC,UAAU,EAAE,cAAc;gBAC1B,OAAO,EAAE,GAAG,CAAC,YAAY;aAC1B,CAAC;YAEF,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,gBAAgB;gBACtB,QAAQ;gBACR,MAAM;gBACN,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,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,IAAI,4BAA4B,EAAE,CAAC;QACvF,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markAsDelivered.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/markAsDelivered.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markAsDelivered.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/markAsDelivered.ts"],"names":[],"mappings":";;AAQA,kCA2CC;AAnDD,iBAAiB;AACjB,wCAAyC;AAEzC;;;;GAIG;AACH,SAAwB,eAAe,CACrC,YAAiB,EACjB,GAAQ,EACR,GAAQ;IAER;;;;;OAKG;IACH,OAAO,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,SAAiB;QAEjB,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,6CAA6C,CAAC;YAC1D,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,GAAwB,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY;iBAC/B,IAAI,CACH,6DAA6D,EAC7D,GAAG,CAAC,GAAG,EACP,IAAI,CACL;iBACA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAChC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default =
|
|
3
|
+
exports.default = markAsRead;
|
|
4
4
|
// @ChoruOfficial
|
|
5
5
|
const utils = require("../../../utils");
|
|
6
6
|
/**
|
|
@@ -8,77 +8,42 @@ const utils = require("../../../utils");
|
|
|
8
8
|
* @param {Object} api
|
|
9
9
|
* @param {Object} ctx
|
|
10
10
|
*/
|
|
11
|
-
function
|
|
11
|
+
function markAsRead(defaultFuncs, api, ctx) {
|
|
12
12
|
/**
|
|
13
|
-
* Marks a thread as read.
|
|
13
|
+
* Marks a thread as read or unread.
|
|
14
14
|
* @param {string} threadID - The ID of the thread to mark as read.
|
|
15
|
-
* @param {boolean} [read=true] - Whether to mark as read (true) or unread (false).
|
|
16
|
-
* @
|
|
17
|
-
* @returns {Promise<null|Error>} A Promise that resolves with null on success, or rejects with an Error.
|
|
15
|
+
* @param {boolean} [read=true] - Whether to mark as read (true) or unread (false).
|
|
16
|
+
* @returns {Promise<null>}
|
|
18
17
|
*/
|
|
19
|
-
return async function markAsRead(threadID, read
|
|
20
|
-
if (utils.getType(read) === "Function" ||
|
|
21
|
-
utils.getType(read) === "AsyncFunction") {
|
|
22
|
-
callback = read;
|
|
23
|
-
read = true;
|
|
24
|
-
}
|
|
25
|
-
if (read == undefined) {
|
|
26
|
-
read = true;
|
|
27
|
-
}
|
|
28
|
-
if (!callback) {
|
|
29
|
-
callback = () => { };
|
|
30
|
-
}
|
|
18
|
+
return async function markAsRead(threadID, read = true) {
|
|
31
19
|
const form = {};
|
|
32
|
-
if (typeof ctx.globalOptions.pageID !==
|
|
33
|
-
form[
|
|
34
|
-
form[
|
|
35
|
-
form[
|
|
36
|
-
form[
|
|
37
|
-
form[
|
|
38
|
-
form[
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
.then(utils.saveCookies(ctx.jar))
|
|
44
|
-
.then(utils.parseAndCheckLogin(ctx, defaultFuncs));
|
|
45
|
-
}
|
|
46
|
-
catch (e) {
|
|
47
|
-
callback(e);
|
|
48
|
-
return e;
|
|
49
|
-
}
|
|
20
|
+
if (typeof ctx.globalOptions.pageID !== 'undefined') {
|
|
21
|
+
form['source'] = 'PagesManagerMessagesInterface';
|
|
22
|
+
form['request_user_id'] = ctx.globalOptions.pageID;
|
|
23
|
+
form['ids[' + threadID + ']'] = read;
|
|
24
|
+
form['watermarkTimestamp'] = new Date().getTime();
|
|
25
|
+
form['shouldSendReadReceipt'] = true;
|
|
26
|
+
form['commerce_last_message_type'] = '';
|
|
27
|
+
const resData = await defaultFuncs
|
|
28
|
+
.post('https://www.facebook.com/ajax/mercury/change_read_status.php', ctx.jar, form)
|
|
29
|
+
.then(utils.saveCookies(ctx.jar))
|
|
30
|
+
.then(utils.parseAndCheckLogin(ctx, defaultFuncs));
|
|
50
31
|
if (resData.error) {
|
|
51
32
|
const err = resData.error;
|
|
52
|
-
utils.error(
|
|
53
|
-
|
|
54
|
-
return err;
|
|
33
|
+
utils.error('markAsRead', err);
|
|
34
|
+
throw new Error(err);
|
|
55
35
|
}
|
|
56
|
-
callback();
|
|
57
36
|
return null;
|
|
58
37
|
}
|
|
59
38
|
else {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
mark: "read",
|
|
65
|
-
state: read,
|
|
66
|
-
}), { qos: 1, retain: false }, r));
|
|
67
|
-
if (err)
|
|
68
|
-
throw err;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
throw {
|
|
72
|
-
error: "You can only use this function after you start listening.",
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
catch (e) {
|
|
77
|
-
callback(e);
|
|
78
|
-
return e;
|
|
39
|
+
if (!ctx.mqttClient) {
|
|
40
|
+
throw {
|
|
41
|
+
error: 'You can only use this function after you start listening.',
|
|
42
|
+
};
|
|
79
43
|
}
|
|
44
|
+
await new Promise((resolve, reject) => ctx.mqttClient.publish('/mark_thread', JSON.stringify({ threadID, mark: 'read', state: read }), { qos: 1, retain: false }, (err) => (err ? reject(err) : resolve())));
|
|
80
45
|
}
|
|
46
|
+
return null;
|
|
81
47
|
};
|
|
82
48
|
}
|
|
83
|
-
;
|
|
84
49
|
//# sourceMappingURL=markAsRead.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markAsRead.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/markAsRead.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"markAsRead.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/markAsRead.ts"],"names":[],"mappings":";;AAQA,6BA0DC;AAlED,iBAAiB;AACjB,wCAAyC;AAEzC;;;;GAIG;AACH,SAAwB,UAAU,CAChC,YAAiB,EACjB,GAAQ,EACR,GAAQ;IAER;;;;;OAKG;IACH,OAAO,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,OAAgB,IAAI;QAEpB,MAAM,IAAI,GAAwB,EAAE,CAAC;QAErC,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,+BAA+B,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;YACnD,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAClD,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,CAAC;YAExC,MAAM,OAAO,GAAG,MAAM,YAAY;iBAC/B,IAAI,CACH,8DAA8D,EAC9D,GAAG,CAAC,GAAG,EACP,IAAI,CACL;iBACA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAChC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC1B,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM;oBACJ,KAAK,EAAE,2DAA2D;iBACnE,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,CAAC,OAAO,CACpB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACvD,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;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default =
|
|
3
|
+
exports.default = markAsReadAll;
|
|
4
4
|
const utils = require("../../../utils");
|
|
5
5
|
// @ChoruOfficial
|
|
6
6
|
/**
|
|
7
7
|
* @param {Object} defaultFuncs
|
|
8
8
|
* @param {Object} api
|
|
9
9
|
* @param {Object} ctx
|
|
10
|
-
* @returns {function(): Promise<void>}
|
|
11
10
|
*/
|
|
12
|
-
function
|
|
11
|
+
function markAsReadAll(defaultFuncs, api, ctx) {
|
|
13
12
|
/**
|
|
13
|
+
* Marks all messages in the inbox as read.
|
|
14
14
|
* @returns {Promise<void>}
|
|
15
15
|
*/
|
|
16
16
|
return async function markAsReadAll() {
|
|
17
|
-
const form = {
|
|
18
|
-
folder: 'inbox',
|
|
19
|
-
};
|
|
17
|
+
const form = { folder: 'inbox' };
|
|
20
18
|
try {
|
|
21
|
-
const resData = await defaultFuncs
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
const resData = await defaultFuncs
|
|
20
|
+
.post('https://www.facebook.com/ajax/mercury/mark_folder_as_read.php', ctx.jar, form)
|
|
21
|
+
.then(utils.parseAndCheckLogin(ctx, defaultFuncs));
|
|
22
|
+
if (resData.error) {
|
|
23
|
+
throw resData;
|
|
25
24
|
}
|
|
26
|
-
return;
|
|
27
25
|
}
|
|
28
26
|
catch (err) {
|
|
29
27
|
utils.error('markAsReadAll', err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markAsReadAll.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/markAsReadAll.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"markAsReadAll.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/markAsReadAll.ts"],"names":[],"mappings":";;AAQA,gCA6BC;AArCD,wCAAyC;AAEzC,iBAAiB;AACjB;;;;GAIG;AACH,SAAwB,aAAa,CACnC,YAAiB,EACjB,GAAQ,EACR,GAAQ;IAER;;;OAGG;IACH,OAAO,KAAK,UAAU,aAAa;QACjC,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY;iBAC/B,IAAI,CACH,+DAA+D,EAC/D,GAAG,CAAC,GAAG,EACP,IAAI,CACL;iBACA,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YAClC,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default =
|
|
3
|
+
exports.default = markAsSeen;
|
|
4
4
|
// @ChoruOfficial
|
|
5
5
|
const utils = require("../../../utils");
|
|
6
6
|
/**
|
|
@@ -8,57 +8,30 @@ const utils = require("../../../utils");
|
|
|
8
8
|
* @param {Object} api
|
|
9
9
|
* @param {Object} ctx
|
|
10
10
|
*/
|
|
11
|
-
function
|
|
11
|
+
function markAsSeen(defaultFuncs, api, ctx) {
|
|
12
12
|
/**
|
|
13
13
|
* Marks all messages as "seen" up to a specific timestamp.
|
|
14
|
-
* @param {number} [seen_timestamp=Date.now()] - The timestamp (in
|
|
15
|
-
* @
|
|
16
|
-
* @returns {Promise<void>} A Promise that resolves on success or rejects with an error.
|
|
14
|
+
* @param {number} [seen_timestamp=Date.now()] - The timestamp (in ms) up to which messages should be marked as seen.
|
|
15
|
+
* @returns {Promise<void>}
|
|
17
16
|
*/
|
|
18
|
-
return async function
|
|
19
|
-
|
|
20
|
-
let rejectFunc = function () { };
|
|
21
|
-
const returnPromise = new Promise(function (resolve, reject) {
|
|
22
|
-
resolveFunc = resolve;
|
|
23
|
-
rejectFunc = reject;
|
|
24
|
-
});
|
|
25
|
-
if (utils.getType(seen_timestamp) == "Function" || utils.getType(seen_timestamp) == "AsyncFunction") {
|
|
26
|
-
callback = seen_timestamp;
|
|
27
|
-
seen_timestamp = Date.now();
|
|
28
|
-
}
|
|
29
|
-
else if (seen_timestamp === undefined) {
|
|
30
|
-
seen_timestamp = Date.now();
|
|
31
|
-
}
|
|
32
|
-
if (!callback) {
|
|
33
|
-
callback = function (err, friendList) {
|
|
34
|
-
if (err) {
|
|
35
|
-
return rejectFunc(err);
|
|
36
|
-
}
|
|
37
|
-
resolveFunc(friendList);
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
const form = {
|
|
41
|
-
seen_timestamp: seen_timestamp,
|
|
42
|
-
};
|
|
17
|
+
return async function markAsSeen(seen_timestamp = Date.now()) {
|
|
18
|
+
const form = { seen_timestamp };
|
|
43
19
|
try {
|
|
44
20
|
const resData = await defaultFuncs
|
|
45
|
-
.post(
|
|
21
|
+
.post('https://www.facebook.com/ajax/mercury/mark_seen.php', ctx.jar, form)
|
|
46
22
|
.then(utils.saveCookies(ctx.jar))
|
|
47
23
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs));
|
|
48
24
|
if (resData.error) {
|
|
49
25
|
throw resData;
|
|
50
26
|
}
|
|
51
|
-
return callback();
|
|
52
27
|
}
|
|
53
28
|
catch (err) {
|
|
54
|
-
utils.error(
|
|
55
|
-
if (utils.getType(err)
|
|
29
|
+
utils.error('markAsSeen', err);
|
|
30
|
+
if (utils.getType(err) === 'Object' && err.error === 'Not logged in.') {
|
|
56
31
|
ctx.loggedIn = false;
|
|
57
32
|
}
|
|
58
|
-
|
|
33
|
+
throw err;
|
|
59
34
|
}
|
|
60
|
-
return returnPromise;
|
|
61
35
|
};
|
|
62
36
|
}
|
|
63
|
-
;
|
|
64
37
|
//# sourceMappingURL=markAsSeen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markAsSeen.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/markAsSeen.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"markAsSeen.js","sourceRoot":"","sources":["../../../../src/deltas/apis/messaging/markAsSeen.ts"],"names":[],"mappings":";;AAQA,6BAoCC;AA5CD,iBAAiB;AACjB,wCAAyC;AAEzC;;;;GAIG;AACH,SAAwB,UAAU,CAChC,YAAiB,EACjB,GAAQ,EACR,GAAQ;IAER;;;;OAIG;IACH,OAAO,KAAK,UAAU,UAAU,CAC9B,iBAAyB,IAAI,CAAC,GAAG,EAAE;QAEnC,MAAM,IAAI,GAAG,EAAE,cAAc,EAAE,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY;iBAC/B,IAAI,CACH,qDAAqD,EACrD,GAAG,CAAC,GAAG,EACP,IAAI,CACL;iBACA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAChC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAK,GAAW,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;gBAC/E,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;YACvB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|