UNPKG

@jikey/fcazero

Version:

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

2 lines (1 loc) 5 kB
"use strict";var h=Object.create;var o=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var w=(i,t)=>{for(var e in t)o(i,e,{get:t[e],enumerable:!0})},b=(i,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of y(t))!j.call(i,n)&&n!==e&&o(i,n,{get:()=>t[n],enumerable:!(r=d(t,n))||r.enumerable});return i};var M=(i,t,e)=>(e=i!=null?h(T(i)):{},b(t||!i||!i.__esModule?o(e,"default",{value:i,enumerable:!0}):e,i)),O=i=>b(o({},"__esModule",{value:!0}),i);var v={};w(v,{Constants:()=>u});module.exports=O(v);var m=require("uuid"),p=M(require("lodash"),1);const c=class c{static getRandom(t){return t[Math.floor(Math.random()*t.length)]}static padZeros(t,e){for(t=String(t),e=e||2;t.length<e;)t="0"+t;return t}static generateThreadingID(t){const e=Date.now(),r=Math.floor(Math.random()*4294967295),n=t;return"<"+e+":"+r+"-"+n+"@mail.projektitan.com>"}static binaryToDecimal(t){let e="";for(;t!=="0";){let r=0,n="",a=0;for(;a<t.length;a++)r=2*r+parseInt(t[a]??"0",10),r>=10?(n+="1",r-=10):n+="0";e=r.toString()+e,t=n.slice(n.indexOf("1"))}return e}static generateOfflineThreadingID(){const t=Date.now(),r=("0000000000000000000000"+Math.floor(Math.random()*4294967295).toString(2)).slice(-22),n=t.toString(2)+r;return this.binaryToDecimal(n)}static presenceEncode(t){return encodeURIComponent(t).replace(/([_A-Z])|%../g,function(e,r){return r?"%"+r.charCodeAt(0).toString(16):e}).toLowerCase().replace(this.h,e=>this.i[e]??"")}static presenceDecode(t){const e=c.j;return decodeURIComponent(t.replace(/[_A-Z]/g,function(r){return e[r]??""}))}static generatePresence(t){const e=Date.now(),r={v:3,time:parseInt((e/1e3).toString(),10),user:t,state:{ut:0,t2:[],lm2:null,uct2:e,tr:null,tw:Math.floor(Math.random()*4294967295)+1,at:e},ch:{["p_"+t]:0}};return"E"+this.presenceEncode(JSON.stringify(r))}static generateAccessiblityCookie(){const t=Date.now();return encodeURIComponent(JSON.stringify({sr:0,"sr-ts":t,jk:0,"jk-ts":t,kb:0,"kb-ts":t,hcm:0,"hcm-ts":t}))}static getGUID(){return(0,m.v4)()}static getFrom(t,e,r){const n=t.indexOf(e)+e.length;if(n<e.length)return"";const a=t.substring(n),s=a.indexOf(r);if(s===-1)throw Error("Could not find endTime `"+r+"` in the given string.");return a.substring(0,s)}static makeParsable(t){const r=t.replace(/for\s*\(\s*;\s*;\s*\)\s*;\s*/,"").split(/\}\r\n *\{/);return r.length===1?r:"["+r.join("},{")+"]"}static arrayToObject(t,e,r){return t.reduce(function(n,a){return n[e(a)]=r(a),n},{})}static arrToForm(t){return this.arrayToObject(t,function(e){return e.name},function(e){return e.val})}static getSignatureID(){return Math.floor(Math.random()*2147483648).toString(16)}static generateTimestampRelative(){const t=new Date;return t.getHours()+":"+this.padZeros(t.getMinutes())}static getType(t){return Object.prototype.toString.call(t).slice(8,-1)}static findValueByKey(t,e){const r=new WeakSet;let n=null;const a=s=>{if(n!==null||s===null||typeof s!=="object"||r.has(s))return;if(r.add(s),Array.isArray(s)){if(s.length>=3&&typeof s[0]=="string"&&s[0]===e&&p.default.isPlainObject(s[2])){n=s[2];return}for(const l of s){if(n!==null)return;a(l)}return}const f=s;for(const[l,g]of Object.entries(f)){if(l===e){n=g;return}if(a(g),n!==null)return}};return a(t),n}};c.i={},c.j={_:"%",A:"%2",B:"000",C:"%7d",D:"%7b%22",E:"%2c%22",F:"%22%3a",G:"%2c%22ut%22%3a1",H:"%2c%22bls%22%3a",I:"%2c%22n%22%3a%22%",J:"%22%3a%7b%22i%22%3a0%7d",K:"%2c%22pt%22%3a0%2c%22vis%22%3a",L:"%2c%22ch%22%3a%7b%22h%22%3a%22",M:"%7b%22v%22%3a2%2c%22time%22%3a1",N:".channel%22%2c%22sub%22%3a%5b",O:"%2c%22sb%22%3a1%2c%22t%22%3a%5b",P:"%2c%22ud%22%3a100%2c%22lc%22%3a0",Q:"%5d%2c%22f%22%3anull%2c%22uct%22%3a",R:".channel%22%2c%22sub%22%3a%5b1%5d",S:"%22%2c%22m%22%3a0%7d%2c%7b%22i%22%3a",T:"%2c%22blc%22%3a1%2c%22snd%22%3a1%2c%22ct%22%3a",U:"%2c%22blc%22%3a0%2c%22snd%22%3a1%2c%22ct%22%3a",V:"%2c%22blc%22%3a0%2c%22snd%22%3a0%2c%22ct%22%3a",W:"%2c%22s%22%3a0%2c%22blo%22%3a0%7d%2c%22bl%22%3a%7b%22ac%22%3a",X:"%2c%22ri%22%3a0%7d%2c%22state%22%3a%7b%22p%22%3a0%2c%22ut%22%3a1",Y:"%2c%22pt%22%3a0%2c%22vis%22%3a1%2c%22bls%22%3a0%2c%22blc%22%3a0%2c%22snd%22%3a1%2c%22ct%22%3a",Z:"%2c%22sb%22%3a1%2c%22t%22%3a%5b%5d%2c%22f%22%3anull%2c%22uct%22%3a0%2c%22s%22%3a0%2c%22blo%22%3a0%7d%2c%22bl%22%3a%7b%22ac%22%3a"},c.NUM_TO_MONTH=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],c.NUM_TO_DAY=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],c.delay=t=>new Promise(e=>setTimeout(e,t)),c.topics=["/legacy_web","/webrtc","/rtc_multi","/onevc","/br_sr","/sr_res","/t_ms","/t_e2ee","/thread_typing","/orca_typing_notifications","/notify_disconnect","/messenger_sync_create_queue","/orca_presence","/legacy_web_mtouch","/inbox","/mercury","/messaging_events","/orca_message_notifications","/pp","/webrtc_response"],(()=>{const t=[];for(const e in c.j)c.i[c.j[e]]=e,t.push(c.j[e]);t.reverse(),c.h=new RegExp(t.join("|"),"g")})();let u=c;u.h;0&&(module.exports={Constants});