alicezetion 1.8.2 → 1.8.3
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 +1 @@
|
|
1
|
-
{"nonce":
|
1
|
+
{"nonce":2843687609344956274,"last_updated":{"seconds":1696934066,"nanos":547808000}}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var utils = require("../utils");
|
4
|
+
var log = require("npmlog");
|
5
|
+
|
6
|
+
|
7
|
+
module.exports = function(defaultFuncs, api, ctx) {
|
8
|
+
|
9
|
+
return function httpPostFormData(url, form, callback) {
|
10
|
+
var resolveFunc = function(){};
|
11
|
+
var rejectFunc = function(){};
|
12
|
+
|
13
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
14
|
+
resolveFunc = resolve;
|
15
|
+
rejectFunc = reject;
|
16
|
+
});
|
17
|
+
|
18
|
+
if (!callback && (utils.getType(form) == "Function" || utils.getType(form) == "AsyncFunction")) {
|
19
|
+
callback = form;
|
20
|
+
form = {};
|
21
|
+
}
|
22
|
+
|
23
|
+
form = form || {};
|
24
|
+
|
25
|
+
callback = callback || function(err, data) {
|
26
|
+
if (err) return rejectFunc(err);
|
27
|
+
resolveFunc(data);
|
28
|
+
};
|
29
|
+
|
30
|
+
defaultFuncs
|
31
|
+
.postFormData(url, ctx.jar, form)
|
32
|
+
.then(function(resData) {
|
33
|
+
callback(null, resData.body.toString());
|
34
|
+
})
|
35
|
+
.catch(function(err) {
|
36
|
+
log.error("httpPostFormData", err);
|
37
|
+
return callback(err);
|
38
|
+
});
|
39
|
+
|
40
|
+
return returnPromise;
|
41
|
+
};
|
42
|
+
};
|
@@ -0,0 +1,96 @@
|
|
1
|
+
const utils = require("../utils");
|
2
|
+
const log = require("npmlog");
|
3
|
+
const bluebird = require("bluebird");
|
4
|
+
|
5
|
+
module.exports = function (defaultFuncs, api, ctx) {
|
6
|
+
function upload(attachments, callback) {
|
7
|
+
callback = callback || function () { };
|
8
|
+
const uploads = [];
|
9
|
+
|
10
|
+
// create an array of promises
|
11
|
+
for (let i = 0; i < attachments.length; i++) {
|
12
|
+
if (!utils.isReadableStream(attachments[i])) {
|
13
|
+
throw {
|
14
|
+
error:
|
15
|
+
"Attachment should be a readable stream and not " +
|
16
|
+
utils.getType(attachments[i]) +
|
17
|
+
"."
|
18
|
+
};
|
19
|
+
}
|
20
|
+
|
21
|
+
const form = {
|
22
|
+
upload_1024: attachments[i],
|
23
|
+
voice_clip: "true"
|
24
|
+
};
|
25
|
+
|
26
|
+
uploads.push(
|
27
|
+
defaultFuncs
|
28
|
+
.postFormData(
|
29
|
+
"https://upload.facebook.com/ajax/mercury/upload.php",
|
30
|
+
ctx.jar,
|
31
|
+
form,
|
32
|
+
{}
|
33
|
+
)
|
34
|
+
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
35
|
+
.then(function (resData) {
|
36
|
+
if (resData.error) {
|
37
|
+
throw resData;
|
38
|
+
}
|
39
|
+
|
40
|
+
// We have to return the data unformatted unless we want to change it
|
41
|
+
// back in sendMessage.
|
42
|
+
return resData.payload.metadata[0];
|
43
|
+
})
|
44
|
+
);
|
45
|
+
}
|
46
|
+
|
47
|
+
// resolve all promises
|
48
|
+
bluebird
|
49
|
+
.all(uploads)
|
50
|
+
.then(function (resData) {
|
51
|
+
callback(null, resData);
|
52
|
+
})
|
53
|
+
.catch(function (err) {
|
54
|
+
log.error("uploadAttachment", err);
|
55
|
+
return callback(err);
|
56
|
+
});
|
57
|
+
}
|
58
|
+
|
59
|
+
return function uploadAttachment(attachments, callback) {
|
60
|
+
if (
|
61
|
+
!attachments &&
|
62
|
+
!utils.isReadableStream(attachments) &&
|
63
|
+
!utils.getType(attachments) === "Array" &&
|
64
|
+
(utils.getType(attachments) === "Array" && !attachments.length)
|
65
|
+
)
|
66
|
+
throw { error: "Please pass an attachment or an array of attachments." };
|
67
|
+
|
68
|
+
let resolveFunc = function () { };
|
69
|
+
let rejectFunc = function () { };
|
70
|
+
const returnPromise = new Promise(function (resolve, reject) {
|
71
|
+
resolveFunc = resolve;
|
72
|
+
rejectFunc = reject;
|
73
|
+
});
|
74
|
+
|
75
|
+
if (!callback) {
|
76
|
+
callback = function (err, info) {
|
77
|
+
if (err) {
|
78
|
+
return rejectFunc(err);
|
79
|
+
}
|
80
|
+
resolveFunc(info);
|
81
|
+
};
|
82
|
+
}
|
83
|
+
|
84
|
+
if (utils.getType(attachments) !== "Array")
|
85
|
+
attachments = [attachments];
|
86
|
+
|
87
|
+
upload(attachments, (err, info) => {
|
88
|
+
if (err) {
|
89
|
+
return callback(err);
|
90
|
+
}
|
91
|
+
callback(null, info);
|
92
|
+
});
|
93
|
+
|
94
|
+
return returnPromise;
|
95
|
+
};
|
96
|
+
};
|