qidao-openclaw-plugin 2.0.0-beta.1 → 2.0.2

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/index.js ADDED
@@ -0,0 +1 @@
1
+ (function(_0x3da410,_0x654086){const _0x8be370=_0xbc15,_0x28b891=_0x3da410();while(!![]){try{const _0x11367d=parseInt(_0x8be370(0x13b))/0x1*(-parseInt(_0x8be370(0x125))/0x2)+parseInt(_0x8be370(0x12e))/0x3+parseInt(_0x8be370(0xfb))/0x4*(parseInt(_0x8be370(0x136))/0x5)+-parseInt(_0x8be370(0x130))/0x6*(parseInt(_0x8be370(0x10c))/0x7)+-parseInt(_0x8be370(0x114))/0x8+parseInt(_0x8be370(0x123))/0x9*(parseInt(_0x8be370(0x11a))/0xa)+-parseInt(_0x8be370(0x131))/0xb;if(_0x11367d===_0x654086)break;else _0x28b891['push'](_0x28b891['shift']());}catch(_0x16392c){_0x28b891['push'](_0x28b891['shift']());}}}(_0x2e0e,0xc43a8));import{QidaoChannel}from'./qidao-channel.js';import{registerAuthCommand}from'./auth-cli.js';function _0xbc15(_0x1c758c,_0x9851e4){_0x1c758c=_0x1c758c-0xf2;const _0x2e0e96=_0x2e0e();let _0xbc15c1=_0x2e0e96[_0x1c758c];if(_0xbc15['qHrVus']===undefined){var _0x3cb8a2=function(_0x24c6b7){const _0x194787='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c0a98='',_0x43b5cf='';for(let _0x130170=0x0,_0x1bc80c,_0x151265,_0x13d16a=0x0;_0x151265=_0x24c6b7['charAt'](_0x13d16a++);~_0x151265&&(_0x1bc80c=_0x130170%0x4?_0x1bc80c*0x40+_0x151265:_0x151265,_0x130170++%0x4)?_0x3c0a98+=String['fromCharCode'](0xff&_0x1bc80c>>(-0x2*_0x130170&0x6)):0x0){_0x151265=_0x194787['indexOf'](_0x151265);}for(let _0x14e7bf=0x0,_0x3e428d=_0x3c0a98['length'];_0x14e7bf<_0x3e428d;_0x14e7bf++){_0x43b5cf+='%'+('00'+_0x3c0a98['charCodeAt'](_0x14e7bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43b5cf);};_0xbc15['EcAntI']=_0x3cb8a2,_0xbc15['HmdYeS']={},_0xbc15['qHrVus']=!![];}const _0x32a339=_0x2e0e96[0x0],_0x3994c8=_0x1c758c+_0x32a339,_0x4adbee=_0xbc15['HmdYeS'][_0x3994c8];return!_0x4adbee?(_0xbc15c1=_0xbc15['EcAntI'](_0xbc15c1),_0xbc15['HmdYeS'][_0x3994c8]=_0xbc15c1):_0xbc15c1=_0x4adbee,_0xbc15c1;}import{DeviceFingerprint}from'./device-fingerprint.js';function _0x2e0e(){const _0x3a789a=['x2nVzgu','5Qcw5BkB6igk5AsP57Y65Bcry2HHDeLK6ywn572U77Ym6k+36l+q6kgmig9Wzw5JBgf3ihfPzgfVlwf1DgGG5A6m5OIq6k6K6k+b','C3rHCNq','ywrKrxzLBNrmAxn0zw5LCG','mJCYm2HPuKf6BW','6l+E5O6L6lAf5PE2','C2vUza','y2HHBM5LBa','5Qcw5BkB6igk5AsP5yQG6l295A6m5OIq','DhLWzq','BwvZC2fNzvrLEhq','Aw5MBW','mZu2otiZmMHrshjutG','5Qcw5BkB6igk5AsPoIa','A2LUza','DhjPBq','6k+36yEn5zcVieDHDgv3yxKG5lUL5BQu55sO6ywn572U77YA','C3vJy2vZCW','mJa1nda0mfbZzgXKvG','CMvWBhK','5O+q56s677YA6l+q6kgmig9Wzw5JBgf3ihfPzgfVlwf1DgGG5l2/55sO5lQm57U056cb6k6K6k+b','zgvMyxvSDa','6k6K6k+b6Ag16z2IoIa','5Q2J5zYO5l+D5A2y6ywn572UlI4U','6ywn572U5BEY5l+D5A2y','5Ps25yIW5Qcw5BkB5RAi5OgVoIa','BwvZC2fNzq','nJnSBurHr1m','z2vUzxjHDgu','mZC0nM1lCNvHCq','Dgv4Da','5zUE5Asn5AsX6lsLicG','x3bVBgXjBNrLCNzHBa','6zYa6kAb6ywn572U','zgLYzwn0','6k6K6k+b5A6m5OIq77Yb','ywrK','4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb','ndq4ndy1oe5AzvfrBG','CwLKyw8','mtGZmhfQC09Ovq','ota4otu4nKPSwNrKAW','y2XVC2u','562j5B6f5OMR56cblI4U','C3rHCNrbDxrO','6k6K6k+b5AsX6lsL','nJv3qKL3Eey','w3fPzgfVxsdMO4dMTyVLIldORQtOR4hLPlhOTkxVViZMRApLNkJOH6RLIQJLKk/LIQJORQtOR4hMTyhNQiSUlI4','Bg9N','zgf0yq','zgLZCgf0y2HszxbSEvDPDgHcDwzMzxjLzejSB2nRrgLZCgf0y2HLCG','ntK0t25SwKrj','icbVCgvUy2XHDYbNyxrLD2f5ihjLC3rHCNq','Dg9tDhjPBMC','lI4U','D3nZoI8VB2mUCwLKyw8Uy2HHDc93CW','yxv0Afn0yxr1CW','5Qcw5BkB6igk5AsP5PYQ5zcV55sO','DwLK','Bg9Nz2vY','lI9XCI1Zzxj2zxiUANm','zgfYD2LU','DxnLCKLK','zxjYB3i','uwLKyw8GCNvUDgLTzsbUB3qGAw5PDgLHBgL6zwqGlsbWBhvNAw4GBM90ihjLz2LZDgvYzwq','5PYQ6ywn572U','y29TCgXLDgvbDxrO','icdMJQJOJzdKVB/NLkJKUOZNU7tNOihORQtOR4hVViJOH6RLIQJOJRFLJ5yGy2HHDeLK77Yj77YA','ywnJB3vUDeLK','mte1mZaWtKjqBufA','C2vUzgvYswq','BM93','y29Kzq','DgLTzxn0yw1W','5BEY6ywn572U','y2HHDeLK','icaGioIVT+MaGowhUUATPowqKEwVVo+8IoAmIsbdDhjSk0pVViNVViZNHlBLKi7OV5dOOyZVVjO','yxv0AenVBxbSzxrLza','y2HHBM5LBhm','D2fPDgLUzW','CwLKyw86','yMLUzgLUz1rVA2vU'];_0x2e0e=function(){return _0x3a789a;};return _0x2e0e();}let connection=null,pluginApi=null,qidaoRuntime=null,recentSentMessages=new Set();function setQidaoRuntime(_0x3c0a98){qidaoRuntime=_0x3c0a98;}function getQidaoRuntime(){const _0x268874=_0xbc15;if(!qidaoRuntime)throw new Error(_0x268874(0xf6));return qidaoRuntime;}const qidaoChannel={'id':'qidao','meta':{'id':'qidao','label':'栖岛聊天','selectionLabel':'栖岛聊天\x20(Qidao\x20Chat)','blurb':'连接到栖岛聊天服务'},'capabilities':{'chatTypes':['direct','group'],'hasGateway':!![]},'config':{'listAccountIds':()=>['default'],'resolveAccount':_0x43b5cf=>{const _0x130170=_0x43b5cf['channels']?.['qidao']??{};return{'accountId':'default','enabled':_0x130170['enabled']!==![],'chatId':_0x130170['chatId'],'userId':_0x130170['userId'],'bindingToken':_0x130170['bindingToken'],'serverUrl':'wss://oc.qidao.chat/ws'};}},'onboarding':{'getStatus':async({cfg:_0x1bc80c})=>{const _0x3453cc=_0xbc15,_0x151265=_0x1bc80c[_0x3453cc(0x104)]?.['qidao']??{},_0x13d16a=Boolean(_0x151265['chatId']);return{'channel':_0x3453cc(0x12f),'configured':_0x13d16a,'statusLines':[_0x3453cc(0x115)+(_0x13d16a?'已配置\x20(chatId:\x20'+_0x151265[_0x3453cc(0x101)]+')':_0x3453cc(0xf7))],'selectionHint':_0x13d16a?_0x3453cc(0x100):_0x3453cc(0x129)};},'configure':async({cfg:_0x14e7bf,prompter:_0x3e428d})=>{const _0xbca6a9=_0xbc15,_0x32175d=_0x14e7bf['channels']?.['qidao']??{};if(_0x32175d[_0xbca6a9(0x101)]){const _0x13c68d=await _0x3e428d['confirm']({'message':'已配置\x20chatId:\x20'+_0x32175d['chatId']+',是否重新配置?','default':![]});if(!_0x13c68d)return{'cfg':_0x14e7bf,'accountId':'default'};}console[_0xbca6a9(0x138)](''),console['log'](_0xbca6a9(0x12d)),console[_0xbca6a9(0x138)](''),console['log']('\x20\x20📱\x20栖岛聊天配置'),console[_0xbca6a9(0x138)](''),console['log'](_0xbca6a9(0xf9)),console[_0xbca6a9(0x138)](''),console['log'](_0xbca6a9(0x102)),console['log'](''),console['log']('\x20\x20\x20\x20\x20\x20openclaw\x20qidao-auth'),console['log'](''),console[_0xbca6a9(0x138)]('\x20\x20或者继续手动输入\x20chatId'),console['log'](''),console[_0xbca6a9(0x138)]('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'),console[_0xbca6a9(0x138)]('');const _0x4c047f=await _0x3e428d['text']({'message':'请输入栖岛\x20Chat\x20ID\x20(或按\x20Ctrl+C\x20退出后使用\x20openclaw\x20qidao-auth):','default':_0x32175d['chatId']?.['toString']()||''});if(!_0x4c047f||_0x4c047f[_0xbca6a9(0x117)]()==='')return console[_0xbca6a9(0x138)](''),console['log']('未输入\x20chatId,取消配置'),console['log'](''),console['log'](_0xbca6a9(0x11c)),console['log'](''),{'cfg':_0x14e7bf};const _0x56bacd=parseInt(_0x4c047f['trim']()),_0x4ed0f1={..._0x14e7bf,'channels':{..._0x14e7bf['channels'],'qidao':{'enabled':!![],'chatId':_0x56bacd}}};return console[_0xbca6a9(0x138)](''),console[_0xbca6a9(0x138)](_0xbca6a9(0x120)),console['log'](''),console['log'](_0xbca6a9(0x118)),console['log'](_0xbca6a9(0x13c)),console['log'](''),{'cfg':_0x4ed0f1,'accountId':'default'};}},'outbound':{'deliveryMode':'direct','sendText':async({text:_0x3a3a94,chatId:_0x158f23})=>{const _0x2bfeba=_0xbc15;if(!connection||!connection['isConnected']())return{'ok':![],'error':'未连接到栖岛服务'};if(!_0x158f23)return{'ok':![],'error':'未指定chatId'};try{const _0x3a5bd2=_0x158f23+'_'+_0x3a3a94['trim']()+'_'+Date[_0x2bfeba(0xfd)]();return recentSentMessages['add'](_0x3a5bd2),setTimeout(()=>{recentSentMessages['delete'](_0x3a5bd2);},0x1388),await connection['sendMessage'](parseInt(_0x158f23),_0x3a3a94),{'ok':!![]};}catch(_0x312cb2){return{'ok':![],'error':_0x312cb2[_0x2bfeba(0x122)]};}}},'gateway':{'startAccount':async _0x20901f=>{const _0x107c22=_0xbc15,{account:_0xcc7a4c,cfg:_0x342cef,runtime:_0x54cb04,abortSignal:_0x5dddd5}=_0x20901f;if(!_0xcc7a4c['enabled']){_0x54cb04['log']?.(_0x107c22(0x141));return;}if(!_0xcc7a4c['chatId']||!_0xcc7a4c['bindingToken']){!_0xcc7a4c[_0x107c22(0x101)]?_0x54cb04['log']?.('栖岛聊天需要配置,正在启动认证...'):_0x54cb04['log']?.('需要重新认证,正在启动认证...');try{const _0x2f834=(await import('ws'))[_0x107c22(0x11d)],{spawn:_0x5528a4,execSync:_0x4cce26}=await import('child_process'),_0x4309b4=new _0x2f834(_0x107c22(0x13f)),_0x10dd70=new DeviceFingerprint(),_0x360a41=await new Promise((_0xce891b,_0xd9448a)=>{const _0x5cd5e1=_0x107c22,_0x2d733a=setTimeout(()=>{const _0x52f538=_0xbc15;_0x4309b4[_0x52f538(0x132)](),_0xd9448a(new Error(_0x52f538(0x10d)));},0x2710);_0x4309b4['on']('open',()=>{const _0x3f7046=_0xbc15;clearTimeout(_0x2d733a),_0x4309b4[_0x3f7046(0x10e)](JSON['stringify']({'action':_0x3f7046(0x134)}));}),_0x4309b4['on'](_0x5cd5e1(0x122),async _0x58164e=>{const _0x227dd8=_0x5cd5e1;try{const _0x224564=JSON['parse'](_0x58164e['toString']());if(_0x224564['code']===0x1&&_0x224564[_0x227dd8(0x139)]&&_0x224564['data']['qrUrl']||_0x224564['action']==='authStarted'){const _0xc73885=_0x224564[_0x227dd8(0x139)]?.['code']||_0x224564['code'],_0x12c457=_0x224564['data']?.['qrUrl']||_0x224564['qrUrl'];try{const {createQRServer:_0x37d93b}=await import('./qr-server.js'),_0x5935e7=await _0x37d93b(_0x12c457);_0x54cb04['log']?.('认证页面:\x20'+_0x5935e7);const _0x4bebe5=process['platform']==='win32'?_0x227dd8(0x10a):process['platform']==='darwin'?'open':'xdg-open';_0x5528a4(_0x4bebe5,[_0x5935e7],{'shell':!![],'detached':!![]});}catch(_0x41e1b6){_0x54cb04['error']?.('启动认证服务失败:\x20'+_0x41e1b6['message']);}_0x54cb04['log']?.('等待扫码...');const _0x35c736=setInterval(()=>{const _0x4375fb=_0x227dd8;_0x4309b4[_0x4375fb(0x10e)](JSON['stringify']({'action':'checkAuthStatus','code':_0xc73885}));},0x7d0);_0x4309b4['_pollInterval']=_0x35c736,_0x4309b4[_0x227dd8(0x108)]=_0xc73885;}else{if(_0x224564[_0x227dd8(0xfe)]===0x1&&_0x224564['data']&&_0x224564['data']['status']||_0x224564['action']===_0x227dd8(0x140)){const _0x23f761=_0x224564['data']?.['status']||_0x224564['status'],_0xb2638=_0x224564['data']?.['uid']||_0x224564['uid'];if(_0x23f761===_0x227dd8(0x119)){const _0x9d4602=_0x10dd70[_0x227dd8(0x124)]();_0x4309b4[_0x227dd8(0x10e)](JSON['stringify']({'action':'completeAuth','uid':_0xb2638,'code':_0x4309b4['_code'],'deviceFingerprint':_0x9d4602}));}else{if(_0x23f761===_0x227dd8(0x105)){}}}else{if(_0x224564[_0x227dd8(0xfe)]===0x1&&_0x224564['data']&&_0x224564[_0x227dd8(0x139)][_0x227dd8(0x101)]||_0x224564['action']==='authCompleted'){_0x4309b4[_0x227dd8(0x128)]&&clearInterval(_0x4309b4[_0x227dd8(0x128)]);const _0x49f7c6=_0x224564['data']?.['chatId']||_0x224564['chatId'],_0x5e3196=_0x224564['data']?.['bindingToken']||_0x224564['bindingToken'],_0xc9538a=_0x224564['data']?.['uid']||_0x224564['uid'];_0x54cb04['log']?.('认证完成!'),_0x4309b4['close']();try{const {closeQRServer:_0x4d07d7}=await import('./qr-server.js');_0x4d07d7();}catch(_0x370887){}_0xce891b({'chatId':_0x49f7c6,'bindingToken':_0x5e3196,'uid':_0xc9538a});}else{if(_0x224564['code']===0x0||_0x224564['action']===_0x227dd8(0xf5)){_0x4309b4['_pollInterval']&&clearInterval(_0x4309b4['_pollInterval']);_0x4309b4['close']();const _0x34fcae=_0x224564['msg']||_0x224564['message']||_0x227dd8(0x135);_0xd9448a(new Error(_0x34fcae));}}}}}catch(_0x5bcf40){_0x54cb04['error']?.('处理消息失败:',_0x5bcf40),_0xd9448a(_0x5bcf40);}}),_0x4309b4['on']('error',_0x1a384e=>{const _0x20ce52=_0x5cd5e1;clearTimeout(_0x2d733a),_0x4309b4['_pollInterval']&&clearInterval(_0x4309b4[_0x20ce52(0x128)]),_0xd9448a(_0x1a384e);});});_0x54cb04[_0x107c22(0x138)]?.('正在保存配置...');let _0x348d61;if(_0x360a41['bindingToken'])_0x348d61='openclaw\x20config\x20set\x20channels.qidao.chatId\x20'+_0x360a41['chatId']+'\x20&&\x20openclaw\x20config\x20set\x20channels.qidao.bindingToken\x20\x22'+_0x360a41['bindingToken']+'\x22\x20&&\x20openclaw\x20config\x20set\x20channels.qidao.enabled\x20true';else throw new Error('认证失败:未获取到设备Token');_0x4cce26(_0x348d61,{'stdio':'inherit'}),_0x54cb04['log']?.('配置保存成功!');try{_0x4cce26('openclaw\x20gateway\x20restart');}catch(_0x39cd13){}return;}catch(_0x3e430e){_0x54cb04['error']?.('认证失败:\x20'+_0x3e430e['message']);throw new Error(_0x107c22(0x109));}}return connection=new QidaoChannel({'serverUrl':_0xcc7a4c['serverUrl'],'chatId':_0xcc7a4c['chatId'],'userId':_0xcc7a4c[_0x107c22(0xf4)],'bindingToken':_0xcc7a4c[_0x107c22(0x107)]}),connection['on']('connect',()=>{_0x54cb04['log']?.('栖岛聊天已连接');}),connection['on']('disconnect',()=>{const _0x94ef8e=_0x107c22;_0x54cb04[_0x94ef8e(0x138)]?.('栖岛聊天已断开');}),connection['on'](_0x107c22(0xf5),async _0x1d420f=>{const _0x56b177=_0x107c22;_0x54cb04['error']?.('栖岛聊天错误:\x20'+_0x1d420f['message']);if(_0x1d420f['needsReauth']){_0x54cb04[_0x56b177(0x138)]?.(_0x56b177(0x137));try{const _0x57ac1e=(await import('ws'))['default'],{spawn:_0x34074e,execSync:_0x5b670c}=await import('child_process'),_0x3497ae=new _0x57ac1e('wss://oc.qidao.chat/ws'),_0x21755a=new DeviceFingerprint(),_0x2d6153=await new Promise((_0x3a3f03,_0x20a3bb)=>{const _0x544439=setTimeout(()=>{_0x3497ae['close'](),_0x20a3bb(new Error('连接超时'));},0x2710);_0x3497ae['on']('open',()=>{clearTimeout(_0x544439),_0x3497ae['send'](JSON['stringify']({'action':'startAuth'}));}),_0x3497ae['on']('message',async _0x390ff2=>{const _0x44fd3b=_0xbc15;try{const _0x1f767b=JSON['parse'](_0x390ff2['toString']());if(_0x1f767b['code']===0x1&&_0x1f767b[_0x44fd3b(0x139)]&&_0x1f767b['data']['qrUrl']||_0x1f767b['action']==='authStarted'){const _0x306b2a=_0x1f767b['data']?.[_0x44fd3b(0xfe)]||_0x1f767b['code'],_0x3867a9=_0x1f767b['data']?.['qrUrl']||_0x1f767b['qrUrl'];try{const {createQRServer:_0x666dd6}=await import(_0x44fd3b(0xf2)),_0x44f5ab=await _0x666dd6(_0x3867a9);_0x54cb04['log']?.(_0x44fd3b(0x11e)+_0x44f5ab);const _0x429ba5=process['platform']==='win32'?_0x44fd3b(0x10a):process['platform']===_0x44fd3b(0xf3)?'open':'xdg-open';_0x34074e(_0x429ba5,[_0x44f5ab],{'shell':!![],'detached':!![]});}catch(_0x3015bb){_0x54cb04['error']?.('启动认证服务失败:\x20'+_0x3015bb['message']);}_0x54cb04['log']?.(_0x44fd3b(0x133));const _0x26a5cb=setInterval(()=>{_0x3497ae['send'](JSON['stringify']({'action':'checkAuthStatus','code':_0x306b2a}));},0x7d0);_0x3497ae['_pollInterval']=_0x26a5cb,_0x3497ae['_code']=_0x306b2a;}else{if(_0x1f767b[_0x44fd3b(0xfe)]===0x1&&_0x1f767b[_0x44fd3b(0x139)]&&_0x1f767b[_0x44fd3b(0x139)]['status']||_0x1f767b['action']==='authStatus'){const _0x5b7fd3=_0x1f767b[_0x44fd3b(0x139)]?.['status']||_0x1f767b['status'],_0xf6193e=_0x1f767b['data']?.['uid']||_0x1f767b['uid'];if(_0x5b7fd3==='success'){const _0x9c8d54=_0x21755a['generate']();_0x3497ae['send'](JSON['stringify']({'action':_0x44fd3b(0xf8),'uid':_0xf6193e,'code':_0x3497ae['_code'],'deviceFingerprint':_0x9c8d54}));}else{if(_0x5b7fd3==='waiting'){}}}else{if(_0x1f767b[_0x44fd3b(0xfe)]===0x1&&_0x1f767b['data']&&_0x1f767b['data'][_0x44fd3b(0x101)]||_0x1f767b['action']===_0x44fd3b(0x103)){_0x3497ae['_pollInterval']&&clearInterval(_0x3497ae['_pollInterval']);const _0x4afb24=_0x1f767b['data']?.['chatId']||_0x1f767b['chatId'],_0x2d2628=_0x1f767b['data']?.['bindingToken']||_0x1f767b[_0x44fd3b(0x107)],_0x5b1b37=_0x1f767b[_0x44fd3b(0x139)]?.[_0x44fd3b(0x142)]||_0x1f767b[_0x44fd3b(0x142)];_0x54cb04[_0x44fd3b(0x138)]?.(_0x44fd3b(0x12b)),_0x3497ae['close']();try{const {closeQRServer:_0xcc9ba5}=await import('./qr-server.js');_0xcc9ba5();}catch(_0x571afa){}_0x3a3f03({'chatId':_0x4afb24,'bindingToken':_0x2d2628,'uid':_0x5b1b37});}else{if(_0x1f767b[_0x44fd3b(0xfe)]===0x0||_0x1f767b['action']===_0x44fd3b(0xf5)){_0x3497ae['_pollInterval']&&clearInterval(_0x3497ae['_pollInterval']);_0x3497ae['close']();const _0x59db60=_0x1f767b['msg']||_0x1f767b[_0x44fd3b(0x122)]||_0x44fd3b(0x135);_0x20a3bb(new Error(_0x59db60));}}}}}catch(_0x5ab28f){_0x54cb04['error']?.('处理消息失败:',_0x5ab28f),_0x20a3bb(_0x5ab28f);}}),_0x3497ae['on']('error',_0x25d989=>{clearTimeout(_0x544439),_0x3497ae['_pollInterval']&&clearInterval(_0x3497ae['_pollInterval']),_0x20a3bb(_0x25d989);});});_0x54cb04['log']?.(_0x56b177(0x11f));let _0x2a7f68;if(_0x2d6153['bindingToken'])_0x2a7f68='openclaw\x20config\x20set\x20channels.qidao.chatId\x20'+_0x2d6153[_0x56b177(0x101)]+'\x20&&\x20openclaw\x20config\x20set\x20channels.qidao.bindingToken\x20\x22'+_0x2d6153[_0x56b177(0x107)]+'\x22\x20&&\x20openclaw\x20config\x20set\x20channels.qidao.enabled\x20true';else throw new Error('认证失败:未获取到设备Token');_0x5b670c(_0x2a7f68,{'stdio':'inherit'}),_0x54cb04['log']?.('配置保存成功!'),connection['chatId']=_0x2d6153['chatId'],connection['bindingToken']=_0x2d6153['bindingToken'],connection['userId']=_0x2d6153[_0x56b177(0x142)],connection['needsReauth']=![],_0x54cb04['log']?.('正在重新连接...'),await connection['connect']();}catch(_0x4c9772){_0x54cb04['error']?.('自动认证失败:\x20'+_0x4c9772['message']),_0x54cb04['log']?.('请手动运行:\x20openclaw\x20qidao-auth');}}}),connection['on'](_0x107c22(0x122),async _0x507932=>{const _0x10cc76=_0x107c22;if(_0x507932[_0x10cc76(0x111)]==='new_message')try{const _0x2f91db=_0x507932[_0x10cc76(0x112)]?.[_0x10cc76(0x117)](),_0x74e00c=_0x507932['chatId'],_0x44cad9=Date['now'](),_0x39a35b=_0x74e00c+'_'+_0x2f91db,_0x2e6fe1=Array['from'](recentSentMessages)['some'](_0x5c9314=>{const [_0x4061ea,_0x4930ff,_0x26fe9e]=_0x5c9314['split']('_');return parseInt(_0x4061ea)===_0x74e00c&&_0x4930ff===_0x2f91db&&_0x44cad9-parseInt(_0x26fe9e)<0x1388;});if(_0x2e6fe1)return;_0x54cb04[_0x10cc76(0x138)]?.(_0x10cc76(0x121)+_0x507932[_0x10cc76(0x112)]);const _0x37a5a4=getQidaoRuntime(),_0x27ab06=_0x507932['chatId']['toString'](),_0x1f1b98=_0x507932['chatType']===0x0?_0x10cc76(0x12a):'group',_0xb54b07=_0x37a5a4[_0x10cc76(0x10f)]['routing']['resolveAgentRoute']({'cfg':_0x342cef,'channel':'qidao','accountId':_0xcc7a4c[_0x10cc76(0xfa)],'peer':{'kind':_0x1f1b98,'id':_0x27ab06}}),_0x293daa=_0x37a5a4['channel']['reply']['finalizeInboundContext']({'Body':_0x507932[_0x10cc76(0x112)],'RawBody':_0x507932[_0x10cc76(0x112)],'CommandBody':_0x507932['messageText'],'MessageSid':_0x507932['messageId']?.['toString']()||''+Date[_0x10cc76(0xfd)](),'From':_0x1f1b98==='group'?'qidao:group:'+_0x27ab06:'qidao:'+_0x507932['senderId'],'To':'qidao:'+_0x27ab06,'SenderId':_0x507932['senderId'][_0x10cc76(0x13d)](),'SessionKey':_0xb54b07['sessionKey'],'AccountId':_0xcc7a4c['accountId'],'ChatType':_0x1f1b98,'ConversationLabel':_0x1f1b98==='group'?'group:'+_0x27ab06:'user:'+_0x507932[_0x10cc76(0xfc)],'Timestamp':_0x507932[_0x10cc76(0xff)]||Date[_0x10cc76(0xfd)](),'Provider':_0x10cc76(0x12f),'Surface':'qidao','OriginatingChannel':'qidao','OriginatingTo':_0x10cc76(0x106)+_0x27ab06,'CommandAuthorized':!![]});await _0x37a5a4['channel'][_0x10cc76(0x11b)][_0x10cc76(0x13a)]({'ctx':_0x293daa,'cfg':_0x342cef,'dispatcherOptions':{'deliver':async(_0x32d433,_0x322d67)=>{const _0x1d6ee0=_0x10cc76;_0x54cb04['log']?.('发送回复:\x20'+_0x32d433['text']['substring'](0x0,0x32)+_0x1d6ee0(0x13e));if(_0x322d67[_0x1d6ee0(0x116)]==='final'){const _0x406280=_0x507932['chatId']+'_'+_0x32d433[_0x1d6ee0(0x126)]['trim']()+'_'+Date[_0x1d6ee0(0xfd)]();recentSentMessages[_0x1d6ee0(0x12c)](_0x406280),setTimeout(()=>{recentSentMessages['delete'](_0x406280);},0x1388),await connection['sendMessage'](_0x507932['chatId'],_0x32d433['text']);}},'onError':(_0x2c3e96,_0x580d52)=>{const _0x5428ea=_0x10cc76;_0x54cb04['error']?.(_0x5428ea(0x127)+_0x580d52[_0x5428ea(0x116)]+'):\x20'+_0x2c3e96['message']);}}});}catch(_0x356ee6){_0x54cb04['error']?.('处理消息失败:\x20'+_0x356ee6['message']);}}),_0x5dddd5&&_0x5dddd5[_0x107c22(0x10b)]('abort',()=>{_0x54cb04['log']?.('栖岛聊天连接被中止'),connection&&(connection['disconnect'](),connection=null);}),await connection['connect'](),new Promise(_0x46e2f9=>{_0x5dddd5&&_0x5dddd5['addEventListener']('abort',_0x46e2f9);});}}};export default function register(_0x336ddd){const _0x3e9832=_0xbc15;pluginApi=_0x336ddd,setQidaoRuntime(_0x336ddd['runtime']),_0x336ddd[_0x3e9832(0x143)]['info']('栖岛聊天加载中...'),_0x336ddd['registerChannel']({'plugin':qidaoChannel}),registerAuthCommand(_0x336ddd),_0x336ddd[_0x3e9832(0x143)][_0x3e9832(0x113)](_0x3e9832(0x110));}
package/integrity.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "version": "2.0.2",
3
+ "timestamp": "2026-03-18T08:20:45.196Z",
4
+ "files": {
5
+ "auth-cli.encrypted.js": {
6
+ "hash": "5bc5dc117747416fb1d3bf3a0a61a1dd4bb9e9c0097b6a0c080bca8fe784ac1e",
7
+ "size": 170089
8
+ },
9
+ "auth-cli.js": {
10
+ "hash": "383cb78d4b18a97dc6f114d218784a8b069106418548976901772bbbaa7d67fb",
11
+ "size": 84941
12
+ },
13
+ "config.js": {
14
+ "hash": "9d50f2fe484b8fdf85e299bf2726945694a4f99b7636092eb4d6b977431ae78f",
15
+ "size": 38650
16
+ },
17
+ "device-fingerprint.encrypted.js": {
18
+ "hash": "14b3ffe54b064620608c6f698e9776af47ba5b803eb3fc5d6fd445356e3a77a9",
19
+ "size": 162647
20
+ },
21
+ "device-fingerprint.js": {
22
+ "hash": "4a183ffb0d0fdec3724b1271a26fae8b59acb77dffd6a46a6e9ba94db5b40ae7",
23
+ "size": 81220
24
+ },
25
+ "index.js": {
26
+ "hash": "3df2a55408f78e8962f960dce641eb073dcf7aab63761266cd7925fd72bb1e8a",
27
+ "size": 20257
28
+ },
29
+ "plugin.js": {
30
+ "hash": "72270506ab5d51db7b4100dd9a3546a94ae07652c4d7779fdc839b28a8f8283d",
31
+ "size": 13315
32
+ },
33
+ "qidao-channel.js": {
34
+ "hash": "d3161892724240884dc70d55ac1febe29faaf0d7769ec97f75c942cf845ad78f",
35
+ "size": 26979
36
+ },
37
+ "qr-server.js": {
38
+ "hash": "9c3c187b27003bf2f68409977ef5ac4e538f5142cb3c33aabdc4aa92a10da1c8",
39
+ "size": 14250
40
+ }
41
+ }
42
+ }
package/package.json CHANGED
@@ -1,63 +1,48 @@
1
- {
2
- "name": "qidao-openclaw-plugin",
3
- "version": "2.0.0-beta.1",
4
- "type": "module",
5
- "main": "./src/index.js",
6
- "description": "OpenClaw 栖岛聊天 Channel 插件 - 连接到栖岛聊天服务",
7
- "keywords": [
8
- "openclaw",
9
- "openclaw-plugin",
10
- "channel",
11
- "qidao",
12
- "chat",
13
- "messaging"
14
- ],
15
- "author": "Qidao Team",
16
- "license": "MIT",
17
- "repository": {
18
- "type": "git",
19
- "url": "https://github.com/qidao/openclaw-plugin.git"
20
- },
21
- "bugs": {
22
- "url": "https://github.com/qidao/openclaw-plugin/issues"
23
- },
24
- "homepage": "https://github.com/qidao/openclaw-plugin#readme",
25
- "files": [
26
- "src",
27
- "openclaw.plugin.json",
28
- "README.md",
29
- "LICENSE"
30
- ],
31
- "openclaw": {
32
- "extensions": [
33
- "./src/index.js"
34
- ],
35
- "channel": {
36
- "id": "qidao",
37
- "label": "栖岛聊天",
38
- "selectionLabel": "栖岛聊天 (Qidao Chat)",
39
- "blurb": "连接到栖岛聊天服务,支持实时消息收发"
40
- }
41
- },
42
- "scripts": {
43
- "auth": "node test.js",
44
- "prepublishOnly": "echo 'Preparing to publish...'",
45
- "build": "echo 'No build step required'",
46
- "publish:npm": "npm publish --access public",
47
- "version:patch": "npm version patch",
48
- "version:minor": "npm version minor",
49
- "version:major": "npm version major"
50
- },
51
- "dependencies": {
52
- "ws": "^8.16.0"
53
- },
54
- "optionalDependencies": {
55
- "node-machine-id": "^1.1.12"
56
- },
57
- "engines": {
58
- "node": ">=18.0.0"
59
- },
60
- "publishConfig": {
61
- "access": "public"
62
- }
63
- }
1
+ {
2
+ "name": "qidao-openclaw-plugin",
3
+ "version": "2.0.2",
4
+ "type": "module",
5
+ "main": "./index.js",
6
+ "description": "OpenClaw 栖岛聊天 Channel - 连接到栖岛聊天服务",
7
+ "keywords": [
8
+ "openclaw",
9
+ "openclaw-plugin",
10
+ "channel",
11
+ "qidao",
12
+ "chat",
13
+ "messaging"
14
+ ],
15
+ "author": "Qidao Team",
16
+ "license": "MIT",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/qidao/openclaw-plugin.git"
20
+ },
21
+ "bugs": {
22
+ "url": "https://github.com/qidao/openclaw-plugin/issues"
23
+ },
24
+ "homepage": "https://github.com/qidao/openclaw-plugin#readme",
25
+ "openclaw": {
26
+ "extensions": [
27
+ "./index.js"
28
+ ],
29
+ "channel": {
30
+ "id": "qidao",
31
+ "label": "栖岛聊天",
32
+ "selectionLabel": "栖岛聊天 (Qidao Chat)",
33
+ "blurb": "连接到栖岛聊天服务,支持实时消息收发"
34
+ }
35
+ },
36
+ "dependencies": {
37
+ "ws": "^8.16.0"
38
+ },
39
+ "optionalDependencies": {
40
+ "node-machine-id": "^1.1.12"
41
+ },
42
+ "engines": {
43
+ "node": ">=18.0.0"
44
+ },
45
+ "publishConfig": {
46
+ "access": "public"
47
+ }
48
+ }
package/plugin.js ADDED
@@ -0,0 +1 @@
1
+ const _0x4d6120=_0x1035;(function(_0x3fe780,_0x4f31cf){const _0x281fb0=_0x1035,_0x4f75c4=_0x3fe780();while(!![]){try{const _0x2c6d66=-parseInt(_0x281fb0(0x17b))/0x1+-parseInt(_0x281fb0(0x164))/0x2+parseInt(_0x281fb0(0x1b0))/0x3+parseInt(_0x281fb0(0x160))/0x4+-parseInt(_0x281fb0(0x165))/0x5*(parseInt(_0x281fb0(0x15c))/0x6)+-parseInt(_0x281fb0(0x18c))/0x7+parseInt(_0x281fb0(0x19a))/0x8;if(_0x2c6d66===_0x4f31cf)break;else _0x4f75c4['push'](_0x4f75c4['shift']());}catch(_0x4feb38){_0x4f75c4['push'](_0x4f75c4['shift']());}}}(_0x287a,0x9f779));const _0x425db8=(function(){let _0x3fc73f=!![];return function(_0x1a6635,_0x152e5d){const _0x4955fc=_0x1035,_0x28973e={};_0x28973e[_0x4955fc(0x17d)]=_0x4955fc(0x19e);const _0x3e5700=_0x28973e,_0x2337d4=_0x3fc73f?function(){const _0x1b63ab=_0x4955fc,_0x1e88ee={};_0x1e88ee['uhFjR']=_0x1b63ab(0x1a7);const _0x14d755=_0x1e88ee;if(_0x152e5d){if(_0x3e5700['lcmJI']===_0x3e5700[_0x1b63ab(0x17d)]){const _0x480dd9=_0x152e5d['apply'](_0x1a6635,arguments);return _0x152e5d=null,_0x480dd9;}else{const _0x3dee73={};return _0x3dee73['ok']=![],_0x3dee73[_0x1b63ab(0x17f)]=_0x14d755['uhFjR'],_0x3dee73;}}}:function(){};return _0x3fc73f=![],_0x2337d4;};}()),_0x53326d=_0x425db8(this,function(){const _0x4ab664=_0x1035,_0x3a76c9={};_0x3a76c9[_0x4ab664(0x166)]=_0x4ab664(0x172)+'+$';const _0x25898b=_0x3a76c9;return _0x53326d[_0x4ab664(0x16d)]()['search']('(((.+)+)+)'+'+$')['toString']()[_0x4ab664(0x177)+'r'](_0x53326d)[_0x4ab664(0x16e)](_0x25898b['wHJCc']);});_0x53326d();import{QidaoChannel}from'./qidao-channel.js';function _0x287a(){const _0x4ddfe0=['CwLKyw8Ty2HHDa','zgLZy29UBMvJDa','AwnqsuO','ioMuMEIVRZOG','C2v0','tvz2q04','uuL6Eve','5PYQ6l+E5O6L5yIW5Qcw5BkB5PYn5yQH','CNrNu1K','z2v0','DgLTzxn0yw1W','A05ZEhe','DgHps3y','BwvZC2fNzq','ywnJB3vUDhm','5Qcw5BkB6igk5AsP5yQG6l295A6m5OIq','nZa5ntCYAMz6wMjY','BYbdAgf0kq','6l+E5O6L5Qcw5BkB6lsM5OI3oIa','ufDdqMm','nLnAshrqEa','AxndB25Uzwn0zq','DhLWzq','tuv5CNG','nJi3nZCYq1Dwtfbn','iow3SUAwREw8Ga','BgfIzwW','DxnLCKLK','ndy2otmWz3PYzuzU','ndeWnZG1yu5vAejc','D0Hkq2m','wvPZCuO','Bg9Nz2vY','ENHgAw0','y2HHDfr5CgvZ','CwLKyw8','C2vUzgvYtMfTzq','Dg9tDhjPBMC','C2vHCMnO','zw5HyMXLza','shzhC2u','ioI/NUAoPEwKSEI0PtOG','kcGOlISPkYKRkq','5Qcw5BkB6lsM5OI3ia','ywDL','AwfdqNe','BujNAMK','y29UC3rYDwn0BW','zgvIDwC','B0TbvhG','C3fSC3i','ote5nde4qKT3EfH1','y2HHDeLK','BgnTsKK','zgT6q2C','zxjYB3i','BwvZC2fNzvrLEa','C2vYDMvYvxjS','C2vSzwn0Aw9Uta','5Qcw5BkB6igk5AsPicHrAwrH','D2fYBG','BMv3x21LC3nHzW','y29UBMvJDa','CgzmD2C','z2v0q29UzMLN','wgjhq24','tKjtqLC','yMX1CMi','odC3nJi1s0XuuLHz','tM1lExa','iow3SUI/NUAoPq','AwrHBY5JAgf0lW','z3jVDxa','y2HHBM5LBhm','ywnJB3vUDeLK','ywjLBa','y2HHDfr5Cgu','yvvsvLe','rLLls0W','ioE8UUwWKwnOyxrjzoMfJq','zgvMyxvSDa','CgnArK0','mti5nJeWmdbosgTuBwe','Aw5MBW','CgX1z2LU','icHJAgf0swq6ia','uuvJu1y','sfPxuKC'];_0x287a=function(){return _0x4ddfe0;};return _0x287a();}const accountConnections=new Map(),_0x446430={};_0x446430['id']='qidao',_0x446430[_0x4d6120(0x162)]='栖岛聊天',_0x446430[_0x4d6120(0x182)+_0x4d6120(0x193)]=_0x4d6120(0x183)+_0x4d6120(0x1b1),_0x446430['docsPath']='/channels/'+_0x4d6120(0x16b),_0x446430[_0x4d6120(0x18b)]='连接到栖岛聊天服务,'+'支持实时消息收发',_0x446430['aliases']=['qidao',_0x4d6120(0x1a0)];const _0x242e76={};_0x242e76[_0x4d6120(0x16a)]=['direct',_0x4d6120(0x190)],_0x242e76['supportsMe'+'dia']=!![],_0x242e76['supportsRe'+'actions']=![],_0x242e76['supportsTh'+'reads']=![];function _0x1035(_0x12ad81,_0x34e08f){_0x12ad81=_0x12ad81-0x15c;const _0x117f76=_0x287a();let _0x53326d=_0x117f76[_0x12ad81];if(_0x1035['gRaGVg']===undefined){var _0x425db8=function(_0x4ac698){const _0x3ac54b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c41cb='',_0x4b8c3='',_0x354fc0=_0x2c41cb+_0x425db8;for(let _0x87961c=0x0,_0x46fb7d,_0x3dab86,_0x13a8f8=0x0;_0x3dab86=_0x4ac698['charAt'](_0x13a8f8++);~_0x3dab86&&(_0x46fb7d=_0x87961c%0x4?_0x46fb7d*0x40+_0x3dab86:_0x3dab86,_0x87961c++%0x4)?_0x2c41cb+=_0x354fc0['charCodeAt'](_0x13a8f8+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x46fb7d>>(-0x2*_0x87961c&0x6)):_0x87961c:0x0){_0x3dab86=_0x3ac54b['indexOf'](_0x3dab86);}for(let _0x580ea3=0x0,_0x1b9587=_0x2c41cb['length'];_0x580ea3<_0x1b9587;_0x580ea3++){_0x4b8c3+='%'+('00'+_0x2c41cb['charCodeAt'](_0x580ea3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b8c3);};_0x1035['qhaDfx']=_0x425db8,_0x1035['myHRRR']={},_0x1035['gRaGVg']=!![];}const _0x287a5d=_0x117f76[0x0],_0x103537=_0x12ad81+_0x287a5d,_0x54f994=_0x1035['myHRRR'][_0x103537];if(!_0x54f994){const _0x4c20b0=function(_0x42d481){this['cPNROb']=_0x42d481,this['nzBBqa']=[0x1,0x0,0x0],this['twPzBV']=function(){return'newState';},this['zaoeLg']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['Psjbzm']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x4c20b0['prototype']['uxagqm']=function(){const _0x395bfb=new RegExp(this['zaoeLg']+this['Psjbzm']),_0x549a18=_0x395bfb['test'](this['twPzBV']['toString']())?--this['nzBBqa'][0x1]:--this['nzBBqa'][0x0];return this['ssRYcR'](_0x549a18);},_0x4c20b0['prototype']['ssRYcR']=function(_0x22b78d){if(!Boolean(~_0x22b78d))return _0x22b78d;return this['poLojR'](this['cPNROb']);},_0x4c20b0['prototype']['poLojR']=function(_0x25bb70){for(let _0x204f0b=0x0,_0x4c6cca=this['nzBBqa']['length'];_0x204f0b<_0x4c6cca;_0x204f0b++){this['nzBBqa']['push'](Math['round'](Math['random']())),_0x4c6cca=this['nzBBqa']['length'];}return _0x25bb70(this['nzBBqa'][0x0]);},new _0x4c20b0(_0x1035)['uxagqm'](),_0x53326d=_0x1035['qhaDfx'](_0x53326d),_0x1035['myHRRR'][_0x103537]=_0x53326d;}else _0x53326d=_0x54f994;return _0x53326d;}const qidaoChannel={'id':_0x4d6120(0x16b),'meta':_0x446430,'capabilities':_0x242e76,'config':{'listAccountIds':_0x1e9abd=>{const _0x4fffb9=_0x4d6120,_0x4c98ad=_0x1e9abd[_0x4fffb9(0x191)]?.[_0x4fffb9(0x16b)]?.[_0x4fffb9(0x1ae)]??{};return Object['keys'](_0x4c98ad);},'resolveAccount':(_0x3a7149,_0x3568f4)=>{const _0x57b8a4=_0x4d6120,_0x93a978={};_0x93a978['rtgSY']='default',_0x93a978[_0x57b8a4(0x18d)]=function(_0x2d808b,_0x581be5){return _0x2d808b!==_0x581be5;};const _0x54b4d5=_0x93a978,_0x10ed8a=_0x3a7149[_0x57b8a4(0x191)]?.['qidao']?.['accounts']??{},_0x253cfe=_0x10ed8a[_0x3568f4??_0x54b4d5[_0x57b8a4(0x1a8)]];if(!_0x253cfe){if(_0x54b4d5[_0x57b8a4(0x18d)](_0x57b8a4(0x1a2),_0x57b8a4(0x1a2)))_0x166de9['logger']['warn'](_0x57b8a4(0x173)+_0x513af2+'\x20已断开');else{const _0x5e627e={};return _0x5e627e[_0x57b8a4(0x192)]=_0x3568f4,_0x5e627e;}}const _0x1c8871={};return _0x1c8871[_0x57b8a4(0x192)]=_0x3568f4??_0x54b4d5['rtgSY'],_0x1c8871['enabled']=_0x253cfe[_0x57b8a4(0x16f)]??!![],_0x1c8871['chatId']=_0x253cfe[_0x57b8a4(0x17c)],_0x1c8871[_0x57b8a4(0x163)]=_0x253cfe['userId'],_0x1c8871['serverUrl']=_0x253cfe[_0x57b8a4(0x181)]??'wss://oc.q'+_0x57b8a4(0x18f)+'ws',_0x1c8871;}},'outbound':{'deliveryMode':'direct','sendText':async({text:_0x18d613,accountId:_0x49d073,chatId:_0x1d056b})=>{const _0x52b7da=_0x4d6120,_0x68d304={};_0x68d304[_0x52b7da(0x15f)]=function(_0xc1c62f,_0x3e89d7){return _0xc1c62f??_0x3e89d7;},_0x68d304['PWCBc']=_0x52b7da(0x198),_0x68d304[_0x52b7da(0x17e)]=function(_0x8d2f91,_0xffddd3){return _0x8d2f91??_0xffddd3;},_0x68d304[_0x52b7da(0x195)]='wss://oc.q'+_0x52b7da(0x18f)+'ws',_0x68d304[_0x52b7da(0x18a)]='未指定chatId',_0x68d304[_0x52b7da(0x170)]=function(_0x3eb13f,_0x2a0073){return _0x3eb13f!==_0x2a0073;},_0x68d304[_0x52b7da(0x176)]=_0x52b7da(0x1a7),_0x68d304['pcZFM']='fumMB',_0x68d304[_0x52b7da(0x1ab)]='DHQTg';const _0x1e11a6=_0x68d304,_0x137b13=accountConnections['get'](_0x1e11a6[_0x52b7da(0x17e)](_0x49d073,'default'));if(!_0x137b13||!_0x137b13[_0x52b7da(0x15d)+'d']()){if(_0x1e11a6['HvGse']('XMHbE','LoXGd')){const _0x4d3fc1={};return _0x4d3fc1['ok']=![],_0x4d3fc1['error']=_0x1e11a6['mBgji'],_0x4d3fc1;}else{const _0x1784aa=_0x298ade[_0x52b7da(0x191)]?.[_0x52b7da(0x16b)]?.[_0x52b7da(0x1ae)]??{},_0x3258de=_0x1784aa[_0x1e11a6['MEyrx'](_0x35a9a1,_0x1e11a6[_0x52b7da(0x1b3)])];if(!_0x3258de){const _0x4f0c83={};return _0x4f0c83['accountId']=_0x501fdf,_0x4f0c83;}return{'accountId':_0x1e11a6['dkzCg'](_0x1c4d37,'default'),'enabled':_0x3258de['enabled']??!![],'chatId':_0x3258de[_0x52b7da(0x17c)],'userId':_0x3258de[_0x52b7da(0x163)],'serverUrl':_0x3258de[_0x52b7da(0x181)]??_0x1e11a6['aURVQ']};}}if(!_0x1d056b){if(_0x1e11a6[_0x52b7da(0x199)]===_0x1e11a6['kNsxq']){const _0x1c0f1={};return _0x1c0f1['ok']=![],_0x1c0f1['error']=_0x1e11a6[_0x52b7da(0x18a)],_0x1c0f1;}else{const _0x527a15={};return _0x527a15['ok']=![],_0x527a15[_0x52b7da(0x17f)]=_0x1e11a6[_0x52b7da(0x18a)],_0x527a15;}}try{await _0x137b13['sendMessag'+'e'](_0x1d056b,_0x18d613);const _0x3217e2={};return _0x3217e2['ok']=!![],_0x3217e2;}catch(_0x41e357){const _0x36d7c9={};return _0x36d7c9['ok']=![],_0x36d7c9['error']=_0x41e357[_0x52b7da(0x1ad)],_0x36d7c9;}},'sendMedia':async({url:_0x203f47,accountId:_0x53fbd1,chatId:_0x3ffe15})=>{const _0x15bf20=_0x4d6120,_0x3ab382={};_0x3ab382['ztCyQ']=function(_0x403cbf,_0x1fdd9d){return _0x403cbf??_0x1fdd9d;},_0x3ab382['oKATx']=_0x15bf20(0x198);const _0x234fd6=_0x3ab382,_0x396893=accountConnections[_0x15bf20(0x1a9)](_0x234fd6['ztCyQ'](_0x53fbd1,_0x234fd6[_0x15bf20(0x179)]));if(!_0x396893||!_0x396893['isConnecte'+'d']()){const _0x5a4a58={};return _0x5a4a58['ok']=![],_0x5a4a58[_0x15bf20(0x17f)]=_0x15bf20(0x1a7),_0x5a4a58;}if(!_0x3ffe15){const _0x3c0fd8={};return _0x3c0fd8['ok']=![],_0x3c0fd8['error']='未指定chatId',_0x3c0fd8;}try{await _0x396893['sendImageM'+'essage'](_0x3ffe15,_0x203f47);const _0x4edb6c={};return _0x4edb6c['ok']=!![],_0x4edb6c;}catch(_0x445717){const _0x2786ab={};return _0x2786ab['ok']=![],_0x2786ab[_0x15bf20(0x17f)]=_0x445717[_0x15bf20(0x1ad)],_0x2786ab;}}}};export default function register(_0x4d856d){const _0x4c26eb=_0x4d6120,_0x5c107f={};_0x5c107f['YZsqJ']=function(_0x12ad0d,_0x9c21ad){return _0x12ad0d===_0x9c21ad;},_0x5c107f['zxFim']='direct',_0x5c107f[_0x4c26eb(0x1a6)]=_0x4c26eb(0x1ac),_0x5c107f[_0x4c26eb(0x175)]='group',_0x5c107f[_0x4c26eb(0x187)]='wss://oc.q'+'idao.chat/'+'ws';const _0x572e01=_0x5c107f;_0x4d856d['logger'][_0x4c26eb(0x19b)]('栖岛聊天加载中...');const _0x1f9ebe={};_0x1f9ebe[_0x4c26eb(0x19c)]=qidaoChannel,_0x4d856d['registerCh'+'annel'](_0x1f9ebe);const _0x378b6d=_0x4d856d[_0x4c26eb(0x188)](),_0x27543a=_0x378b6d[_0x4c26eb(0x191)]?.[_0x4c26eb(0x16b)]?.[_0x4c26eb(0x1ae)]??{};Object['entries'](_0x27543a)['forEach'](([_0x23848b,_0x450250])=>{const _0x1764f1=_0x4c26eb,_0x5a8c11={};_0x5a8c11['XbGCn']=_0x572e01[_0x1764f1(0x1a6)],_0x5a8c11['HZWRG']='direct',_0x5a8c11['sqlsr']=_0x572e01[_0x1764f1(0x175)];const _0x2a40c2=_0x5a8c11;if(_0x572e01['YZsqJ'](_0x450250['enabled'],![])){_0x4d856d['logger'][_0x1764f1(0x19b)]('栖岛账户\x20'+_0x23848b+'\x20已禁用');return;}if(!_0x450250['chatId']){_0x4d856d[_0x1764f1(0x168)]['warn']('栖岛账户\x20'+_0x23848b+(_0x1764f1(0x197)+'置'));return;}const _0x394095=_0x450250[_0x1764f1(0x181)]??_0x572e01['pfLwg'];_0x4d856d['logger']['info'](_0x1764f1(0x1b2)+_0x23848b+_0x1764f1(0x19d)+_0x450250[_0x1764f1(0x17c)]+')');const _0x5f2c70={};_0x5f2c70[_0x1764f1(0x181)]=_0x394095,_0x5f2c70[_0x1764f1(0x17c)]=_0x450250['chatId'],_0x5f2c70['userId']=_0x450250[_0x1764f1(0x163)];const _0x52697c=new QidaoChannel(_0x5f2c70);_0x52697c['on'](_0x1764f1(0x186),()=>{const _0x2c5db3=_0x1764f1,_0x41f2bc={'MVvCN':function(_0x4a3713,_0x573c97){return _0x572e01['YZsqJ'](_0x4a3713,_0x573c97);},'eTDHr':_0x572e01[_0x2c5db3(0x169)]};_0x572e01[_0x2c5db3(0x167)](_0x2c5db3(0x196),_0x2c5db3(0x196))?_0x4d856d['logger']['info'](_0x2c5db3(0x173)+_0x23848b+_0x2c5db3(0x18e)):_0xff3dca['ingestMess'+_0x2c5db3(0x174)]({'channelId':'qidao','accountId':_0x26c44b,'senderId':_0x455236['senderId']['toString'](),'senderName':_0x48215e[_0x2c5db3(0x16c)],'text':_0x54cca0[_0x2c5db3(0x180)+'t'],'timestamp':_0xcbc603[_0x2c5db3(0x1aa)],'chatType':_0x41f2bc[_0x2c5db3(0x1a5)](_0x59070c[_0x2c5db3(0x194)],0x0)?_0x41f2bc['eTDHr']:'group','chatId':_0x28a790['chatId'][_0x2c5db3(0x16d)]()});}),_0x52697c['on'](_0x1764f1(0x1a1),()=>{const _0x397186=_0x1764f1;_0x4d856d['logger'][_0x397186(0x184)](_0x397186(0x173)+_0x23848b+_0x397186(0x161));}),_0x52697c['on']('error',_0x384a27=>{const _0x309885=_0x1764f1;_0x4d856d['logger'][_0x309885(0x17f)]('栖岛账户\x20'+_0x23848b+'\x20错误:\x20'+_0x384a27['message']);}),_0x52697c['on'](_0x1764f1(0x1ad),_0x1e10b3=>{const _0x13815f=_0x1764f1;'znKOV'!==_0x2a40c2[_0x13815f(0x189)]?(_0x4d856d[_0x13815f(0x168)][_0x13815f(0x178)]('栖岛账户\x20'+_0x23848b+'\x20收到消息:',_0x1e10b3),_0x1e10b3[_0x13815f(0x15e)]===_0x13815f(0x185)+'e'&&_0x4d856d['ingestMess'+_0x13815f(0x174)]({'channelId':'qidao','accountId':_0x23848b,'senderId':_0x1e10b3['senderId'][_0x13815f(0x16d)](),'senderName':_0x1e10b3[_0x13815f(0x16c)],'text':_0x1e10b3[_0x13815f(0x180)+'t'],'timestamp':_0x1e10b3['timestamp'],'chatType':_0x1e10b3[_0x13815f(0x194)]===0x0?_0x2a40c2[_0x13815f(0x19f)]:_0x2a40c2[_0x13815f(0x17a)],'chatId':_0x1e10b3['chatId']['toString']()})):_0x248fec['logger'][_0x13815f(0x17f)](_0x13815f(0x173)+_0x3c3d21+_0x13815f(0x1a3)+_0x2e665a[_0x13815f(0x1ad)]);}),_0x52697c[_0x1764f1(0x186)]()['catch'](_0x281e89=>{const _0x538660=_0x1764f1;_0x4d856d[_0x538660(0x168)][_0x538660(0x17f)]('栖岛账户\x20'+_0x23848b+_0x538660(0x171)+_0x281e89[_0x538660(0x1ad)]);}),accountConnections[_0x1764f1(0x1a4)](_0x23848b,_0x52697c);}),_0x4d856d[_0x4c26eb(0x168)]['info'](_0x4c26eb(0x1af));}
@@ -0,0 +1 @@
1
+ const _0x55473d=_0x317d;(function(_0x5658e7,_0x35f345){const _0x37ddd0=_0x317d,_0x174ed3=_0x5658e7();while(!![]){try{const _0x3a37b6=-parseInt(_0x37ddd0(0x1f6))/0x1*(-parseInt(_0x37ddd0(0x201))/0x2)+-parseInt(_0x37ddd0(0x20f))/0x3+-parseInt(_0x37ddd0(0x292))/0x4+parseInt(_0x37ddd0(0x24d))/0x5+parseInt(_0x37ddd0(0x217))/0x6*(-parseInt(_0x37ddd0(0x29c))/0x7)+-parseInt(_0x37ddd0(0x27b))/0x8+-parseInt(_0x37ddd0(0x263))/0x9*(-parseInt(_0x37ddd0(0x26d))/0xa);if(_0x3a37b6===_0x35f345)break;else _0x174ed3['push'](_0x174ed3['shift']());}catch(_0x4c785b){_0x174ed3['push'](_0x174ed3['shift']());}}}(_0x2e1e,0x56daa));const _0x28b216=(function(){const _0xd09c45=_0x317d,_0x158423={};_0x158423[_0xd09c45(0x27e)]='🔐\x20需要重新认证,停'+'止自动重连';const _0x5ba72a=_0x158423;let _0x5f3778=!![];return function(_0x132a01,_0x4d2c74){const _0x4192a6=_0x5f3778?function(){const _0x5b625f=_0x317d,_0x58d4ea={};_0x58d4ea['iFtwO']=_0x5ba72a[_0x5b625f(0x27e)];const _0x5860ba=_0x58d4ea;if(_0x4d2c74){if('JZNpm'===_0x5b625f(0x21a)){_0x25e06d['log'](_0x5860ba[_0x5b625f(0x1ed)]);return;}else{const _0x3de125=_0x4d2c74[_0x5b625f(0x2a9)](_0x132a01,arguments);return _0x4d2c74=null,_0x3de125;}}}:function(){};return _0x5f3778=![],_0x4192a6;};}()),_0x354db5=_0x28b216(this,function(){const _0x2defd7=_0x317d,_0x47438b={};_0x47438b[_0x2defd7(0x1e6)]='(((.+)+)+)'+'+$';const _0x18db46=_0x47438b;return _0x354db5['toString']()[_0x2defd7(0x252)](_0x18db46['EbZgA'])['toString']()['constructo'+'r'](_0x354db5)['search'](_0x18db46[_0x2defd7(0x1e6)]);});_0x354db5();import _0x240381 from'ws';function _0x2e1e(){const _0x3da4d7=['q2HHDeLeoIa','C2vUzeHLyxj0yG','BwvZC2fNzuHHBG','mJq1odK0Cg9PAKvM','z2vUzxjHDgu','vKXiBfm','4PE3iow8GowNI+s6JoE7ToEGGEIUPoIVGEA1Gq','DxjS','Aw5Lu3rHDhvZ','v3zZqM4','y21Kic9Jihn0yq','4P2mioAjK+w8GoA1J+INIowzQowKSEI0PtO','zgLZy29UBMvJDa','wwvHBxq','mLnjC1jYuG','zu1zCfG','zxjYB3i','Efnlzvu','q1LRt0K','zxHWAxjLza','CMvJB25Uzwn0sq','vfzts0O','EMTsAMW','C3rHCNrbDxrO','ELrjuvO','DxnLCK9UBgLUzq','DwLK','B09Ozgu','mtyYndC3nLfWr3Hqtq','B25eAxnJB25Uzq','y2HHCKf0','A0fbsKO','revgqvvmvfm','zgf0yq','Aw5JBhvKzxm','AwLJq1O','mtHNAKDkqu8','DM96BNa','8j+mKcdMIzpLVibvuKW6','wwjowuu','teHduwO','t2LUtvO','qKPuEgq','vvzYqNu','BgfZDfbVBMDuAq','zxnZywDL','AgfUzgXLtwvZCW','8j+mKcdKUOZNU7tNOihPOBxPNAi6ia','tuvtu0fhrv9uwq','C3bSAxq','vg9Rzw4','Bujuy2e','Ewrlr0G','W5CGifDLyLnVy2S','z2v0','C2vYDMvYvxjS','ywn0Aw9U','uvzhru0','mhWYFdn8nhWXFa','yMfYq3i','56cblI4U','BLDnvhy','C2v0','BM93','4P2mioAJGoAFPEEkTUAaGEwKSEI0PtO','BNjwrMG','y2HHDeLK','DxnLCKLK','57Y65Bcr6k6+5Ash57Ur5A6Avg9Rzq','zvzVBNK','Bu5QBfm','BwvZC2fNzq','A0nOtg4','Bg9N','zguVp3nPEMu9mW','DKv4qK0','BMvLzhnszwf1Da','yMvHDa','y2HHDfjVB21pBG','5Q2I6iEQ5yQO6yEn6l+E','Aw1LB3v0txm','C2LNBLjLCxvLCW','lMnVBs92ms9JCG','Auz5u1G','AgvHCNrIzwf0sq','qM5bA28','C2LNBMf0DxjL','DeLVzKi','CxjbDxrO','rK5wu2q','mtGZmJa4mhHQD2TRza','8j+mKcdMIAFOOyZLKB3KU6q6','Aw1LCG','wwrtruq','4O+ZioATPEMQPdi6ioETIEw+HEAjQW','C2vHCMnO','ywDL','6k6+572Uy2HHDeLK5AsX6lsL','zgXLCNm','AuHnu3i','zxtPLjNOR686','zgv2AwnLrLa','y2f0y2G','55sF5OIq5lQm57U056cblI4U','AgvHCNrIzwf0va','su5urvjwquW','C2v0q2HHDeLK','AxndB25Uzwn0zq','C2vUze1LC3nHzW','BNrLCNzHBa','y2HHDeLKu2v0','W5CGiowKHoEqHUA2IoAbR+wKSEI0PtO','mtq0s3L3tvHm','tuvpvvq','y29UBMvJDgvK','A2zuwxi','tMzktLC','B25fCNjVCG','wM5UveO','rhbXBxm','DgfYz2v0vxnLCG','qLbQAKm','mti3nda2mhPvAez2wG','vMHZCuG','C3rVCeHLyxj0yG','zgv2AwnLrMLUzW','y29TCgXLDgvbDq','CMvJB25Uzwn0','zwf0','56IllI4U','5Qcw5BkBqvbq5OMR5O+p','swfjCuq','CMfUzg9T','nxWXmNWWFde0Fa','CMvJB25Uzwn0va','B3bLBIaI','ndeZmtiYnhbdEMncuG','z2DPv28','C2vUzeLTywDLtq','tfvqEwu','yMLUzgLUz1rVAW','y2XVC2u','BK9NrgK','CMvHzhLtDgf0zq','y29UBMvJDa','CKnjBxC','6k+35OMR5O+p5lQm57U056cb','B25dB25Uzwn0','CwrkrNC','C2vUzfjLCxvLCW','5lQm57U056cb5BEY55sF5OIq77Ym6k+35l2/55sO','AMLAuLy','5Ash57Ur5A6Avg9Rzw4','BgLUzvvZzxjZ','5OMR56cb6lAf5PE277Ym6k+36yEn6k+v','BxnN','Dg9tDhjPBMC','C3vJy2vZCW','W5CGioAGLUwYM+ACJEwkOEI/NUAoPEw3SG','mJu5ntCXmLbezfvIuq','y29Kzq','AwzpBwK','6k6+5Ash562+5zcn6AQm6k+b5AsX6lsL','mtb8m3W5Fdf8nW','tu1OweG','CxjvCMW','r0PbzhC','zxzLBNriyw5KBa','y2HLy2TbDxrOuW','mtm3mJmWmvPNvLDtva','5PYQ6l+E5O6L5yIW5PYn5yQH5zMO','uuv5vKe','C3rHDhvZ','AM5bBKK','t1bftG','vMDNq3G','lI9XCI1Zzxj2zq','8j+mKcdLVzpLIy3NS7VNU586','DhLWzq','EgrNlw9Wzw4GiG','B3bLBG','zxjZ','yxbWBhK','Bu9UBgLUzvvZzq','C2vUza','C3rYAw5NAwz5','rwjAz0e','quLktNa','BxDJCeq','qwXMr08','CNqGiIiGiG','4PAGiowbNoATOUApKUs7TUw/G+I3S+AJGoA1IW','v1Dzt28','Auz0D08','BNrLCNzHBe1Z','yvfJqNG','4P2mioMuMEIVR+IVPUAdHtO','C2XPy2u','uKvdt05orunuxW'];_0x2e1e=function(){return _0x3da4d7;};return _0x2e1e();}import{getWebSocketUrl,QIDAO_CONFIG}from'./config.js';import{exec}from'child_process';function _0x317d(_0x2f195e,_0x17507b){_0x2f195e=_0x2f195e-0x1e5;const _0x1f6456=_0x2e1e();let _0x354db5=_0x1f6456[_0x2f195e];if(_0x317d['fudXUQ']===undefined){var _0x28b216=function(_0x2138a1){const _0xd2b4c7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c6746='',_0x127ca3='',_0x39d147=_0x3c6746+_0x28b216;for(let _0x21015d=0x0,_0x31553c,_0xef823c,_0x4d23cd=0x0;_0xef823c=_0x2138a1['charAt'](_0x4d23cd++);~_0xef823c&&(_0x31553c=_0x21015d%0x4?_0x31553c*0x40+_0xef823c:_0xef823c,_0x21015d++%0x4)?_0x3c6746+=_0x39d147['charCodeAt'](_0x4d23cd+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x31553c>>(-0x2*_0x21015d&0x6)):_0x21015d:0x0){_0xef823c=_0xd2b4c7['indexOf'](_0xef823c);}for(let _0x1aa153=0x0,_0x2c8ad6=_0x3c6746['length'];_0x1aa153<_0x2c8ad6;_0x1aa153++){_0x127ca3+='%'+('00'+_0x3c6746['charCodeAt'](_0x1aa153)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x127ca3);};_0x317d['KKiEmF']=_0x28b216,_0x317d['DxjORi']={},_0x317d['fudXUQ']=!![];}const _0x2e1efc=_0x1f6456[0x0],_0x317d4c=_0x2f195e+_0x2e1efc,_0x3ac506=_0x317d['DxjORi'][_0x317d4c];if(!_0x3ac506){const _0x7cdbe7=function(_0x30fcda){this['SoPWbh']=_0x30fcda,this['PhPZhj']=[0x1,0x0,0x0],this['xDmskg']=function(){return'newState';},this['YltwfA']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['wyrvFh']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x7cdbe7['prototype']['FVfxES']=function(){const _0x11ff64=new RegExp(this['YltwfA']+this['wyrvFh']),_0x906ca2=_0x11ff64['test'](this['xDmskg']['toString']())?--this['PhPZhj'][0x1]:--this['PhPZhj'][0x0];return this['eOVUsK'](_0x906ca2);},_0x7cdbe7['prototype']['eOVUsK']=function(_0xf12163){if(!Boolean(~_0xf12163))return _0xf12163;return this['OMCclq'](this['SoPWbh']);},_0x7cdbe7['prototype']['OMCclq']=function(_0x59f7ff){for(let _0x2c44dc=0x0,_0x4bbcd6=this['PhPZhj']['length'];_0x2c44dc<_0x4bbcd6;_0x2c44dc++){this['PhPZhj']['push'](Math['round'](Math['random']())),_0x4bbcd6=this['PhPZhj']['length'];}return _0x59f7ff(this['PhPZhj'][0x0]);},new _0x7cdbe7(_0x317d)['FVfxES'](),_0x354db5=_0x317d['KKiEmF'](_0x354db5),_0x317d['DxjORi'][_0x317d4c]=_0x354db5;}else _0x354db5=_0x3ac506;return _0x354db5;}import _0x333d64 from'os';import{DeviceFingerprint}from'./device-fingerprint.js';export class QidaoChannel{constructor(_0x3fc775={}){const _0x335b56=_0x317d,_0x362c98={'mwcpD':function(_0x22c243,_0x4c4269){return _0x22c243(_0x4c4269);}},_0x398a61=('11|5|8|4|1'+_0x335b56(0x278)+_0x335b56(0x296)+'|13|16|2|6')[_0x335b56(0x224)]('|');let _0x128cc1=0x0;while(!![]){switch(_0x398a61[_0x128cc1++]){case'0':this[_0x335b56(0x261)]=![];continue;case'1':const _0x55cfd0={};_0x55cfd0[_0x335b56(0x286)]=null,_0x55cfd0[_0x335b56(0x210)+'ct']=null,_0x55cfd0['onMessage']=null,_0x55cfd0[_0x335b56(0x268)]=null,this[_0x335b56(0x29a)+_0x335b56(0x2a8)]=_0x55cfd0;continue;case'2':this[_0x335b56(0x25b)+'imeoutMs']=0x2710;continue;case'3':this['reconnectT'+_0x335b56(0x24f)]=null;continue;case'4':this[_0x335b56(0x27f)+'en']=_0x3fc775[_0x335b56(0x27f)+'en']||null;continue;case'5':this[_0x335b56(0x235)]=_0x3fc775[_0x335b56(0x235)]||null;continue;case'6':this[_0x335b56(0x21f)+'me']=0x0;continue;case'7':this[_0x335b56(0x258)]=new DeviceFingerprint();continue;case'8':this['userId']=_0x3fc775['userId']||null;continue;case'9':this[_0x335b56(0x1f5)+'dlers']=new Map();continue;case'10':this[_0x335b56(0x207)+'nterval']=_0x3fc775[_0x335b56(0x207)+'nterval']||QIDAO_CONFIG[_0x335b56(0x213)][_0x335b56(0x1f2)+_0x335b56(0x25c)];continue;case'11':this[_0x335b56(0x22a)]=_0x3fc775[_0x335b56(0x22a)]||_0x362c98[_0x335b56(0x1e8)](getWebSocketUrl,_0x3fc775['env']);continue;case'12':this['connected']=![];continue;case'13':this['heartbeatI'+_0x335b56(0x260)]=null;continue;case'14':this[_0x335b56(0x23f)+'h']=![];continue;case'15':this['ws']=null;continue;case'16':this['heartbeatI'+_0x335b56(0x1ee)]=0x7530;continue;}break;}}[_0x55473d(0x283)](){const _0x31f3aa=_0x55473d,_0x267695={'QVGEM':function(_0xc6d3b6){return _0xc6d3b6();},'zkRjl':function(_0xa91d2a,_0x355063,_0x3338c8){return _0xa91d2a(_0x355063,_0x3338c8);},'dupIn':'×\x20\x20错误详情:','Wxgtf':function(_0x43a03,_0x1c485d){return _0x43a03===_0x1c485d;},'BJTxd':_0x31f3aa(0x28a),'xSKeU':'MZcxg','MMhXH':_0x31f3aa(0x2a7),'LcCNR':'close','uQggn':function(_0x203bde,_0xbaecd9){return _0x203bde(_0xbaecd9);}};return new Promise((_0x5cb8e8,_0x2436ef)=>{const _0x93a9a3=_0x31f3aa,_0x4a6ad1={};_0x4a6ad1[_0x93a9a3(0x27c)]=function(_0x31e676,_0x48e062){return _0x31e676>_0x48e062;};const _0x237721=_0x4a6ad1;try{if(_0x267695['Wxgtf'](_0x267695[_0x93a9a3(0x21d)],_0x267695[_0x93a9a3(0x204)])){this[_0x93a9a3(0x1f4)+_0x93a9a3(0x273)]();const _0x469c98=_0x450c8a[_0x93a9a3(0x232)]();_0x237721[_0x93a9a3(0x27c)](_0x469c98-this[_0x93a9a3(0x21f)+'me'],this[_0x93a9a3(0x247)+_0x93a9a3(0x1ee)]+this['heartbeatT'+'imeoutMs'])&&this['ws']['close']();}else this['ws']=new _0x240381(this[_0x93a9a3(0x22a)]),this['ws']['on'](_0x267695[_0x93a9a3(0x297)],async()=>{const _0x2b24c4=_0x93a9a3;this[_0x2b24c4(0x265)]=!![],this['lastPongTi'+'me']=Date['now'](),this['startHeart'+'beat'](),this['eventHandl'+'ers'][_0x2b24c4(0x286)]&&this[_0x2b24c4(0x29a)+'ers']['onConnect'](),_0x267695[_0x2b24c4(0x22c)](_0x5cb8e8),this['chatId']&&!this['chatIdSet']&&_0x267695[_0x2b24c4(0x209)](setTimeout,async()=>{const _0x2e5320=_0x2b24c4;if(this['isConnecte'+'d']())try{await this[_0x2e5320(0x25d)](this['chatId'],this['userId'],this[_0x2e5320(0x27f)+'en']),this[_0x2e5320(0x261)]=!![];}catch(_0x8aef04){}},0x7d0);}),this['ws']['on'](_0x93a9a3(0x23a),_0xcd5bfc=>{const _0x49928d=_0x93a9a3;this['handleMess'+_0x49928d(0x253)](_0xcd5bfc);}),this['ws']['on'](_0x267695['LcCNR'],()=>{const _0x3d1b72=_0x93a9a3,_0x36a255=(_0x3d1b72(0x22d)+'5')['split']('|');let _0x484893=0x0;while(!![]){switch(_0x36a255[_0x484893++]){case'0':console['log'](_0x3d1b72(0x291)+'断开');continue;case'1':this['eventHandl'+'ers'][_0x3d1b72(0x210)+'ct']&&this[_0x3d1b72(0x29a)+'ers'][_0x3d1b72(0x210)+'ct']();continue;case'2':this[_0x3d1b72(0x265)]=![];continue;case'3':this['chatIdSet']=![];continue;case'4':this[_0x3d1b72(0x26f)+'eat']();continue;case'5':this['reconnect']();continue;}break;}}),this['ws']['on']('error',_0x2b9376=>{const _0x4a0d25=_0x93a9a3;console['error'](_0x4a0d25(0x228)+_0x4a0d25(0x257),_0x2b9376[_0x4a0d25(0x23a)]),console['error']('×\x20\x20错误类型:',_0x2b9376['code']),console['error'](_0x267695['dupIn'],_0x2b9376),this['connected']=![],this['eventHandl'+_0x4a0d25(0x2a8)]['onError']&&this[_0x4a0d25(0x29a)+_0x4a0d25(0x2a8)]['onError'](_0x2b9376),_0x2436ef(_0x2b9376);});}catch(_0x371b5a){_0x267695['uQggn'](_0x2436ef,_0x371b5a);}});}[_0x55473d(0x272)](){const _0x9255df=_0x55473d,_0x5342ef={};_0x5342ef['qdJFw']='🔐\x20需要重新认证,停'+_0x9255df(0x242),_0x5342ef['mNjlS']=function(_0x3b02a6,_0x1fea6b){return _0x3b02a6/_0x1fea6b;};const _0x1a2906=_0x5342ef;if(this[_0x9255df(0x23f)+'h']){console['log'](_0x1a2906[_0x9255df(0x287)]);return;}if(this['reconnectT'+'imer'])return;console['log']('⏳\x20'+_0x1a2906[_0x9255df(0x239)](this[_0x9255df(0x207)+'nterval'],0x3e8)+'秒后重连...'),this[_0x9255df(0x279)+_0x9255df(0x24f)]=setTimeout(()=>{const _0x286557=_0x9255df;this['reconnectT'+'imer']=null,this[_0x286557(0x283)]()[_0x286557(0x259)](_0x59785d=>{const _0x2fb0a1=_0x286557;console[_0x2fb0a1(0x203)]('×\x20\x20重连失败:',_0x59785d[_0x2fb0a1(0x23a)]);});},this[_0x9255df(0x207)+_0x9255df(0x260)]);}[_0x55473d(0x1ff)](){const _0x5b772d=_0x55473d,_0x4d8ba9={'iicCZ':'liLra','VsHCW':function(_0x2513ef,_0x403a15){return _0x2513ef(_0x403a15);},'zYglA':'sULgL'};this[_0x5b772d(0x279)+'imer']&&(_0x4d8ba9[_0x5b772d(0x216)]!==_0x5b772d(0x26e)?(_0x4d8ba9['VsHCW'](clearTimeout,this[_0x5b772d(0x279)+'imer']),this['reconnectT'+_0x5b772d(0x24f)]=null):_0x4565bf[_0x5b772d(0x203)](_0x5b772d(0x262),_0x2fe0ae['message']));this[_0x5b772d(0x26f)+'eat']();if(this['ws']){if(_0x4d8ba9['zYglA']!==_0x5b772d(0x1f8))this['ws'][_0x5b772d(0x280)](),this['ws']=null;else{const _0x4bf969=new _0xff7881(_0x3f7a3e['msg']);_0x4bf969['needsReaut'+'h']=!![],this[_0x5b772d(0x29a)+'ers']['onError'](_0x4bf969);}}this['connected']=![];}['isConnecte'+'d'](){const _0x1262e9=_0x55473d;return this['connected']&&this['ws']&&this['ws'][_0x1262e9(0x282)]===_0x240381[_0x1262e9(0x2a1)];}['on'](_0x1ac1e7,_0x352260){const _0x5409e9=_0x55473d;this[_0x5409e9(0x29a)+_0x5409e9(0x2a8)]['hasOwnProp'+'erty']('on'+_0x1ac1e7['charAt'](0x0)['toUpperCas'+'e']()+_0x1ac1e7[_0x5409e9(0x1f1)](0x1))&&(this['eventHandl'+'ers']['on'+_0x1ac1e7[_0x5409e9(0x211)](0x0)['toUpperCas'+'e']()+_0x1ac1e7[_0x5409e9(0x1f1)](0x1)]=_0x352260);}[_0x55473d(0x221)+_0x55473d(0x253)](_0x22dbee){const _0x418a25=_0x55473d,_0x5b4a55={};_0x5b4a55['WWYOo']=function(_0x34ef1f,_0x558be7){return _0x34ef1f===_0x558be7;},_0x5b4a55[_0x418a25(0x1ef)]='pong',_0x5b4a55[_0x418a25(0x2a2)]=function(_0x1c7bcb,_0x59ce0a){return _0x1c7bcb!==_0x59ce0a;},_0x5b4a55[_0x418a25(0x202)]='Dpqms',_0x5b4a55['iSpHx']='无效的binding'+_0x418a25(0x225),_0x5b4a55['BPjjC']=_0x418a25(0x295),_0x5b4a55[_0x418a25(0x256)]='❌\x20认证错误:';const _0xad12a6=_0x5b4a55;try{const _0x145ded=JSON['parse'](_0x22dbee[_0x418a25(0x28f)]());if(_0xad12a6[_0x418a25(0x1ec)](_0x145ded[_0x418a25(0x2a5)],_0xad12a6['aQcBx'])){if(_0xad12a6['VggCx'](_0x418a25(0x26a),_0xad12a6['eMYpX'])){_0x10b5d9(new _0x59b6a5('未连接到服务器'));return;}else{this['lastPongTi'+'me']=Date[_0x418a25(0x232)]();return;}}if(_0xad12a6['WWYOo'](_0x145ded['code'],0x0)&&_0x145ded['msg']&&(_0x145ded['msg'][_0x418a25(0x215)]('设备绑定验证失败')||_0x145ded['msg'][_0x418a25(0x215)](_0xad12a6['iSpHx'])||_0x145ded['msg']['includes'](_0xad12a6[_0x418a25(0x26c)]))){console[_0x418a25(0x203)](_0xad12a6[_0x418a25(0x256)],_0x145ded[_0x418a25(0x28e)]),this['needsReaut'+'h']=!![],this['stopHeartb'+'eat']();if(this['eventHandl'+_0x418a25(0x2a8)][_0x418a25(0x268)]){const _0x52b46e=new Error(_0x145ded['msg']);_0x52b46e[_0x418a25(0x23f)+'h']=!![],this[_0x418a25(0x29a)+_0x418a25(0x2a8)][_0x418a25(0x268)](_0x52b46e);}this['ws']&&this['ws'][_0x418a25(0x280)]();return;}this[_0x418a25(0x29a)+_0x418a25(0x2a8)]['onMessage']&&this[_0x418a25(0x29a)+'ers']['onMessage'](_0x145ded);if(_0x145ded['id']&&this[_0x418a25(0x1f5)+_0x418a25(0x255)]['has'](_0x145ded['id'])){const _0x58fa7a=this['messageHan'+'dlers'][_0x418a25(0x229)](_0x145ded['id']);_0x58fa7a(_0x145ded),this['messageHan'+'dlers']['delete'](_0x145ded['id']);return;}}catch(_0x12cae9){console['error']('×\x20\x20处理消息失败:',_0x12cae9[_0x418a25(0x23a)]);}}['startHeart'+_0x55473d(0x240)](){const _0x58312e=_0x55473d,_0x2337c0={'NfJNW':function(_0x12b2f9,_0x2bdf8b){return _0x12b2f9+_0x2bdf8b;},'kChLn':function(_0x54a3f2,_0x2ca7c0,_0x17325e){return _0x54a3f2(_0x2ca7c0,_0x17325e);}};this['stopHeartb'+_0x58312e(0x273)](),this['heartbeatI'+_0x58312e(0x260)]=_0x2337c0[_0x58312e(0x23b)](setInterval,()=>{const _0x5262a7=_0x58312e;if(this['isConnecte'+'d']()){this['sendHeartb'+'eat']();const _0x4e368a=Date['now']();_0x4e368a-this[_0x5262a7(0x21f)+'me']>_0x2337c0[_0x5262a7(0x267)](this[_0x5262a7(0x247)+'ntervalMs'],this['heartbeatT'+_0x5262a7(0x243)])&&this['ws']['close']();}},this[_0x58312e(0x247)+'ntervalMs']);}[_0x55473d(0x26f)+'eat'](){const _0x584d02=_0x55473d;this['heartbeatI'+'nterval']&&(clearInterval(this['heartbeatI'+_0x584d02(0x260)]),this['heartbeatI'+'nterval']=null,console[_0x584d02(0x23c)](_0x584d02(0x1eb)));}['sendHeartb'+'eat'](){const _0x138c77=_0x55473d,_0x30e992={};_0x30e992[_0x138c77(0x250)]='×\x20发送心跳失败:';const _0x40a47b=_0x30e992;if(!this['isConnecte'+'d']())return;try{const _0x47b70f={'type':'ping','timestamp':Date[_0x138c77(0x232)]()};this['ws'][_0x138c77(0x2ab)](JSON['stringify'](_0x47b70f));}catch(_0x5276e5){console[_0x138c77(0x203)](_0x40a47b['YdSED'],_0x5276e5['message']);}}[_0x55473d(0x244)+'t'](_0x5a20c3){const _0x274a45=_0x55473d,_0xd428ad=this[_0x274a45(0x258)][_0x274a45(0x1f7)](),_0x3eca18=Date['now'](),_0x22bdef=''+_0x5a20c3['chatId']+(_0x5a20c3[_0x274a45(0x23a)]||'')+_0x3eca18,_0x27f885=this['deviceFP']['sign'](_0x22bdef,_0xd428ad),_0x28590a={..._0x5a20c3};return _0x28590a['timestamp']=_0x3eca18,_0x28590a[_0x274a45(0x249)]=_0x27f885,_0x28590a;}['sendReques'+'t'](_0x2c0422){const _0x193990=_0x55473d,_0x2801a5={'OinMZ':'OnrOu','zTIQZ':function(_0x55c05e,_0x566a86){return _0x55c05e!==_0x566a86;},'QEyVA':_0x193990(0x226),'voznp':function(_0x920598,_0x531721){return _0x920598(_0x531721);},'VKqxP':'sendMessag'+'e','nWMTv':_0x193990(0x29d),'eVony':function(_0xc088b4,_0x804329){return _0xc088b4+_0x804329;}};return new Promise((_0x459685,_0x3bd907)=>{const _0xf18104=_0x193990,_0x410f6f={};_0x410f6f[_0xf18104(0x21e)]=_0x2801a5['VKqxP'];const _0x24013a=_0x410f6f;if(!this[_0xf18104(0x25e)+'d']()){_0x2801a5[_0xf18104(0x218)](_0x3bd907,new Error(_0x2801a5[_0xf18104(0x230)]));return;}const _0x2bc50=_0x2801a5[_0xf18104(0x238)](Date['now'](),Math[_0xf18104(0x277)]()),_0x22c2bc=this[_0xf18104(0x244)+'t'](_0x2c0422),_0x27e530={'id':_0x2bc50,'timestamp':Date[_0xf18104(0x232)](),..._0x22c2bc},_0x3b30e9=setTimeout(()=>{const _0x874c31=_0xf18104,_0x40cf1a={'QnRic':function(_0x4caf47,_0x5cfeec){return _0x4caf47(_0x5cfeec);}};_0x2801a5[_0x874c31(0x21c)]==='OnrOu'?(this['messageHan'+'dlers']['delete'](_0x2bc50),_0x3bd907(new Error('请求超时'))):_0x40cf1a['QnRic'](_0x19fff2,_0x115826[_0x874c31(0x214)]);},QIDAO_CONFIG['DEFAULTS']['REQUEST_TI'+_0xf18104(0x264)]);this['messageHan'+_0xf18104(0x255)][_0xf18104(0x231)](_0x2bc50,_0x39ae4a=>{const _0x1d52ec=_0xf18104;clearTimeout(_0x3b30e9);if(_0x39ae4a['code']===0x1){if(_0x2801a5[_0x1d52ec(0x20b)](_0x2801a5[_0x1d52ec(0x29e)],'lYbXY'))_0x459685(_0x39ae4a['data']);else{const _0x26b709={};return _0x26b709['action']=_0x24013a[_0x1d52ec(0x21e)],_0x26b709['chatId']=_0x450566,_0x26b709['message']=_0x172ea1,_0x26b709['messageTyp'+'e']=_0x34ccbf,_0x26b709[_0x1d52ec(0x1fa)]=_0x1eeaad,this[_0x1d52ec(0x288)+'t'](_0x26b709);}}else _0x2801a5[_0x1d52ec(0x218)](_0x3bd907,new Error(_0x39ae4a[_0x1d52ec(0x28e)]||'请求失败'));}),this['ws'][_0xf18104(0x2ab)](JSON['stringify'](_0x27e530));});}async[_0x55473d(0x25f)+'e'](_0x1af78d,_0x42498d,_0x3358c9=QIDAO_CONFIG[_0x55473d(0x223)+'PES']['TEXT'],_0x2ac726=null){const _0x3022df=_0x55473d,_0x286ecb={};_0x286ecb[_0x3022df(0x20e)]='sendMessag'+'e';const _0x2466ec=_0x286ecb,_0x2d4667={};return _0x2d4667['action']=_0x2466ec[_0x3022df(0x20e)],_0x2d4667[_0x3022df(0x235)]=_0x1af78d,_0x2d4667['message']=_0x42498d,_0x2d4667['messageTyp'+'e']=_0x3358c9,_0x2d4667[_0x3022df(0x1fa)]=_0x2ac726,this['sendReques'+'t'](_0x2d4667);}async[_0x55473d(0x27d)+_0x55473d(0x220)](_0x5088e9,_0x4c3fc4){const _0x100491=_0x55473d;return this[_0x100491(0x25f)+'e'](_0x5088e9,'',QIDAO_CONFIG[_0x100491(0x223)+'PES']['IMAGE'],_0x4c3fc4);}async['getChatRoo'+_0x55473d(0x2aa)+'rs'](_0x21d23f){const _0xfee2ba=_0x55473d,_0x56a095={};_0x56a095[_0xfee2ba(0x227)]=_0xfee2ba(0x241)+_0xfee2ba(0x28c);const _0x13c03a=_0x56a095,_0x1f0a02={};return _0x1f0a02['action']=_0x13c03a['ydKGH'],_0x1f0a02[_0xfee2ba(0x235)]=_0x21d23f,this['sendReques'+'t'](_0x1f0a02);}async['getUserOnl'+_0x55473d(0x1fb)](_0x1f3fab){const _0x5aaeed=_0x55473d,_0x48b91a={};return _0x48b91a[_0x5aaeed(0x22b)]=_0x5aaeed(0x20c)+'Status',_0x48b91a[_0x5aaeed(0x26b)+'Id']=_0x1f3fab,this['sendReques'+'t'](_0x48b91a);}async[_0x55473d(0x24b)](){const _0x3a976d=_0x55473d,_0x161134={'nrVFh':_0x3a976d(0x25a),'KyoID':_0x3a976d(0x20a),'Aszpo':_0x3a976d(0x289)+_0x3a976d(0x275),'wZMvf':'🌐\x20正在启动本地二维'+'码服务...','FBalm':_0x3a976d(0x2a3)+'r.js','UXqyy':function(_0x1b6b94,_0xe097be){return _0x1b6b94(_0xe097be);},'iFySX':'请手动访问以下URL'+'生成二维码:','WWucB':function(_0x13a202,_0x2b042c){return _0x13a202(_0x2b042c);},'CYkOI':_0x3a976d(0x251)+_0x3a976d(0x22f),'ijewn':_0x3a976d(0x29b)+'tatus','zzbIH':function(_0x2c708b,_0x1fee0b){return _0x2c708b===_0x1fee0b;},'qeBIA':_0x3a976d(0x290),'BnAko':function(_0x984346,_0x191f09){return _0x984346===_0x191f09;},'AIJNp':'二维码已过期,请重新'+'生成','BYipF':_0x3a976d(0x28d),'jnAnI':_0x3a976d(0x271)+'th','kfTYr':function(_0x5c15c5,_0x30d21d){return _0x5c15c5!==_0x30d21d;},'LHCQj':'eqNBn','AlfGO':'认证失败:未获取到设'+_0x3a976d(0x28b)};if(!this['isConnecte'+'d']())throw new Error(_0x3a976d(0x29d));console['log'](_0x3a976d(0x1f9)+_0x3a976d(0x274)),console['log'](_0x161134[_0x3a976d(0x234)]);const _0x364671={};_0x364671[_0x3a976d(0x22b)]=_0x161134['KyoID'];const _0xdad6cf=await this[_0x3a976d(0x288)+'t'](_0x364671);console[_0x3a976d(0x23c)](_0x161134['Aszpo']),console[_0x3a976d(0x23c)](_0x161134['wZMvf']);try{const {createQRServer:_0x2f5d37}=await import(_0x161134['FBalm']),_0x3b8c02=await _0x161134['UXqyy'](_0x2f5d37,_0xdad6cf[_0x3a976d(0x298)]);console['log'](_0x3a976d(0x222)+_0x3b8c02),this['openBrowse'+'r'](_0x3b8c02);}catch(_0x374c5d){console['log'](_0x161134[_0x3a976d(0x246)]),console[_0x3a976d(0x23c)]('https://ap'+'i.qrserver'+_0x3a976d(0x245)+'eate-qr-co'+_0x3a976d(0x23d)+'00x300&dat'+'a='+_0x161134['WWucB'](encodeURIComponent,_0xdad6cf['qrUrl']));}console['log'](_0x161134[_0x3a976d(0x205)]);let _0xd5163b,_0x4a7957=0x0;const _0x58d08d=0x3c;while(_0x4a7957<_0x58d08d){await new Promise(_0x3d13c4=>setTimeout(_0x3d13c4,0x1388)),_0x4a7957++;try{const _0x1360f1={};_0x1360f1[_0x3a976d(0x22b)]=_0x161134['ijewn'],_0x1360f1[_0x3a976d(0x293)]=_0xdad6cf[_0x3a976d(0x293)];const _0x553f19=await this[_0x3a976d(0x288)+'t'](_0x1360f1);if(_0x161134['zzbIH'](_0x4a7957%0x5,0x0)){}if(_0x553f19[_0x3a976d(0x29f)]===_0x161134['qeBIA']){_0xd5163b=_0x553f19;break;}else{if(_0x161134[_0x3a976d(0x248)](_0x553f19[_0x3a976d(0x29f)],_0x3a976d(0x206)))throw new Error(_0x161134[_0x3a976d(0x1e7)]);}}catch(_0x4ec529){console[_0x3a976d(0x203)](_0x3a976d(0x233),_0x4ec529[_0x3a976d(0x23a)]);throw _0x4ec529;}}if(!_0xd5163b||_0xd5163b[_0x3a976d(0x29f)]!==_0x161134['qeBIA'])throw new Error(_0x161134['BYipF']);const _0x5c12f3=this['deviceFP'][_0x3a976d(0x1f7)](),_0x4bd219={};_0x4bd219['action']=_0x161134[_0x3a976d(0x2a0)],_0x4bd219['uid']=_0xd5163b['uid'],_0x4bd219[_0x3a976d(0x270)+'erprint']=_0x5c12f3;const _0x5ca8cf=await this[_0x3a976d(0x288)+'t'](_0x4bd219);console[_0x3a976d(0x23c)](_0x3a976d(0x1f3)+_0x5ca8cf['chatId']);if(_0x5ca8cf[_0x3a976d(0x27f)+'en'])this['bindingTok'+'en']=_0x5ca8cf['bindingTok'+'en'];else{if(_0x161134[_0x3a976d(0x266)](_0x161134[_0x3a976d(0x21b)],'MALFk'))throw new Error(_0x161134[_0x3a976d(0x1e9)]);else{const _0x55cf36=_0x7cdbe7?function(){const _0x58ebd7=_0x3a976d;if(_0x2c44dc){const _0x135ab8=_0x33e04b[_0x58ebd7(0x2a9)](_0x3ecf40,arguments);return _0x5bd040=null,_0x135ab8;}}:function(){};return _0x59f7ff=![],_0x55cf36;}}this['chatId']=_0x5ca8cf['chatId'],this[_0x3a976d(0x236)]=_0x5ca8cf['uid'],this[_0x3a976d(0x261)]=!![];const _0x1ffc17={};return _0x1ffc17[_0x3a976d(0x235)]=_0x5ca8cf[_0x3a976d(0x235)],_0x1ffc17[_0x3a976d(0x20d)]=_0x5ca8cf[_0x3a976d(0x20d)],_0x1ffc17['bindingTok'+'en']=_0x5ca8cf[_0x3a976d(0x27f)+'en'],_0x1ffc17;}['openBrowse'+'r'](_0x572948){const _0x3c63e5=_0x55473d,_0x2c646c={};_0x2c646c[_0x3c63e5(0x212)]=_0x3c63e5(0x285),_0x2c646c[_0x3c63e5(0x299)]=function(_0x37d241,_0x67975e){return _0x37d241===_0x67975e;},_0x2c646c['Yeamt']=_0x3c63e5(0x24e);const _0x52db92=_0x2c646c;let _0x302d86;const _0x2cc415=_0x333d64['platform']();console['log'](_0x3c63e5(0x2a4),_0x2cc415),console[_0x3c63e5(0x23c)](_0x3c63e5(0x219),_0x572948);if(_0x2cc415==='win32')_0x302d86=_0x3c63e5(0x1fd)+_0x3c63e5(0x1ea)+_0x572948+'\x22';else _0x52db92['GJAdw'](_0x2cc415,'darwin')?_0x302d86='open\x20\x22'+_0x572948+'\x22':_0x302d86=_0x3c63e5(0x2a6)+_0x572948+'\x22';console['log'](_0x52db92[_0x3c63e5(0x200)],_0x302d86),exec(_0x302d86,(_0x43648d,_0x778e7d,_0x2011fe)=>{const _0x1a1555=_0x3c63e5;_0x43648d?(console['error'](_0x1a1555(0x1fe),_0x43648d['message']),_0x2011fe&&console[_0x1a1555(0x203)](_0x1a1555(0x1f0),_0x2011fe),console[_0x1a1555(0x23c)]('📱\x20请手动复制以下链'+'接到浏览器中打开:'),console['log'](_0x572948)):console[_0x1a1555(0x23c)](_0x52db92[_0x1a1555(0x212)]);});}async['setChatId'](_0x5eb2fa,_0x47a5f3=null,_0x150d72=null){const _0x55fa41=_0x55473d,_0x23eab7={'rCImw':function(_0xf5e26c,_0x4083e9){return _0xf5e26c(_0x4083e9);},'vExBM':'llCsP','TVSKJ':function(_0x18a9de,_0x31138d){return _0x18a9de+_0x31138d;},'WvsBn':function(_0x4880a3,_0x52df7a,_0x339d42){return _0x4880a3(_0x52df7a,_0x339d42);},'IaIqD':'未连接到服务器'};if(!this[_0x55fa41(0x25e)+'d']())throw new Error(_0x23eab7[_0x55fa41(0x276)]);let _0x204d8c={'action':'setChatId','chatId':_0x5eb2fa,'userId':_0x47a5f3,'timestamp':Date['now']()};const _0x9118ec=_0x150d72||this[_0x55fa41(0x27f)+'en'];if(!_0x9118ec)throw new Error(_0x55fa41(0x237)+'n');const _0x140fc7=this['deviceFP']['generate'](),_0x3dd5e0=_0x5eb2fa+'setChatId'+_0x204d8c['timestamp'],_0x3641b1=this[_0x55fa41(0x258)]['sign'](_0x3dd5e0,_0x140fc7);return _0x204d8c[_0x55fa41(0x27f)+'en']=_0x9118ec,_0x204d8c[_0x55fa41(0x249)]=_0x3641b1,new Promise((_0x22e7fa,_0xcec01b)=>{const _0x5a9e7e=_0x55fa41,_0x28ce85={'ZFXEA':function(_0x45e4f5,_0x2ae10c){const _0x174d8c=_0x317d;return _0x23eab7[_0x174d8c(0x284)](_0x45e4f5,_0x2ae10c);},'barCr':'设置chatId超时','STwAa':function(_0xa49d32,_0x273ca3){return _0xa49d32===_0x273ca3;},'FNVSd':function(_0xb5d22f,_0x4e7adf){return _0xb5d22f===_0x4e7adf;},'nOgDi':_0x23eab7[_0x5a9e7e(0x23e)],'ZnnTJ':function(_0x2868a0,_0x8f1419){return _0x23eab7['rCImw'](_0x2868a0,_0x8f1419);},'ifOmi':_0x5a9e7e(0x254)},_0x37a824=_0x23eab7[_0x5a9e7e(0x208)](Date['now'](),Math[_0x5a9e7e(0x277)]());_0x204d8c['id']=_0x37a824;const _0x3dd4=_0x23eab7[_0x5a9e7e(0x1fc)](setTimeout,()=>{const _0x90a18e=_0x5a9e7e;this[_0x90a18e(0x1f5)+_0x90a18e(0x255)]['delete'](_0x37a824),_0x28ce85['ZFXEA'](_0xcec01b,new Error(_0x28ce85[_0x90a18e(0x22e)]));},QIDAO_CONFIG[_0x5a9e7e(0x213)]['REQUEST_TI'+'MEOUT']);this[_0x5a9e7e(0x1f5)+_0x5a9e7e(0x255)][_0x5a9e7e(0x231)](_0x37a824,_0x44a83f=>{const _0x460a13=_0x5a9e7e;clearTimeout(_0x3dd4),_0x28ce85['STwAa'](_0x44a83f[_0x460a13(0x293)],0x1)?_0x22e7fa(_0x44a83f[_0x460a13(0x214)]):_0x28ce85[_0x460a13(0x24c)](_0x460a13(0x24a),_0x28ce85[_0x460a13(0x281)])?_0x43b802=_0x460a13(0x27a)+_0x1069aa+'\x22':_0x28ce85[_0x460a13(0x269)](_0xcec01b,new Error(_0x44a83f['msg']||_0x28ce85[_0x460a13(0x294)]));}),this['ws'][_0x5a9e7e(0x2ab)](JSON[_0x5a9e7e(0x1e5)](_0x204d8c));});}}export default QidaoChannel;
@@ -69,7 +69,7 @@ export function createQRServer(qrUrl) {
69
69
  * @returns {string} - HTML内容
70
70
  */
71
71
  function generateQRPage(qrUrl) {
72
- const qrApiUrl = `https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=${encodeURIComponent(qrUrl)}`;
72
+ const qrApiUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrUrl)}`;
73
73
 
74
74
  return `
75
75
  <!DOCTYPE html>
@@ -79,98 +79,122 @@ function generateQRPage(qrUrl) {
79
79
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
80
80
  <title>栖岛聊天 - 扫码认证</title>
81
81
  <style>
82
+ * {
83
+ margin: 0;
84
+ padding: 0;
85
+ box-sizing: border-box;
86
+ }
82
87
  body {
83
88
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
84
- margin: 0;
85
- padding: 20px;
86
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
89
+ background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
87
90
  min-height: 100vh;
88
91
  display: flex;
89
92
  justify-content: center;
90
93
  align-items: center;
94
+ padding: 20px;
91
95
  }
92
96
  .container {
93
- background: white;
94
- border-radius: 20px;
95
- padding: 40px;
97
+ background: #ffffff;
98
+ border-radius: 24px;
99
+ padding: 48px 32px;
96
100
  text-align: center;
97
- box-shadow: 0 20px 40px rgba(0,0,0,0.1);
98
- max-width: 500px;
101
+ box-shadow: 0 25px 50px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.05);
102
+ max-width: 480px;
99
103
  width: 100%;
104
+ animation: fadeIn 0.6s ease-out;
105
+ }
106
+ @keyframes fadeIn {
107
+ from { opacity: 0; transform: translateY(20px); }
108
+ to { opacity: 1; transform: translateY(0); }
100
109
  }
101
110
  .title {
102
- color: #333;
103
- font-size: 28px;
104
- font-weight: 600;
105
- margin-bottom: 10px;
111
+ color: #1a1a2e;
112
+ font-size: 32px;
113
+ font-weight: 700;
114
+ margin-bottom: 8px;
115
+ letter-spacing: 0.5px;
106
116
  }
107
117
  .subtitle {
108
- color: #666;
109
- font-size: 16px;
110
- margin-bottom: 30px;
118
+ color: #64748b;
119
+ font-size: 17px;
120
+ margin-bottom: 40px;
121
+ font-weight: 400;
111
122
  }
112
123
  .qr-container {
113
- background: #f8f9fa;
114
- border-radius: 15px;
115
- padding: 20px;
116
- margin: 20px 0;
124
+ background: #f8fafc;
125
+ border-radius: 20px;
126
+ padding: 16px;
127
+ margin: 0 auto 32px;
117
128
  display: inline-block;
129
+ border: 1px solid #e2e8f0;
118
130
  }
119
131
  .qr-image {
120
- border-radius: 10px;
121
- box-shadow: 0 4px 12px rgba(0,0,0,0.1);
132
+ border-radius: 12px;
133
+ box-shadow: 0 8px 20px rgba(0,0,0,0.08);
134
+ display: block;
135
+ width: 200px;
136
+ height: 200px;
122
137
  }
123
138
  .instructions {
124
- color: #555;
125
- font-size: 14px;
126
- line-height: 1.6;
127
- margin-top: 20px;
139
+ color: #475569;
140
+ font-size: 15px;
141
+ line-height: 1.7;
142
+ margin-bottom: 28px;
143
+ text-align: left;
128
144
  }
129
145
  .step {
130
- margin: 10px 0;
131
- padding: 10px;
132
- background: #f0f7ff;
133
- border-radius: 8px;
134
- border-left: 4px solid #007bff;
135
- }
136
- .url-info {
137
- background: #f8f9fa;
138
- border-radius: 8px;
139
- padding: 15px;
140
- margin-top: 20px;
141
- font-family: monospace;
142
- font-size: 12px;
143
- color: #666;
144
- word-break: break-all;
146
+ margin: 12px 0;
147
+ padding: 14px 0;
148
+ color: #334155;
149
+ font-size: 15px;
150
+ }
151
+ .step strong {
152
+ color: #0f172a;
153
+ font-weight: 600;
154
+ margin-right: 8px;
155
+ }
156
+ .download-link {
157
+ color: #2563eb;
158
+ text-decoration: none;
159
+ font-weight: 500;
160
+ margin-left: 4px;
161
+ }
162
+ .download-link:hover {
163
+ text-decoration: underline;
164
+ }
165
+ .status {
166
+ margin-top: 12px;
167
+ padding: 18px;
168
+ border-radius: 12px;
169
+ background: #f8fafc;
170
+ border: 1px solid #e2e8f0;
171
+ color: #334155;
172
+ font-weight: 500;
173
+ display: flex;
174
+ align-items: center;
175
+ justify-content: center;
176
+ font-size: 15px;
145
177
  }
146
178
  .loading {
147
179
  display: inline-block;
148
- width: 20px;
149
- height: 20px;
150
- border: 3px solid #f3f3f3;
151
- border-top: 3px solid #007bff;
180
+ width: 22px;
181
+ height: 22px;
182
+ border: 3px solid #e2e8f0;
183
+ border-top: 3px solid #2563eb;
152
184
  border-radius: 50%;
153
185
  animation: spin 1s linear infinite;
154
- margin-right: 10px;
186
+ margin-right: 12px;
155
187
  }
156
188
  @keyframes spin {
157
189
  0% { transform: rotate(0deg); }
158
190
  100% { transform: rotate(360deg); }
159
191
  }
160
- .status {
161
- margin-top: 20px;
162
- padding: 15px;
163
- border-radius: 8px;
164
- background: #fff3cd;
165
- border: 1px solid #ffeaa7;
166
- color: #856404;
167
- }
168
192
  </style>
169
193
  </head>
170
194
  <body>
171
195
  <div class="container">
172
- <div class="title">🏝️ 栖岛聊天</div>
173
- <div class="subtitle">OpenClaw 插件认证</div>
196
+ <div class="title">栖岛聊天</div>
197
+ <div class="subtitle">Qidao OpenClaw认证</div>
174
198
 
175
199
  <div class="qr-container">
176
200
  <img src="${qrApiUrl}" alt="认证二维码" class="qr-image" id="qrImage" />
@@ -178,7 +202,7 @@ function generateQRPage(qrUrl) {
178
202
 
179
203
  <div class="instructions">
180
204
  <div class="step">
181
- <strong>步骤 1:</strong> 打开栖岛 APP
205
+ <strong>步骤 1:</strong> 打开栖岛 APP <a href="https://www.qidao.app" target="_blank" class="download-link">未安装?</a></span>
182
206
  </div>
183
207
  <div class="step">
184
208
  <strong>步骤 2:</strong> 使用扫一扫功能扫描上方二维码
@@ -192,11 +216,6 @@ function generateQRPage(qrUrl) {
192
216
  <div class="loading"></div>
193
217
  等待扫码中...
194
218
  </div>
195
-
196
- <div class="url-info">
197
- <strong>认证URL:</strong><br>
198
- ${qrUrl}
199
- </div>
200
219
  </div>
201
220
 
202
221
  <script>
@@ -204,13 +223,13 @@ function generateQRPage(qrUrl) {
204
223
  const qrImage = document.getElementById('qrImage');
205
224
  qrImage.onerror = function() {
206
225
  this.src = 'data:image/svg+xml;base64,' + btoa(\`
207
- <svg width="400" height="400" xmlns="http://www.w3.org/2000/svg">
208
- <rect width="400" height="400" fill="#f8f9fa"/>
209
- <text x="200" y="180" text-anchor="middle" font-family="Arial" font-size="16" fill="#666">
226
+ <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
227
+ <rect width="200" height="200" fill="#f8f9fa"/>
228
+ <text x="100" y="90" text-anchor="middle" font-family="Arial" font-size="14" fill="#666">
210
229
  二维码加载失败
211
230
  </text>
212
- <text x="200" y="220" text-anchor="middle" font-family="Arial" font-size="14" fill="#999">
213
- 请手动复制下方URL到栖岛内打开
231
+ <text x="100" y="115" text-anchor="middle" font-family="Arial" font-size="12" fill="#999">
232
+ 请手动复制URL到栖岛内打开
214
233
  </text>
215
234
  </svg>
216
235
  \`);