@eryxenx/insta-chat 2.0.0 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +95 -8
- package/index.js +105 -1
- package/module/login.js +51 -1
- package/package.json +9 -2
- package/src/api/action/getAppState.js +19 -1
- package/src/api/action/getCookies.js +7 -1
- package/src/api/action/getCurrentUserID.js +7 -1
- package/src/api/action/setOptions.js +8 -1
- package/src/api/messaging/editMessage.js +19 -1
- package/src/api/messaging/markAsRead.js +7 -1
- package/src/api/messaging/resolvePhotoUrl.js +8 -1
- package/src/api/messaging/sendMessage.js +45 -1
- package/src/api/messaging/sendMessageSync.js +8 -1
- package/src/api/messaging/sendTypingIndicator.js +7 -1
- package/src/api/messaging/setMessageReaction.js +19 -1
- package/src/api/messaging/shareContact.js +19 -1
- package/src/api/messaging/unsendMessage.js +16 -1
- package/src/api/realtime/getInbox.js +7 -1
- package/src/api/realtime/listen.js +7 -1
- package/src/api/realtime/stopListening.js +7 -1
- package/src/api/threads/getThreadHistory.js +16 -1
- package/src/api/threads/getThreadInfo.js +59 -1
- package/src/api/threads/getThreadList.js +22 -1
- package/src/api/users/getUID.js +12 -1
- package/src/api/users/getUserInfo.js +37 -1
- package/src/api.js +253 -1
- package/src/app/InstaClient.js +352 -1
- package/src/app/InstaContext.js +46 -1
- package/src/app/createFcaClient.js +59 -1
- package/src/app/loadApiMethods.js +30 -1
- package/src/constants.js +53 -1
- package/src/cookies.js +41 -1
- package/src/deviceIdentity.js +31 -1
- package/src/events/normalizeEvent.js +142 -1
- package/src/http.js +381 -1
- package/src/messageContent.js +73 -1
- package/src/methods/inbox.js +464 -1
- package/src/methods/media.js +218 -1
- package/src/methods/message.js +115 -1
- package/src/methods/reactions.js +52 -1
- package/src/methods/thread.js +96 -1
- package/src/methods/typing.js +35 -1
- package/src/methods/user.js +33 -1
- package/src/session.js +94 -1
- package/src/threadDetail.js +36 -1
- package/src/utils/antiSuspension.js +269 -0
- package/src/utils/dataDir.js +11 -0
- package/src/utils/errors.js +106 -0
- package/src/utils/format.js +38 -1
- package/src/utils/messageStyle.js +57 -1
- package/src/utils/sessionGuard.js +93 -0
package/src/api.js
CHANGED
|
@@ -4,4 +4,256 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0. See LICENSE and NOTICE.
|
|
5
5
|
* Original author credit must be retained in all copies and derivatives.
|
|
6
6
|
*/
|
|
7
|
-
function _0x1345(){const _0x98ec6a=['dmoBCIy','CwTHW5qYFa','laK/kdnUEmoYbG','sZNcRSoM','WOlcMZu','WOrowfS','WPFdTmo2WPza','sCkpWRDnba','W7Hbp8kI','WOtdNdBcKCoE','BYRcVmkDDhS','wfLPCdhcS8kCda','t2yfWQymyG','W4flgmkDWRXH','bNNcRG','Cv5ypY9K','W5xcQN9kEWy','FSoHWOXyv8kj','W5FdOWddKSoyyG','WR/dVSoo','DSk1nSksW7lcRq','WQjsW4qEWOi','W6bNkmk8WPDs','WOnbrK0HW4W','EIa0WQK3','WQ/dItdcN8oHW6e','cxlcVHhcOW','nsulvmkjWQO','WOT2W4nd','DbuJkSoLWQS','W4y2gWiXoG','tstcKSomgNK','WOrkveW','WPzNW5Pzymo3','W5ONgIavoG','WOpcQSompmox','W7ZcUttdJG','umoAta3dN2q','cCouW6K','WPZcHSorkCozsa','WQtdH1i','W67cLINcK8o6W6C','A8kWkmoo','ACoGW7ddUeKk','WOZcItuuBa','xWZcVa3cKfC','WRS7lSkHWPzy','bIGnECkbWR0','dSoEW6LIACoe','WOpdG8owmSoDdW','WPJcHCovk8oz','iSk3W7tdRKKr','wujut8kN','A0PUnseG','W5/dSqhdKmoJza','qWhcUbq','x0nyASkt','WOpcHSopnCoosG','ENFdKCk1WOJdMq','Dmk0nSooW7RcPa','WRxdVSoVWP1Lia','ugWkWQyvEq','W5pdRrW','eCoEBhO8cW','W5rbW4ZcI2u','Cff8W6m','WRtdKtBcK8oVW6S','e3NcSHRcJsG','W7nCW4JcLhm','DdVcPSkj','WQxdH1qyEu0','W4NdQX3dL8oCAW','jSkRW7NdIe4h','Cg9LW5m4za','W6lcVYhdJmoK','W5nbW57cG27cMG','WQPwW4q/WOOq','CbLFW4u','WOJcVbGCyq','WPbKW6jFAmo+','W47cNgLkyqa','DtHzW5K','WR9EW44q','Emo3WP15xmkB','d3JcR1hcTIq','sCk0WQXfmMO','qSonkL8tCSoQWPRcMepcMudcTG','FtJcOspcQa','W5xdNgKoEdRcS8o2Fq','Emo3WODoACka','WO1iECkFWP1I','fSooAYu','cSodBZWNhW','tCoDxq8','W7W9bHigmG','W5rRbSozWOxcQG','WPRdQCozWOv/jG','W5S6eq','WPpdLNLwzHW','EtzfWOtcQCo9','zKPdDW','tMWxWReIDW','W61uW53dTKtcVG','WPLiy8kYWQnS','gmoFBq','BZZcS8kErW','WOzoqua','gaXiCHBcJq','Emo3WODoB8kh','wbdcOGdcSLK','z19bDeCM','WQJdJtdcHG','fw/cUqW','WOBcIsu0yZy','WOOYdSokoZW','W5JcGwPwEHS','hSouW6HT','dCoFAWyScW','W5n9iCkR','l8k7W6NdRq','hWHiyJm','Dmken8or','yCo9WObe','WQHsW5qJWOSr','CCoTCY7dPq','WQXEiwXgqq','W4aVWPGdy8omWRFdOGRcTa','dSoBBsyS','W7P5cSk8WPzg','W49Ndmoy','tbdcUc3cKfi','vCkfWQaxigi','W4y6gGG3na','WOJdGcWiochcMSoXnhrC','WRRdVSo1WObUlq','WPLBwM49W4C','kqW+AXngAmoykhC','zmoMWOzSs8kh','jHWypd14W7Cnfmo2WPBcVq','W6pcQsBdMCoKW4u','Ce1ZkW','grO1x8kl','W4H6b8o/WQBcOW','D31WW7uEsW','wZuaWP8njG','vSomrXVdGeK','e2/cVrNcVG','zCoMWObjwmkC','W7FdSCopWOTL','rCklWQjdihm','xgDczmkcWOy','W7ZcUttdJSovW54','W49mW4JcOhlcKq','bM9Ut2HdW6b4W4NdSCk2','sSoDrG','WOpdI8o8tt9l','rCklWRu','smomtrBdTW','BmkLi8kf','vCkTWQnrpeu','WPNdISo3rXLh','eCkJrSobhW','r0jEqSkqWPO','Ew7dI8kXWPO','r0jdvCkVWPO','W4fkW5K','tWBcNCk3FvS','bmkADqrtiW','eSkADW','xcmeWO4xlG','W6ZcJvmOEvS','BZ0TgdjG','W5eGkHmuma','zSoZWPakw8kn','CxPWW6K+yq','CsRcTSkqqW','CCkLmCon','WOvkrLSMW4C','WOldI8oIrrq','wgrNW4y1','WQWBd8o7','W4dcOcBdQmo1','WOq1cCkmotC','AM1OhdrV','qSomxsVdVLi','WQZdKdFcGSoRW6e','B8o3WOzOtmko','rJirWP0','W6/cSMRcT8ovW4C','WRyofSo4','fCkSW4Dz','exm7hcL6','kCkMW7NcVval','xc7cHSogkda','WOFdRge4yW','tuPIkqbY','WQ3dOSomWO1Lja','nmk7W7ZdR0K','WQzpogbkwW','dmkrW4DqkCkE','WQeluG','iCkQW68','WQLtiMC','WOldI8oIrrr6','amocWQHJC8oo','FICxWOWona','dmoFFJy9eq','BIvcW4FdINq','EYLF','vsxdQK/dQW/cOCkmc0bH','xsmrWR4gna','WQmkd8ocWOaS','rrhcQqddNL8','WQCjWOxcOxJcG8oBWQudzq','pmkBvc98','W6xdRH3dMmoOwq','W4/cNhDwFGO','W6lcPs/dHCorW5C','EsVcU8kn','yxLX','uSkxWQHfgKm','WQnEW5mdWOyn','WPzZW50FFCo8','WPhcGZ0rrdO','vSomxsZdS1m','B2TXW642','ASk0k8ozW43cQG','WOtcKmohkmoXAW','hY8QcI92','WOxcI8oqp8ozsW','h8ouW6DTu8oe','W6TFW57dP2dcSW','wh5ib8oFWP4ncrObW5a','gmkJW7ldVfKX','WPJcNdGtAG','yvHlDG','hxyQWOSsemkcW64','cSouW7jaBSoh','W5vPW4tcIMu','vmkbWQntbwG','WQKkh8oIWO8','WQxdLZC','aGXv','tHBcNHhcJq','DmkWn8owW4JcPG','w2Xvcqno','oYZdK8ksWONdLW','FgddMW','s8oVrCoaiei','WQTEW4e','vJ86oYP1','BILiW40','W6DXlmkTWO1A','vNObWRa','qXH1WRNcVmop','sImkWQ8wiq','cmkLxSohnvu','eCkAW5bZoSkv','W4a9gbmtma','AsrFW4ZdU3e','W6VcRmkkW5W9DhNdS1DPW79U','h3nCW502aCk6W5ynfG','bCoixaVdVKu','xt/cGSombZC','W5e2aW8ema','hSoyW6LNumoa','c8kCW5Trbmkt','W7Pzkmk9WOPs','W61fW5ldOgdcGG','W7FcNvz9uq','rSkaWQLIigi','WOXiESkuWRTV','CwWfWQe3Eq','vSo1gCkfBatdVmkzg8oJrmoArW','WO1+W5Pj','W7CoEt0taCoBWONdHvvNnhm','fdbCW7yazSkbWQPQW7W','vNHyt8of','m8kNW6/dUfWg','tdKRkJPG','WRFdKuu/','WOPKW4DFyCk5','WQJdRIFcVmooW5S','W5a3vu4gnG','qsiwW4ixpG','WPfcFmksWQG','W6hdUh/cOSoiW50','omkPwsDSaG','ssmrWQ4wnq','WPewWPxdKKpcImkiWOvMEG','WQRdVSosWObBkW','sI7cImoKhdy','W71EW5FdTW','n288iW','hCkDW7XB','vCkbWQXt','W5ldQXBdNmoyyG','WPb9DSkjWQXN','WQDdW5qh','WQJdS2xcVCoz','W4y2gWi3pq','h8kCFsLqia','W7WcWPrgW5Tvr17cOX3cOSkCEW','WQ3dNcdcN8oV','r1nFvSksWOW','zSo3WO1dwa','d2JcSW','WRpdNcRcKSoEW6C','sHJcQq','v2ywWRS','WOnCufOHW4K','vSowW5Hqpmks','WRJdIhtcT8otW4e','WRXsW5meWOOm','cxlcTqO'];_0x1345=function(){return _0x98ec6a;};return _0x1345();}function _0x34da(_0x3ef1bd,_0x43b26a){_0x3ef1bd=_0x3ef1bd-0x183;const _0x13450f=_0x1345();let _0x34daf8=_0x13450f[_0x3ef1bd];if(_0x34da['sZQflL']===undefined){var _0x559f96=function(_0x2dd1e8){const _0x3bea4e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3539dd='',_0x3aa20b='';for(let _0x190f2b=0x0,_0x79af98,_0x583a39,_0x4724e8=0x0;_0x583a39=_0x2dd1e8['charAt'](_0x4724e8++);~_0x583a39&&(_0x79af98=_0x190f2b%0x4?_0x79af98*0x40+_0x583a39:_0x583a39,_0x190f2b++%0x4)?_0x3539dd+=String['fromCharCode'](0xff&_0x79af98>>(-0x2*_0x190f2b&0x6)):0x0){_0x583a39=_0x3bea4e['indexOf'](_0x583a39);}for(let _0x570f3f=0x0,_0x26b7a6=_0x3539dd['length'];_0x570f3f<_0x26b7a6;_0x570f3f++){_0x3aa20b+='%'+('00'+_0x3539dd['charCodeAt'](_0x570f3f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3aa20b);};const _0x49e0cc=function(_0x2a8b5b,_0x102b33){let _0x317e35=[],_0x235dda=0x0,_0xd087d0,_0x260c3e='';_0x2a8b5b=_0x559f96(_0x2a8b5b);let _0x4a66a7;for(_0x4a66a7=0x0;_0x4a66a7<0x100;_0x4a66a7++){_0x317e35[_0x4a66a7]=_0x4a66a7;}for(_0x4a66a7=0x0;_0x4a66a7<0x100;_0x4a66a7++){_0x235dda=(_0x235dda+_0x317e35[_0x4a66a7]+_0x102b33['charCodeAt'](_0x4a66a7%_0x102b33['length']))%0x100,_0xd087d0=_0x317e35[_0x4a66a7],_0x317e35[_0x4a66a7]=_0x317e35[_0x235dda],_0x317e35[_0x235dda]=_0xd087d0;}_0x4a66a7=0x0,_0x235dda=0x0;for(let _0x2e32ef=0x0;_0x2e32ef<_0x2a8b5b['length'];_0x2e32ef++){_0x4a66a7=(_0x4a66a7+0x1)%0x100,_0x235dda=(_0x235dda+_0x317e35[_0x4a66a7])%0x100,_0xd087d0=_0x317e35[_0x4a66a7],_0x317e35[_0x4a66a7]=_0x317e35[_0x235dda],_0x317e35[_0x235dda]=_0xd087d0,_0x260c3e+=String['fromCharCode'](_0x2a8b5b['charCodeAt'](_0x2e32ef)^_0x317e35[(_0x317e35[_0x4a66a7]+_0x317e35[_0x235dda])%0x100]);}return _0x260c3e;};_0x34da['CWTbRy']=_0x49e0cc,_0x34da['rZHhYE']={},_0x34da['sZQflL']=!![];}const _0xa23e4=_0x13450f[0x0],_0x367a9a=_0x3ef1bd+_0xa23e4,_0xcca523=_0x34da['rZHhYE'][_0x367a9a];return!_0xcca523?(_0x34da['pxPTnn']===undefined&&(_0x34da['pxPTnn']=!![]),_0x34daf8=_0x34da['CWTbRy'](_0x34daf8,_0x43b26a),_0x34da['rZHhYE'][_0x367a9a]=_0x34daf8):_0x34daf8=_0xcca523,_0x34daf8;}const _0x34d196=_0x34da,_0x4e38d7=_0x34da;(function(_0x55a117,_0xf3fae6){const _0x12e256=_0x34da,_0xa48733=_0x34da,_0x47d4f2=_0x55a117();while(!![]){try{const _0x3734cb=parseInt(_0x12e256(0x191,'RYy$'))/0x1+parseInt(_0xa48733(0x2b8,'Totz'))/0x2+parseInt(_0xa48733(0x2bd,'scaW'))/0x3+parseInt(_0x12e256(0x219,'Hhss'))/0x4*(-parseInt(_0xa48733(0x1fd,'XBKH'))/0x5)+parseInt(_0x12e256(0x235,'mrZx'))/0x6*(parseInt(_0x12e256(0x1cd,'SdyF'))/0x7)+-parseInt(_0xa48733(0x289,'PPLl'))/0x8+parseInt(_0xa48733(0x226,'O(Rs'))/0x9*(parseInt(_0xa48733(0x1e4,'XBKH'))/0xa);if(_0x3734cb===_0xf3fae6)break;else _0x47d4f2['push'](_0x47d4f2['shift']());}catch(_0xbdff4f){_0x47d4f2['push'](_0x47d4f2['shift']());}}}(_0x1345,0x504b8));const HttpClient=require(_0x34d196(0x1f0,'TA9t')),{normalizeCookie}=require(_0x4e38d7(0x261,'bZAS')+_0x4e38d7(0x1ea,'JaAW')),{EP}=require(_0x4e38d7(0x295,'Totz')+_0x4e38d7(0x2ab,'JaAW')),deviceIdentity=require(_0x34d196(0x1b7,'RYy$')+_0x4e38d7(0x2b9,'IVLR')+_0x34d196(0x20a,'83UF')),fs=require('fs'),path=require(_0x34d196(0x29d,'Xd&a')),MessageMethods=require(_0x34d196(0x1b4,'TP6%')+_0x4e38d7(0x1ae,'dAQR')+_0x34d196(0x27d,'CMr2')),ReactionMethods=require(_0x4e38d7(0x22f,'Tgvj')+_0x4e38d7(0x1d6,'83UF')+'action'+'s'),TypingMethods=require('./meth'+_0x34d196(0x214,'XBKH')+'ping'),ThreadMethods=require(_0x34d196(0x1ee,'9!ah')+'ods/th'+'read'),UserMethods=require(_0x4e38d7(0x25e,'Q^9f')+_0x34d196(0x272,'fd5h')+'er'),InboxMethods=require(_0x4e38d7(0x25c,')O06')+_0x34d196(0x247,'A7&z')+_0x4e38d7(0x194,'0i!n')),MediaMethods=require(_0x4e38d7(0x250,'AKHI')+_0x4e38d7(0x287,'FozP')+_0x34d196(0x1f1,'O(Rs'));class InstaAPI{constructor(_0x18cf15,_0x18f27f={}){const _0x21dc8c=_0x34d196,_0x3a6da0=_0x34d196,_0x2b49ef={'ecRus':function(_0x4991a4,_0x1d98bf){return _0x4991a4(_0x1d98bf);},'ZjrAb':_0x21dc8c(0x231,'O(Rs')+_0x3a6da0(0x1b8,'Q^9f')+_0x21dc8c(0x268,'mrZx')+_0x21dc8c(0x18e,'[@XW')+_0x21dc8c(0x215,'0WP6'),'xWLnc':_0x21dc8c(0x200,'Dmah')+_0x3a6da0(0x18c,'IVLR')},_0x257007=_0x2b49ef[_0x3a6da0(0x1eb,'6VDP')](normalizeCookie,_0x18cf15);if(!_0x257007[_0x3a6da0(0x19c,'&7W[')+_0x3a6da0(0x294,'Dmah')])throw new Error(_0x2b49ef[_0x3a6da0(0x1ab,'#sF&')]);this[_0x3a6da0(0x258,'g9Hk')]=_0x257007[_0x3a6da0(0x1a4,'Dmah')+_0x3a6da0(0x274,'#sF&')]||null,this[_0x21dc8c(0x244,'xjdr')+'me']=null,this[_0x3a6da0(0x254,'83UF')+'s']=_0x18f27f,this[_0x3a6da0(0x26a,'6VDP')]=new HttpClient(_0x257007),this[_0x3a6da0(0x198,'5gLb')+'ty']=deviceIdentity[_0x21dc8c(0x23f,'w#VY')+_0x21dc8c(0x293,'IVLR')](_0x18f27f['device'+_0x21dc8c(0x2a9,'bZAS')]||path[_0x21dc8c(0x1c2,'HZme')](process[_0x21dc8c(0x1d3,'#sF&')](),_0x2b49ef[_0x3a6da0(0x185,'Ge[p')]),_0x257007[_0x21dc8c(0x242,'mrZx')]);const _0xf9cb36=_0x18f27f[_0x3a6da0(0x283,'Totz')+_0x3a6da0(0x288,'0i!n')+'s']||this[_0x21dc8c(0x1e1,'Q^9f')+_0x21dc8c(0x269,'U$Ym')+_0x21dc8c(0x1a3,'RYy$')](_0x18f27f['sessio'+_0x3a6da0(0x221,'0WP6')+_0x21dc8c(0x1e6,'Hhss')]);if(_0xf9cb36)this[_0x21dc8c(0x1b3,'XBKH')][_0x21dc8c(0x1d8,'g9Hk')+_0x21dc8c(0x1c7,'zSt8')+_0x21dc8c(0x233,'fd5h')](_0xf9cb36);this[_0x3a6da0(0x298,'w#VY')+'e']=new MessageMethods(this[_0x21dc8c(0x28e,'fd5h')]),this[_0x21dc8c(0x1f4,'bZAS')+'on']=new ReactionMethods(this[_0x3a6da0(0x290,'g9Hk')]),this[_0x3a6da0(0x1bc,'IVLR')]=new TypingMethods(this[_0x21dc8c(0x290,'g9Hk')]),this['thread']=new ThreadMethods(this[_0x3a6da0(0x222,'O(Rs')]),this[_0x21dc8c(0x1f5,'w#VY')]=new UserMethods(this[_0x3a6da0(0x184,'mrZx')]),this['inbox']=new InboxMethods(this[_0x21dc8c(0x2aa,'Q^9f')],()=>this[_0x21dc8c(0x1db,'aNQD')]),this[_0x3a6da0(0x25f,'0JJI')]=new MediaMethods(this[_0x3a6da0(0x284,'zSt8')],this[_0x3a6da0(0x198,'5gLb')+'ty']);}[_0x34d196(0x1cf,'U$Ym')+_0x34d196(0x1be,'HZme')+_0x34d196(0x1c5,'XBKH')](_0x27ddb9){const _0xbdc441=_0x4e38d7,_0x53b76c=_0x4e38d7,_0x602136={'qIKhW':_0xbdc441(0x196,'A7&z')},_0x10f9dd=_0x27ddb9||path[_0x53b76c(0x2ad,'xjdr')](process[_0xbdc441(0x237,'0JJI')](),_0x53b76c(0x1a9,'Xd&a')+'n-para'+_0xbdc441(0x1c4,'TVso')+'n');try{if(!fs[_0xbdc441(0x266,'Q^9f')+'Sync'](_0x10f9dd))return null;return JSON[_0x53b76c(0x2b2,'fd5h')](fs[_0xbdc441(0x1b9,'bdqY')+_0x53b76c(0x26f,'IVLR')](_0x10f9dd,_0x602136['qIKhW']));}catch(_0xc36c19){return null;}}[_0x34d196(0x234,'#sF&')+_0x34d196(0x1f6,'tlUQ')+_0x4e38d7(0x297,'scaW')](_0x18bd9c){const _0x120eb3=_0x34d196,_0x2ee7bf=_0x34d196;this[_0x120eb3(0x278,'1%7@')][_0x120eb3(0x20f,'RYy$')+_0x120eb3(0x201,'TVso')+_0x120eb3(0x238,'Xd&a')](_0x18bd9c);}async[_0x34d196(0x183,'CMr2')+_0x4e38d7(0x243,'Totz')+'on'](_0x23f747){const _0xbc2f94=_0x4e38d7,_0x56a3be=_0x4e38d7,_0x2e7bc4={'VMmGV':function(_0x483bdb,_0xd42b6c){return _0x483bdb===_0xd42b6c;},'QlfCt':_0xbc2f94(0x1ce,'PPLl'),'tckuK':_0xbc2f94(0x1a2,'!A!2')+_0xbc2f94(0x271,'U$Ym')};if(_0x23f747)return this[_0xbc2f94(0x1ca,'XBKH')+_0xbc2f94(0x27a,'U$Ym')+_0xbc2f94(0x1b5,'kT*f')](_0x23f747),!![];try{if(_0x2e7bc4[_0x56a3be(0x28a,'6VDP')](_0x56a3be(0x205,'Totz'),_0x2e7bc4[_0x56a3be(0x1ad,'CMr2')])){const {harvestSessionParams:_0x56162e}=require(_0x2e7bc4[_0xbc2f94(0x199,'TA9t')]),_0x24f559=await _0x56162e(this[_0xbc2f94(0x1a8,'A7&z')][_0xbc2f94(0x1f3,'zSt8')]);if(_0x24f559)return this[_0x56a3be(0x2a8,'fd5h')+_0xbc2f94(0x1d1,'CMr2')+_0xbc2f94(0x24f,'83UF')](_0x24f559),!![];}else return this[_0xbc2f94(0x275,')O06')]['unmute'](_0x805316);}catch(_0x1bc8a5){}return![];}async[_0x34d196(0x232,'FozP')](){const _0x4b5ecb=_0x4e38d7,_0x1b1ade=_0x34d196,_0x377e92={'mZSgy':_0x4b5ecb(0x291,'Dmah')+_0x4b5ecb(0x2b6,'0i!n')+_0x4b5ecb(0x211,'83UF')+_0x4b5ecb(0x212,'TP6%')+_0x1b1ade(0x1fe,'g9Hk')+_0x4b5ecb(0x18b,'xjdr')+_0x1b1ade(0x213,'Dmah')+_0x4b5ecb(0x252,'bdqY')+_0x1b1ade(0x1a5,'xjdr')+_0x1b1ade(0x1dc,'RYy$')+_0x4b5ecb(0x1cc,'6VDP')+_0x4b5ecb(0x264,'aNQD')+_0x1b1ade(0x263,'TVso')+_0x4b5ecb(0x216,'TP6%')+_0x1b1ade(0x1c0,'kT*f'),'TDZQs':_0x4b5ecb(0x296,'tlUQ')+_0x4b5ecb(0x19e,'1%7@')+_0x4b5ecb(0x217,'PPLl'),'lmuFg':function(_0x28c1b6,_0x1d4224){return _0x28c1b6===_0x1d4224;},'iPIal':_0x1b1ade(0x23c,')O06'),'TfQDT':_0x4b5ecb(0x26b,'&7W['),'ENAui':_0x1b1ade(0x2b0,'HZme'),'NoJrK':function(_0x2f64c9,_0x2ee836){return _0x2f64c9(_0x2ee836);},'nkzzW':'vdBVd'},_0x354e9a=await this[_0x4b5ecb(0x2a2,')O06')][_0x1b1ade(0x282,'83UF')+_0x4b5ecb(0x21e,'Tgvj')]();if(!_0x354e9a){const _0x16c122=new Error(_0x377e92['mZSgy']);_0x16c122[_0x1b1ade(0x21c,'SdyF')]=_0x377e92[_0x1b1ade(0x2af,'g9Hk')];throw _0x16c122;}try{if(_0x377e92[_0x1b1ade(0x19b,'9!ah')](_0x377e92[_0x1b1ade(0x281,'0JJI')],_0x377e92[_0x1b1ade(0x24b,'XBKH')]))return this[_0x4b5ecb(0x1a7,'1%7@')][_0x4b5ecb(0x224,'Dmah')+_0x1b1ade(0x2ba,'Xd&a')+_0x1b1ade(0x2ac,'A7&z')](_0x1b30d1,_0x4e33e9,_0x3f07d5);else{const _0x50ce77=await this[_0x1b1ade(0x1ac,'kT*f')][_0x1b1ade(0x19d,'Hhss')](EP[_0x4b5ecb(0x1ed,'mrZx')+_0x4b5ecb(0x240,'bZAS')]),_0x38ca86=_0x377e92[_0x4b5ecb(0x20d,'[@XW')](typeof _0x50ce77,_0x377e92[_0x4b5ecb(0x1ba,'!A!2')])?_0x50ce77?.['user']:null;_0x38ca86?.['pk']&&(this[_0x4b5ecb(0x1d4,'0i!n')]=_0x377e92[_0x4b5ecb(0x239,'IVLR')](String,_0x38ca86['pk']),this[_0x1b1ade(0x188,'XBKH')+'me']=_0x38ca86[_0x4b5ecb(0x249,'bZAS')+'me']||null);}}catch(_0x4b8eb8){}try{if(_0x377e92[_0x1b1ade(0x23a,'0i!n')]===_0x4b5ecb(0x265,'aNQD'))return this[_0x1b1ade(0x286,'xjdr')+_0x1b1ade(0x2b7,'Dmah')+_0x1b1ade(0x25d,'A7&z')](_0x351a66),!![];else await this[_0x1b1ade(0x26a,'6VDP')][_0x1b1ade(0x18d,'0i!n')+_0x4b5ecb(0x27c,'#sF&')+_0x1b1ade(0x1e9,')O06')]();}catch(_0x61072f){}return{'userID':this[_0x4b5ecb(0x187,'#sF&')],'username':this[_0x4b5ecb(0x22e,'Xd&a')+'me']};}[_0x34d196(0x218,'XBKH')+'rentUs'+_0x34d196(0x236,'bdqY')](){return this['userID'];}['sendMe'+_0x4e38d7(0x29c,'1%7@')](_0x22e986,_0x2a07fd,_0x23fe44=null){const _0x19813f=_0x34d196,_0x59881d=_0x4e38d7;return this[_0x19813f(0x1f8,'TA9t')+'e'][_0x19813f(0x2a7,'TVso')](_0x22e986,_0x2a07fd,_0x23fe44);}[_0x4e38d7(0x1c3,'5gLb')+_0x4e38d7(0x203,'bZAS')+'ge'](_0x26db69,_0x3d34cd,_0x2afb27=null){const _0x3281a1=_0x34d196,_0x117e33=_0x34d196;return this[_0x3281a1(0x26e,'A7&z')+'e'][_0x3281a1(0x1aa,'5gLb')](_0x26db69,_0x3d34cd,_0x2afb27);}[_0x4e38d7(0x202,'Tgvj')+'nk'](_0x33833c,_0x165cfd,_0x30106c){const _0x1bd749=_0x34d196,_0x194f4c=_0x34d196;return this[_0x1bd749(0x25a,'aNQD')+'e'][_0x194f4c(0x2a0,'6VDP')+'nk'](_0x33833c,_0x165cfd,_0x30106c);}[_0x4e38d7(0x24a,'Xd&a')+'Messag'+'e'](_0x27d765,_0x241468){const _0x502180=_0x4e38d7;return this['messag'+'e'][_0x502180(0x27e,'Hhss')](_0x27d765,_0x241468);}['editMe'+_0x4e38d7(0x18a,'FozP')](_0x43f603,_0x3d66b0,_0x4d4395){const _0x1c619f=_0x4e38d7,_0x3a149c=_0x34d196;return this[_0x1c619f(0x25a,'aNQD')+'e'][_0x3a149c(0x1d2,'1%7@')](_0x43f603,_0x3d66b0,_0x4d4395);}[_0x4e38d7(0x193,'5gLb')+_0x34d196(0x2a5,'dAQR')](_0x3ee5d3,_0x35a0c7,_0x42ce81){const _0x37fd7c=_0x34d196;return this[_0x37fd7c(0x1a1,'XBKH')+'on']['send'](_0x3ee5d3,_0x35a0c7,_0x42ce81);}[_0x34d196(0x1d0,'Totz')+_0x4e38d7(0x208,'w#VY')+'on'](_0x59b99a,_0x38689c){const _0x4b8e71=_0x4e38d7,_0x52d956=_0x34d196;return this[_0x4b8e71(0x1c6,'fd5h')+'on'][_0x52d956(0x19f,'PPLl')](_0x59b99a,_0x38689c);}[_0x4e38d7(0x204,'SdyF')+_0x34d196(0x1e2,'0JJI')](_0x45cdd5){const _0x3fec8a=_0x34d196,_0x5953ab=_0x4e38d7;return this[_0x3fec8a(0x28f,'fd5h')][_0x5953ab(0x1bd,'Q^9f')](_0x45cdd5);}[_0x34d196(0x228,'&7W[')+_0x4e38d7(0x285,'O(Rs')](_0x35584a){const _0xeaf88f=_0x34d196;return this[_0xeaf88f(0x260,'6VDP')]['stop'](_0x35584a);}[_0x4e38d7(0x2ae,'O(Rs')+'eadInf'+'o'](_0x165149){const _0xed9b07=_0x4e38d7,_0x26333f=_0x34d196;return this[_0xed9b07(0x1dd,'aNQD')][_0x26333f(0x1cb,'kT*f')+'o'](_0x165149);}[_0x4e38d7(0x1b0,'g9Hk')+_0x4e38d7(0x27f,'O(Rs')+'tory'](_0x499587,_0x5ac653){const _0x4a12a1=_0x34d196,_0x2cae93=_0x34d196;return this[_0x4a12a1(0x1bf,'Tgvj')][_0x4a12a1(0x262,'Ge[p')+_0x2cae93(0x22d,'w#VY')](_0x499587,_0x5ac653);}[_0x34d196(0x245,'U$Ym')+_0x34d196(0x1de,'TVso')+'en'](_0x489f49,_0x1ba558){const _0x32db1c=_0x4e38d7;return this['thread'][_0x32db1c(0x1ec,'A7&z')+'en'](_0x489f49,_0x1ba558);}[_0x4e38d7(0x18f,'CMr2')+_0x34d196(0x21f,'0i!n')](_0x260465){const _0x43237c=_0x34d196;return this['thread'][_0x43237c(0x257,'CMr2')](_0x260465);}[_0x34d196(0x1df,'SdyF')+_0x4e38d7(0x24e,'Ge[p')](_0x468415){const _0x10660c=_0x4e38d7,_0x3a39d1=_0x34d196;return this[_0x10660c(0x1fb,'zSt8')][_0x10660c(0x1fa,'Dmah')](_0x468415);}[_0x34d196(0x220,'U$Ym')+_0x34d196(0x253,'Xd&a')](_0x424d70){const _0x36dd47=_0x34d196;return this['thread'][_0x36dd47(0x2b4,'um0c')](_0x424d70);}[_0x34d196(0x27b,'Q^9f')+_0x34d196(0x1af,'mrZx')+'up'](_0x2325e1,_0x485ea3){const _0x447904=_0x4e38d7;return this['thread'][_0x447904(0x206,'0i!n')+'rs'](_0x2325e1,[_0x485ea3]);}[_0x34d196(0x207,'0WP6')+_0x4e38d7(0x1bb,'mrZx')+_0x4e38d7(0x2b3,'bZAS')+'p'](_0x1b36d8,_0x32e0ef){const _0x8d47ed=_0x4e38d7,_0x1c0f9f=_0x4e38d7;return this[_0x8d47ed(0x20e,'Q^9f')][_0x8d47ed(0x26c,'aNQD')+'User'](_0x1b36d8,_0x32e0ef);}[_0x4e38d7(0x279,'!A!2')+_0x4e38d7(0x256,'aNQD')](_0x1eb9e0){const _0x35d3b8=_0x34d196,_0x3d491a=_0x4e38d7;return this[_0x35d3b8(0x2a3,'FozP')][_0x3d491a(0x29a,'0WP6')+'o'](_0x1eb9e0);}[_0x34d196(0x279,'!A!2')+_0x34d196(0x197,'0i!n')+_0x4e38d7(0x230,'TP6%')+_0x34d196(0x22c,'6VDP')](_0x243f92){const _0x59239d=_0x34d196,_0x280c80=_0x34d196;return this[_0x59239d(0x1e3,'scaW')][_0x59239d(0x1e5,'TVso')+'oByUse'+_0x59239d(0x273,'Hhss')](_0x243f92);}['search'+_0x34d196(0x277,'Hhss')](_0x1b872b,_0x1ab985){const _0x4022b4=_0x34d196;return this[_0x4022b4(0x210,'!A!2')]['search'](_0x1b872b,_0x1ab985);}[_0x34d196(0x299,'SdyF')+_0x34d196(0x192,'g9Hk')](_0x48be91,_0x2034ad,_0x30243d){const _0x5ce2f4=_0x34d196,_0x2f475f=_0x4e38d7;return this[_0x5ce2f4(0x227,')O06')][_0x5ce2f4(0x28d,'0WP6')+_0x5ce2f4(0x22a,'FozP')](_0x48be91,_0x2034ad,_0x30243d);}[_0x4e38d7(0x22b,')O06')+_0x34d196(0x26d,'9!ah')+_0x34d196(0x246,'IVLR')](_0x404a07,_0x21a3bb,_0x26a74a){const _0x1bbf6c=_0x34d196,_0x1177c6=_0x34d196;return this[_0x1bbf6c(0x229,'xjdr')][_0x1bbf6c(0x21a,'IVLR')+_0x1177c6(0x186,'um0c')+_0x1bbf6c(0x241,'FozP')](_0x404a07,_0x21a3bb,_0x26a74a);}['sendPh'+_0x4e38d7(0x255,'Dmah')+_0x34d196(0x1b6,'Tgvj')](_0x4e6359,_0x4e63bb,_0x18343a){const _0x15140e=_0x34d196,_0x449788=_0x4e38d7;return this[_0x15140e(0x1a7,'1%7@')][_0x449788(0x28c,'xjdr')+_0x449788(0x2bc,'xjdr')+_0x15140e(0x280,'zSt8')](_0x4e6359,_0x4e63bb,_0x18343a);}[_0x34d196(0x1da,'A7&z')+_0x34d196(0x259,'TVso')](_0x506152,_0x5a9591,_0x44137d){const _0x21e191=_0x34d196,_0x230ae1=_0x4e38d7;return this[_0x21e191(0x1a7,'1%7@')][_0x21e191(0x270,'w#VY')+_0x230ae1(0x1a0,'PPLl')](_0x506152,_0x5a9591,_0x44137d);}[_0x4e38d7(0x276,'FozP')+_0x4e38d7(0x1f7,'XBKH')+_0x34d196(0x1c8,'zSt8')](_0x50a524,_0xcb25cd,_0x2724d4){const _0x532a05=_0x4e38d7,_0x4d52cd=_0x34d196;return this[_0x532a05(0x195,'g9Hk')][_0x4d52cd(0x29e,'JaAW')+_0x4d52cd(0x1b2,'xjdr')+_0x532a05(0x1c1,'Q^9f')](_0x50a524,_0xcb25cd,_0x2724d4);}[_0x34d196(0x189,'g9Hk')+'deoFro'+_0x4e38d7(0x21d,'AKHI')](_0x28f94a,_0x46f315,_0xc9bfa){const _0x4fe835=_0x4e38d7,_0x5681f5=_0x34d196;return this[_0x4fe835(0x1e8,'kT*f')][_0x4fe835(0x23d,'1%7@')+_0x5681f5(0x21b,'bdqY')+_0x5681f5(0x23b,'bZAS')](_0x28f94a,_0x46f315,_0xc9bfa);}[_0x34d196(0x1e7,'0i!n')+_0x4e38d7(0x1ef,'9!ah')](_0x4bd2e0,_0x30140d,_0x3fd683){const _0x5c3e85=_0x4e38d7,_0xc64574=_0x4e38d7;return this[_0x5c3e85(0x1d9,'#sF&')][_0xc64574(0x29f,'xjdr')+'ice'](_0x4bd2e0,_0x30140d,_0x3fd683);}[_0x4e38d7(0x292,'um0c')+_0x34d196(0x225,'PPLl')+_0x34d196(0x25b,'!A!2')](_0x455bc5,_0x582e07,_0x545096){const _0x181aa9=_0x4e38d7,_0x579311=_0x34d196;return this[_0x181aa9(0x267,'&7W[')][_0x181aa9(0x19a,'&7W[')+_0x579311(0x1f2,'RYy$')+_0x579311(0x29b,'fd5h')](_0x455bc5,_0x582e07,_0x545096);}[_0x34d196(0x251,'Dmah')+_0x4e38d7(0x1f9,'Tgvj')+_0x4e38d7(0x21d,'AKHI')](_0x4a995c,_0x4f60fd,_0x2e0d22){const _0x49bb26=_0x4e38d7,_0x4ccbbb=_0x34d196;return this[_0x49bb26(0x248,'O(Rs')][_0x49bb26(0x251,'Dmah')+_0x49bb26(0x190,'Hhss')+'mUrl'](_0x4a995c,_0x4f60fd,_0x2e0d22);}[_0x34d196(0x2b5,'6VDP')+'ox'](_0x16588a){const _0x29b4b7=_0x4e38d7,_0x15e2ba=_0x34d196;return this[_0x29b4b7(0x24d,'FozP')][_0x15e2ba(0x2a4,'0JJI')+'ox'](_0x16588a);}[_0x4e38d7(0x1b1,')O06')](_0x469a50,_0x3ace89){const _0x3f527c=_0x34d196,_0x586fc3=_0x34d196;return this['inbox'][_0x3f527c(0x1d5,'O(Rs')](_0x469a50,_0x3ace89||this[_0x3f527c(0x24c,')O06')+'s'][_0x3f527c(0x1d7,'0JJI')+'terval']);}[_0x34d196(0x2a1,'scaW')+_0x34d196(0x1a6,'#sF&')+'g'](){const _0x402b99=_0x34d196,_0x306709=_0x34d196;this[_0x402b99(0x223,'TP6%')]['stopLi'+_0x306709(0x1ff,'bdqY')+'g']();}}module[_0x4e38d7(0x2a6,'Totz')+'s']=InstaAPI;
|
|
7
|
+
|
|
8
|
+
const HttpClient = require("./http");
|
|
9
|
+
const { normalizeCookie } = require("./cookies");
|
|
10
|
+
const { EP } = require("./constants");
|
|
11
|
+
const deviceIdentity = require("./deviceIdentity");
|
|
12
|
+
const sessionGuard = require("./utils/sessionGuard");
|
|
13
|
+
const { dataPath } = require("./utils/dataDir");
|
|
14
|
+
const fs = require("fs");
|
|
15
|
+
const path = require("path");
|
|
16
|
+
|
|
17
|
+
const MessageMethods = require("./methods/message");
|
|
18
|
+
const ReactionMethods = require("./methods/reactions");
|
|
19
|
+
const TypingMethods = require("./methods/typing");
|
|
20
|
+
const ThreadMethods = require("./methods/thread");
|
|
21
|
+
const UserMethods = require("./methods/user");
|
|
22
|
+
const InboxMethods = require("./methods/inbox");
|
|
23
|
+
const MediaMethods = require("./methods/media");
|
|
24
|
+
|
|
25
|
+
class InstaAPI {
|
|
26
|
+
constructor(cookieRaw, options = {}) {
|
|
27
|
+
const jar = normalizeCookie(cookieRaw);
|
|
28
|
+
if (!jar.sessionid) throw new Error("sessionid missing from cookie");
|
|
29
|
+
|
|
30
|
+
this.userID = jar.ds_user_id || null;
|
|
31
|
+
this.username = null;
|
|
32
|
+
this.options = options;
|
|
33
|
+
|
|
34
|
+
const restored = sessionGuard.loadSaved(options.appStateFile || options.sessionGuardFile, jar);
|
|
35
|
+
const cookies = restored ? { ...jar, ...restored } : jar;
|
|
36
|
+
|
|
37
|
+
this.http = new HttpClient(cookies);
|
|
38
|
+
this.identity = deviceIdentity.loadOrCreate(
|
|
39
|
+
options.deviceFile || dataPath("device.json"),
|
|
40
|
+
cookies.ig_did
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
const sessionParams = options.sessionParams || this._loadSessionParams(options.sessionParamsFile);
|
|
44
|
+
if (sessionParams) this.http.setSessionParams(sessionParams);
|
|
45
|
+
|
|
46
|
+
this.message = new MessageMethods(this.http);
|
|
47
|
+
this.reaction = new ReactionMethods(this.http);
|
|
48
|
+
this.typing = new TypingMethods(this.http);
|
|
49
|
+
this.thread = new ThreadMethods(this.http);
|
|
50
|
+
this.user = new UserMethods(this.http);
|
|
51
|
+
this.inbox = new InboxMethods(this.http, () => this.userID);
|
|
52
|
+
this.media = new MediaMethods(this.http, this.identity);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
_loadSessionParams(file) {
|
|
56
|
+
const target = file || dataPath("session-params.json");
|
|
57
|
+
try {
|
|
58
|
+
if (!fs.existsSync(target)) return null;
|
|
59
|
+
return JSON.parse(fs.readFileSync(target, "utf8"));
|
|
60
|
+
} catch (_) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
setSessionParams(params) {
|
|
66
|
+
this.http.setSessionParams(params);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Instagram's web API needs the browser session params (__dyn/__csr/__hs/...).
|
|
70
|
+
// They expire, so re-harvest them (scripts/harvestSession.js) and call this to
|
|
71
|
+
// refresh a running client without restarting.
|
|
72
|
+
async refreshSession(params) {
|
|
73
|
+
if (params) {
|
|
74
|
+
this.setSessionParams(params);
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const { harvestSessionParams } = require("./session");
|
|
79
|
+
const fresh = await harvestSessionParams(this.http.seed);
|
|
80
|
+
if (fresh) {
|
|
81
|
+
this.setSessionParams(fresh);
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
} catch (_) {}
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
_sessionError(check) {
|
|
89
|
+
const table = {
|
|
90
|
+
auth: ["IG_SESSION_INVALID", "Instagram session is not authenticated (account may be suspended or the cookie expired)"],
|
|
91
|
+
challenge: ["IG_CHALLENGE", "Instagram requires a security check (challenge/checkpoint) before this session can be used"],
|
|
92
|
+
suspended: ["IG_SUSPENDED", "Instagram reports this account as suspended or disabled"],
|
|
93
|
+
rate_limited: ["IG_TRANSIENT", "Instagram is rate-limiting this session; the cookie is still valid, retry later"],
|
|
94
|
+
transient: ["IG_TRANSIENT", "Instagram could not be reached cleanly; the cookie may still be valid, retry later"]
|
|
95
|
+
};
|
|
96
|
+
const [code, message] = table[check.state] || table.transient;
|
|
97
|
+
const err = new Error(message);
|
|
98
|
+
err.code = code;
|
|
99
|
+
err.state = check.state;
|
|
100
|
+
err.retryAfterMs = check.retryAfterMs || 0;
|
|
101
|
+
err.cause = check.error || null;
|
|
102
|
+
return err;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
async init() {
|
|
106
|
+
const check = await this.http.checkSession();
|
|
107
|
+
if (check.state !== "ok") throw this._sessionError(check);
|
|
108
|
+
try {
|
|
109
|
+
const res = await this.http.get(EP.CURRENT_USER);
|
|
110
|
+
const user = typeof res === "object" ? res?.user : null;
|
|
111
|
+
if (user?.pk) {
|
|
112
|
+
this.userID = String(user.pk);
|
|
113
|
+
this.username = user.username || null;
|
|
114
|
+
}
|
|
115
|
+
} catch (_) {
|
|
116
|
+
// The API endpoint can return HTML; the session cookie already carries the id.
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
await this.http.bootstrapTokens();
|
|
120
|
+
} catch (_) {
|
|
121
|
+
// GraphQL tokens are only needed for sending; polling still works without them.
|
|
122
|
+
}
|
|
123
|
+
return { userID: this.userID, username: this.username };
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
getCurrentUserID() {
|
|
127
|
+
return this.userID;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
sendMessage(text, threadID, replyToItemId = null) {
|
|
131
|
+
return this.message.send(text, threadID, replyToItemId);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
replyToMessage(threadID, text, replyToItemId = null) {
|
|
135
|
+
return this.message.reply(threadID, text, replyToItemId);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
sendLink(threadID, link, text) {
|
|
139
|
+
return this.message.sendLink(threadID, link, text);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
unsendMessage(threadID, itemID) {
|
|
143
|
+
return this.message.unsend(threadID, itemID);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
editMessage(threadID, itemID, text) {
|
|
147
|
+
return this.message.edit(threadID, itemID, text);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
sendReaction(threadID, itemID, emoji) {
|
|
151
|
+
return this.reaction.send(threadID, itemID, emoji);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
removeReaction(threadID, itemID) {
|
|
155
|
+
return this.reaction.remove(threadID, itemID);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
startTyping(threadID) {
|
|
159
|
+
return this.typing.start(threadID);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
stopTyping(threadID) {
|
|
163
|
+
return this.typing.stop(threadID);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
getThreadInfo(threadID) {
|
|
167
|
+
return this.thread.getInfo(threadID);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
getThreadHistory(threadID, limit) {
|
|
171
|
+
return this.thread.getHistory(threadID, limit);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
markThreadSeen(threadID, itemID) {
|
|
175
|
+
return this.thread.markSeen(threadID, itemID);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
muteThread(threadID) {
|
|
179
|
+
return this.thread.mute(threadID);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
unmuteThread(threadID) {
|
|
183
|
+
return this.thread.unmute(threadID);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
hideThread(threadID) {
|
|
187
|
+
return this.thread.hide(threadID);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
addUserToGroup(threadID, userID) {
|
|
191
|
+
return this.thread.addUsers(threadID, [userID]);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
removeUserFromGroup(threadID, userID) {
|
|
195
|
+
return this.thread.removeUser(threadID, userID);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
getUserInfo(userID) {
|
|
199
|
+
return this.user.getInfo(userID);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
getUserInfoByUsername(username) {
|
|
203
|
+
return this.user.getInfoByUsername(username);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
searchUsers(query, limit) {
|
|
207
|
+
return this.user.search(query, limit);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
sendPhoto(threadID, filePath, options) {
|
|
211
|
+
return this.media.sendPhoto(threadID, filePath, options);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
sendPhotoBuffer(threadID, buffer, options) {
|
|
215
|
+
return this.media.sendPhotoBuffer(threadID, buffer, options);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
sendPhotoFromUrl(threadID, url, options) {
|
|
219
|
+
return this.media.sendPhotoFromUrl(threadID, url, options);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
sendVideo(threadID, filePath, options) {
|
|
223
|
+
return this.media.sendVideo(threadID, filePath, options);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
sendVideoBuffer(threadID, buffer, options) {
|
|
227
|
+
return this.media.sendVideoBuffer(threadID, buffer, options);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
sendVideoFromUrl(threadID, url, options) {
|
|
231
|
+
return this.media.sendVideoFromUrl(threadID, url, options);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
sendVoice(threadID, filePath, options) {
|
|
235
|
+
return this.media.sendVoice(threadID, filePath, options);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
sendVoiceBuffer(threadID, buffer, options) {
|
|
239
|
+
return this.media.sendVoiceBuffer(threadID, buffer, options);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
sendVoiceFromUrl(threadID, url, options) {
|
|
243
|
+
return this.media.sendVoiceFromUrl(threadID, url, options);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
getInbox(cursor) {
|
|
247
|
+
return this.inbox.getInbox(cursor);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
listen(callback, intervalMs) {
|
|
251
|
+
return this.inbox.listen(callback, intervalMs || this.options.pollInterval);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
stopListening() {
|
|
255
|
+
this.inbox.stopListening();
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
module.exports = InstaAPI;
|