@dongdev/fca-unofficial 3.0.27 → 3.0.28

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.
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  const { getType } = require("../../utils/format.js");
3
3
  module.exports = function (defaultFuncs, api, ctx) {
4
- return function sendTyping(threadID, isTyping, options, callback) {
5
- var resolveFunc = function () { };
6
- var rejectFunc = function () { };
7
- var returnPromise = new Promise(function (resolve, reject) {
8
- resolveFunc = resolve;
9
- rejectFunc = reject;
10
- });
4
+ return function sendTyping(threadID, isTyping, options, callback) {
5
+ var resolveFunc = function () { };
6
+ var rejectFunc = function () { };
7
+ var returnPromise = new Promise(function (resolve, reject) {
8
+ resolveFunc = resolve;
9
+ rejectFunc = reject;
10
+ });
11
11
  if (getType(options) == "Function" || getType(options) == "AsyncFunction") {
12
12
  callback = options;
13
13
  options = {};
@@ -19,18 +19,18 @@ module.exports = function (defaultFuncs, api, ctx) {
19
19
  resolveFunc(data);
20
20
  };
21
21
  }
22
- if (!threadID) {
23
- return callback(new Error("threadID is required"));
24
- }
25
- if (!ctx.mqttClient) {
26
- const err = new Error("Not connected to MQTT");
27
- callback(err);
28
- rejectFunc(err);
29
- return returnPromise;
30
- }
31
- if (typeof ctx.wsReqNumber !== "number") ctx.wsReqNumber = 0;
32
- const threadIDs = Array.isArray(threadID) ? threadID : [threadID];
33
- threadIDs.forEach(tid => {
22
+ if (!threadID) {
23
+ return callback(new Error("threadID is required"));
24
+ }
25
+ if (!ctx.mqttClient) {
26
+ const err = new Error("Not connected to MQTT");
27
+ callback(err);
28
+ rejectFunc(err);
29
+ return returnPromise;
30
+ }
31
+ if (typeof ctx.wsReqNumber !== "number") ctx.wsReqNumber = 0;
32
+ const threadIDs = Array.isArray(threadID) ? threadID : [threadID];
33
+ threadIDs.forEach(tid => {
34
34
  var isGroupThread = getType(tid) === "Array" ? 0 : 1;
35
35
  var threadType = isGroupThread ? 2 : 1;
36
36
  var duration = options.duration || 10000;
@@ -52,10 +52,10 @@ module.exports = function (defaultFuncs, api, ctx) {
52
52
  }),
53
53
  version: "8965252033599983"
54
54
  }),
55
- request_id: ++ctx.wsReqNumber,
56
- type: 4
57
- }),
58
- {
55
+ request_id: ++ctx.wsReqNumber,
56
+ type: 4
57
+ }),
58
+ {
59
59
  qos: 1,
60
60
  retain: false,
61
61
  }
@@ -1,91 +1,91 @@
1
- "use strict";
2
-
3
- const logger = require("../../../func/logger");
4
- const { generateOfflineThreadingID, getCurrentTimestamp } = require("../../utils/format");
5
-
6
- module.exports = function (defaultFuncs, api, ctx) {
7
- return function setMessageReaction(reaction, messageID, threadID, callback, forceCustomReaction) {
8
- if (typeof threadID === "function") {
9
- forceCustomReaction = callback;
10
- callback = threadID;
11
- threadID = undefined;
12
- } else if (typeof threadID === "boolean") {
13
- forceCustomReaction = threadID;
14
- threadID = undefined;
15
- } else if (typeof callback === "boolean") {
16
- forceCustomReaction = callback;
17
- callback = undefined;
18
- }
19
- const cb = typeof callback === "function" ? callback : undefined;
20
-
21
- return new Promise((resolve, reject) => {
22
- if (!ctx.mqttClient) {
23
- const err = new Error("MQTT client not connected");
24
- if (cb) cb(err);
25
- return reject(err);
26
- }
27
- if (reaction === undefined || reaction === null || !messageID || !threadID) {
28
- const err = new Error("Missing required parameters (reaction, messageID, threadID)");
29
- if (cb) cb(err);
30
- return reject(err);
31
- }
32
- if (typeof ctx.wsReqNumber !== "number") ctx.wsReqNumber = 0;
33
- if (typeof ctx.wsTaskNumber !== "number") ctx.wsTaskNumber = 0;
34
- const reqID = ++ctx.wsReqNumber;
35
- const taskID = ++ctx.wsTaskNumber;
36
- const taskPayload = {
37
- thread_key: threadID,
38
- timestamp_ms: getCurrentTimestamp(),
39
- message_id: messageID,
40
- reaction: reaction,
41
- actor_id: ctx.userID,
42
- reaction_style: forceCustomReaction ? 1 : null,
43
- sync_group: 1,
44
- send_attribution: 65537,
45
- dataclass_params: null,
46
- attachment_fbid: null
47
- };
48
- const task = {
49
- failure_count: null,
50
- label: "29",
51
- payload: JSON.stringify(taskPayload),
52
- queue_name: JSON.stringify(["reaction", messageID]),
53
- task_id: taskID,
54
- };
55
- const mqttForm = {
56
- app_id: "772021112871879",
57
- payload: JSON.stringify({
58
- data_trace_id: null,
59
- epoch_id: parseInt(generateOfflineThreadingID()),
60
- tasks: [task],
61
- version_id: "25376272951962053"
62
- }),
63
- request_id: reqID,
64
- type: 3
65
- };
66
- const handleResponse = (topic, message) => {
67
- if (topic !== "/ls_resp") return;
68
- let json;
69
- try {
70
- json = JSON.parse(message.toString());
71
- json.payload = JSON.parse(json.payload);
72
- } catch {
73
- return;
74
- }
75
- if (json.request_id !== reqID) return;
76
- ctx.mqttClient.removeListener("message", handleResponse);
77
- if (cb) cb(null, { success: true });
78
- return resolve({ success: true });
79
- };
80
- ctx.mqttClient.on("message", handleResponse);
81
- ctx.mqttClient.publish("/ls_req", JSON.stringify(mqttForm), { qos: 1, retain: false }, (err) => {
82
- if (err) {
83
- ctx.mqttClient.removeListener("message", handleResponse);
84
- logger("setMessageReaction" + err, "error");
85
- if (cb) cb(err);
86
- return reject(err);
87
- }
88
- });
89
- });
90
- };
91
- };
1
+ "use strict";
2
+
3
+ const logger = require("../../../func/logger");
4
+ const { generateOfflineThreadingID, getCurrentTimestamp } = require("../../utils/format");
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ return function setMessageReaction(reaction, messageID, threadID, callback, forceCustomReaction) {
8
+ if (typeof threadID === "function") {
9
+ forceCustomReaction = callback;
10
+ callback = threadID;
11
+ threadID = undefined;
12
+ } else if (typeof threadID === "boolean") {
13
+ forceCustomReaction = threadID;
14
+ threadID = undefined;
15
+ } else if (typeof callback === "boolean") {
16
+ forceCustomReaction = callback;
17
+ callback = undefined;
18
+ }
19
+ const cb = typeof callback === "function" ? callback : undefined;
20
+
21
+ return new Promise((resolve, reject) => {
22
+ if (!ctx.mqttClient) {
23
+ const err = new Error("MQTT client not connected");
24
+ if (cb) cb(err);
25
+ return reject(err);
26
+ }
27
+ if (reaction === undefined || reaction === null || !messageID || !threadID) {
28
+ const err = new Error("Missing required parameters (reaction, messageID, threadID)");
29
+ if (cb) cb(err);
30
+ return reject(err);
31
+ }
32
+ if (typeof ctx.wsReqNumber !== "number") ctx.wsReqNumber = 0;
33
+ if (typeof ctx.wsTaskNumber !== "number") ctx.wsTaskNumber = 0;
34
+ const reqID = ++ctx.wsReqNumber;
35
+ const taskID = ++ctx.wsTaskNumber;
36
+ const taskPayload = {
37
+ thread_key: threadID,
38
+ timestamp_ms: getCurrentTimestamp(),
39
+ message_id: messageID,
40
+ reaction: reaction,
41
+ actor_id: ctx.userID,
42
+ reaction_style: forceCustomReaction ? 1 : null,
43
+ sync_group: 1,
44
+ send_attribution: 65537,
45
+ dataclass_params: null,
46
+ attachment_fbid: null
47
+ };
48
+ const task = {
49
+ failure_count: null,
50
+ label: "29",
51
+ payload: JSON.stringify(taskPayload),
52
+ queue_name: JSON.stringify(["reaction", messageID]),
53
+ task_id: taskID,
54
+ };
55
+ const mqttForm = {
56
+ app_id: "772021112871879",
57
+ payload: JSON.stringify({
58
+ data_trace_id: null,
59
+ epoch_id: parseInt(generateOfflineThreadingID()),
60
+ tasks: [task],
61
+ version_id: "25376272951962053"
62
+ }),
63
+ request_id: reqID,
64
+ type: 3
65
+ };
66
+ const handleResponse = (topic, message) => {
67
+ if (topic !== "/ls_resp") return;
68
+ let json;
69
+ try {
70
+ json = JSON.parse(message.toString());
71
+ json.payload = JSON.parse(json.payload);
72
+ } catch {
73
+ return;
74
+ }
75
+ if (json.request_id !== reqID) return;
76
+ ctx.mqttClient.removeListener("message", handleResponse);
77
+ if (cb) cb(null, { success: true });
78
+ return resolve({ success: true });
79
+ };
80
+ ctx.mqttClient.on("message", handleResponse);
81
+ ctx.mqttClient.publish("/ls_req", JSON.stringify(mqttForm), { qos: 1, retain: false }, (err) => {
82
+ if (err) {
83
+ ctx.mqttClient.removeListener("message", handleResponse);
84
+ logger("setMessageReaction" + err, "error");
85
+ if (cb) cb(err);
86
+ return reject(err);
87
+ }
88
+ });
89
+ });
90
+ };
91
+ };
@@ -62,30 +62,30 @@ module.exports = function (defaultFuncs, api, ctx) {
62
62
  });
63
63
  return returnPromise;
64
64
  };
65
- function setTitleMqtt(newTitle, threadID, callback) {
66
- if (!ctx.mqttClient) {
67
- throw new Error("Not connected to MQTT");
68
- }
69
- if (typeof ctx.wsReqNumber !== "number") ctx.wsReqNumber = 0;
70
- const reqID = ++ctx.wsReqNumber;
71
- var resolveFunc = function () { };
72
- var rejectFunc = function () { };
73
- var returnPromise = new Promise(function (resolve, reject) {
74
- resolveFunc = resolve;
75
- rejectFunc = reject;
76
- });
77
- const done = (err, data) => {
78
- if (err) {
79
- if (callback) callback(err);
80
- return rejectFunc(err);
81
- }
82
- if (callback) callback(null, data);
83
- resolveFunc(data);
84
- };
85
- var form = JSON.stringify({
86
- "app_id": "2220391788200892",
87
- "payload": JSON.stringify({
88
- epoch_id: generateOfflineThreadingID(),
65
+ function setTitleMqtt(newTitle, threadID, callback) {
66
+ if (!ctx.mqttClient) {
67
+ throw new Error("Not connected to MQTT");
68
+ }
69
+ if (typeof ctx.wsReqNumber !== "number") ctx.wsReqNumber = 0;
70
+ const reqID = ++ctx.wsReqNumber;
71
+ var resolveFunc = function () { };
72
+ var rejectFunc = function () { };
73
+ var returnPromise = new Promise(function (resolve, reject) {
74
+ resolveFunc = resolve;
75
+ rejectFunc = reject;
76
+ });
77
+ const done = (err, data) => {
78
+ if (err) {
79
+ if (callback) callback(err);
80
+ return rejectFunc(err);
81
+ }
82
+ if (callback) callback(null, data);
83
+ resolveFunc(data);
84
+ };
85
+ var form = JSON.stringify({
86
+ "app_id": "2220391788200892",
87
+ "payload": JSON.stringify({
88
+ epoch_id: generateOfflineThreadingID(),
89
89
  tasks: [
90
90
  {
91
91
  failure_count: null,
@@ -99,26 +99,26 @@ module.exports = function (defaultFuncs, api, ctx) {
99
99
  task_id: Math.random() * 1001 << 0
100
100
  }
101
101
  ],
102
- version_id: '8798795233522156'
103
- }),
104
- "request_id": reqID,
105
- "type": 3
106
- });
107
- ctx.mqttClient.publish("/ls_req", form, { qos: 1, retain: false }, (err) => {
108
- if (err) return done(err);
109
- done(null, { success: true });
110
- });
111
- return returnPromise;
112
- };
113
- return function setTitle(newTitle, threadID, callback) {
114
- if (ctx.mqttClient) {
115
- try {
116
- return setTitleMqtt(newTitle, threadID, callback);
117
- } catch (e) {
118
- return setTitleNoMqtt(newTitle, threadID, callback);
119
- }
120
- } else {
121
- return setTitleNoMqtt(newTitle, threadID, callback);
122
- }
123
- };
124
- };
102
+ version_id: '8798795233522156'
103
+ }),
104
+ "request_id": reqID,
105
+ "type": 3
106
+ });
107
+ ctx.mqttClient.publish("/ls_req", form, { qos: 1, retain: false }, (err) => {
108
+ if (err) return done(err);
109
+ done(null, { success: true });
110
+ });
111
+ return returnPromise;
112
+ };
113
+ return function setTitle(newTitle, threadID, callback) {
114
+ if (ctx.mqttClient) {
115
+ try {
116
+ return setTitleMqtt(newTitle, threadID, callback);
117
+ } catch (e) {
118
+ return setTitleNoMqtt(newTitle, threadID, callback);
119
+ }
120
+ } else {
121
+ return setTitleNoMqtt(newTitle, threadID, callback);
122
+ }
123
+ };
124
+ };