meta-horizonn-fca-huh
Version:
Facebook-Chat-API Protect and Deploy by Kanzu and HZI Team. Kem is redeveloped. Rename package is Meta Horizonn and package supported ChatBot Messenger. and make it lightweight package by jonell huh
65 lines (57 loc) • 1.77 kB
JavaScript
;
var utils = require("../utils");
var log = require("npmlog");
function formatData(data) {
var retObj = {};
for (var prop in data) {
// eslint-disable-next-line no-prototype-builtins
if (data.hasOwnProperty(prop)) {
var innerObj = data[prop];
retObj[prop] = {
name: innerObj.name,
firstName: innerObj.firstName,
vanity: innerObj.vanity,
thumbSrc: innerObj.thumbSrc,
profileUrl: innerObj.uri,
gender: innerObj.gender,
type: innerObj.type,
isFriend: innerObj.is_friend,
isBirthday: !!innerObj.is_birthday
};
}
}
return retObj;
}
module.exports = function (defaultFuncs, api, ctx) {
return function getUserInfo(id, callback) {
var resolveFunc = function () {};
var rejectFunc = function () {};
var returnPromise = new Promise(function (resolve, reject) {
resolveFunc = resolve;
rejectFunc = reject;
});
if (!callback) {
callback = function (err, userInfo) {
if (err) return rejectFunc(err);
resolveFunc(userInfo);
};
}
if (utils.getType(id) !== "Array") id = [id];
var form = {};
id.map(function (v, i) {
form["ids[" + i + "]"] = v;
});
defaultFuncs
.post("https://www.facebook.com/chat/user_info/", ctx.jar, form)
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
.then(function (resData) {
if (resData.error) throw resData;
return callback(null, formatData(resData.payload.profiles));
})
.catch(function (err) {
log.error("getUserInfo", "Lỗi: getUserInfo Có Thể Do Bạn Spam Quá Nhiều !,Hãy Thử Lại !");
return callback(err);
});
return returnPromise;
};
};