UNPKG

@jikey/fcazero

Version:

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

2 lines (1 loc) 1.4 kB
import{Clients as l}from"../utils/clients.js";import{Formatters as o}from"../utils/formatters.js";import a from"../utils/logger.js";const i=class i{constructor(n,r,t){this.defaultFuncs=n;this.ctx=t}static formatData(n){return Object.keys(n).map(function(r){const t=n[r];return{alternateName:t.alternateName||null,firstName:t.firstName||null,gender:i.GENDERS[String(t.gender)],userID:o.formatID(r.toString()),isFriend:!!(t.is_friend!=null&&t.is_friend),fullName:t.name||null,profilePicture:t.thumbSrc||null,type:t.type||null,profileUrl:t.uri||null,vanity:t.vanity||null,isBirthday:!!t.is_birthday,isDie:t.id==0}})}call(n,r){return new Promise((t,u)=>{try{return this.defaultFuncs.postFormData("https://www.facebook.com/chat/user_info_all",this.ctx.jar,{viewer:this.ctx.userID}).then(l.parseAndCheckLogin(this.ctx,this.defaultFuncs)).then(async function(e){if(!e)throw{error:"getFriendsList returned empty object."};if(e&&e.error)throw e;r&&typeof r=="function"&&r(null,i.formatData(e&&e.payload)),t(i.formatData(e&&e.payload))})}catch(e){return a.error({error:e},"Error in GetFriendsList"),r&&typeof r=="function"&&r(e),u(e)}})}};i.GENDERS={0:"unknown",1:"female_singular",2:"male_singular",3:"female_singular_guess",4:"male_singular_guess",5:"mixed",6:"neuter_singular",7:"unknown_singular",8:"female_plural",9:"male_plural",10:"neuter_plural",11:"unknown_plural"};let s=i;export{s as default};