UNPKG

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

109 lines (101 loc) 2.83 kB
"use strict"; var utils = require("../utils"); var log = require("npmlog"); module.exports = function (defaultFuncs, api, ctx) { return function setMessageReaction(reaction, messageID, callback, forceCustomReaction) { var resolveFunc = function () {}; var rejectFunc = function () {}; var returnPromise = new Promise(function (resolve, reject) { resolveFunc = resolve; rejectFunc = reject; }); if (!callback) { callback = function (err, data) { if (err) return rejectFunc(err); resolveFunc(data); }; } switch (reaction) { case "\uD83D\uDE0D": //:heart_eyes: case "\uD83D\uDE06": //:laughing: case "\uD83D\uDE2E": //:open_mouth: case "\uD83D\uDE22": //:cry: case "\uD83D\uDE20": //:angry: case "\uD83D\uDC4D": //:thumbsup: case "\uD83D\uDC4E": //:thumbsdown: case "\u2764": //:heart: case "\uD83D\uDC97": //:glowingheart: case "": //valid break; case ":heart_eyes:": case ":love:": reaction = "\uD83D\uDE0D"; break; case ":laughing:": case ":haha:": reaction = "\uD83D\uDE06"; break; case ":open_mouth:": case ":wow:": reaction = "\uD83D\uDE2E"; break; case ":cry:": case ":sad:": reaction = "\uD83D\uDE22"; break; case ":angry:": reaction = "\uD83D\uDE20"; break; case ":thumbsup:": case ":like:": reaction = "\uD83D\uDC4D"; break; case ":thumbsdown:": case ":dislike:": reaction = "\uD83D\uDC4E"; break; case ":heart:": reaction = "\u2764"; break; case ":glowingheart:": reaction = "\uD83D\uDC97"; break; default: if (forceCustomReaction) break; return callback({ error: "Reaction is not a valid emoji." }); } var variables = { data: { client_mutation_id: ctx.clientMutationId++, actor_id: ctx.userID, action: reaction == "" ? "REMOVE_REACTION" : "ADD_REACTION", message_id: messageID, reaction: reaction } }; var qs = { doc_id: "1491398900900362", variables: JSON.stringify(variables), dpr: 1 }; defaultFuncs .postFormData( "https://www.facebook.com/webgraphql/mutation/", ctx.jar, {}, qs ) .then(utils.parseAndCheckLogin(ctx.jar, defaultFuncs)) .then(function (resData) { if (!resData) throw { error: "setReaction returned empty object." }; if (resData.error) throw resData; callback(null); }) .catch(function (err) { log.error("setReaction", err); return callback(err); }); return returnPromise; }; };