UNPKG

@jikey/fcazero

Version:

Facebook Messenger bot, and is one of the most advanced next-generation Facebook Chat API (FCA)

2 lines (1 loc) 2.06 kB
import{Clients as n}from"../utils/clients.js";import{Constants as s}from"../utils/constants.js";import u from"../utils/logger.js";class D{constructor(e,a,o){this.defaultFuncs=e;this.ctx=o}call(e,a){return new Promise(async(o,i)=>{try{if(!e.threadID)throw new Error("please pass a threadID as a second argument.");if(s.getType(e.threadID)!=="Number"&&s.getType(e.threadID)!=="String")throw new Error("threadID must be a number or a string");if(!e.messageID)throw new Error("please pass a messageID as a second argument.");if(s.getType(e.messageID)!=="String")throw new Error("messageID must be a string");switch(e.reaction){case"\u{1F60D}":case"\u{1F606}":case"\u{1F62E}":case"\u{1F622}":case"\u{1F620}":case"\u{1F44D}":case"\u{1F44E}":case"\u2764":case"\u{1F497}":case"":break;case":heart_eyes:":case":love:":e.reaction="\u{1F60D}";break;case":laughing:":case":haha:":e.reaction="\u{1F606}";break;case":open_mouth:":case":wow:":e.reaction="\u{1F62E}";break;case":cry:":case":sad:":e.reaction="\u{1F622}";break;case":angry:":e.reaction="\u{1F620}";break;case":thumbsup:":case":like:":e.reaction="\u{1F44D}";break;case":thumbsdown:":case":dislike:":e.reaction="\u{1F44E}";break;case":heart:":e.reaction="\u2764";break;case":glowingheart:":e.reaction="\u{1F497}";break;default:if(e.customReaction){e.reaction=e.customReaction;break}throw{error:"Reaction is not a valid emoji."}}const t={data:{client_mutation_id:this.ctx.clientMutationId++,actor_id:this.ctx.userID,action:e.reaction==""?"REMOVE_REACTION":"ADD_REACTION",message_id:e.messageID,reaction:e.reaction}},c={doc_id:"1491398900900362",variables:JSON.stringify(t),dpr:1};return this.defaultFuncs.postFormData("https://www.facebook.com/webgraphql/mutation/",this.ctx.jar,{},c).then(n.parseAndCheckLogin(this.ctx,this.defaultFuncs)).then(function(r){if(!r)throw{error:"setReaction returned empty object."};if(r&&(r.error||r.errors))throw r;return a&&typeof a=="function"&&a(null),o()})}catch(t){return u.error({error:t},"Error in SetMessageReaction"),a&&typeof a=="function"&&a(t),i(t)}})}}export{D as default};