node-karin 0.12.0 → 0.12.2-5.pr.206.07c7722
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 +1029 -0
- package/LICENSE +21 -674
- package/README.md +15 -42
- package/default/comment/config.json +34 -0
- package/default/comment/friendDirect.json +10 -0
- package/default/comment/groupGuild.json +11 -0
- package/default/comment/server.json +17 -0
- package/default/config/config.yaml +78 -0
- package/default/config/friendDirect.yaml +31 -0
- package/default/config/groupGuild.yaml +70 -0
- package/default/config/pm2.yaml +21 -0
- package/default/config/redis.yaml +19 -0
- package/default/config/server.yaml +47 -0
- package/default/view/group.yaml +73 -0
- package/lib/index.d.ts +9651 -8
- package/lib/index.js +38 -8
- package/package.json +127 -124
- package/packages/module/art-template.cjs +11 -0
- package/packages/module/art-template.d.ts +1 -0
- package/packages/module/axios.cjs +22 -0
- package/packages/module/axios.d.ts +2 -0
- package/packages/module/chalk.cjs +22 -0
- package/packages/module/chalk.d.ts +2 -0
- package/packages/module/chokidar.cjs +22 -0
- package/packages/module/chokidar.d.ts +2 -0
- package/packages/module/commander.cjs +35 -0
- package/packages/module/commander.d.ts +3 -0
- package/packages/module/commander.js +3 -0
- package/packages/module/express.cjs +112 -0
- package/packages/module/express.d.ts +1 -0
- package/packages/module/express.js +1 -0
- package/packages/module/level.cjs +22 -0
- package/packages/module/level.d.ts +2 -0
- package/packages/module/lodash.cjs +11 -0
- package/packages/module/lodash.d.ts +1 -0
- package/packages/module/log4js.cjs +22 -0
- package/packages/module/log4js.d.ts +2 -0
- package/packages/module/moment.cjs +11 -0
- package/packages/module/moment.d.ts +1 -0
- package/packages/module/node-schedule.cjs +22 -0
- package/packages/module/node-schedule.d.ts +2 -0
- package/packages/module/redis.cjs +22 -0
- package/packages/module/redis.d.ts +2 -0
- package/packages/module/ws.cjs +28 -0
- package/packages/module/ws.d.ts +1 -0
- package/packages/module/ws.js +1 -0
- package/packages/module/yaml.cjs +22 -0
- package/packages/module/yaml.d.ts +2 -0
- package/config/defSet/App.yaml +0 -42
- package/config/defSet/config.yaml +0 -65
- package/config/defSet/group.yaml +0 -56
- package/config/defSet/pm2.yaml +0 -21
- package/config/defSet/redis.yaml +0 -18
- package/config/defSet/server.yaml +0 -42
- package/config/view/group.yaml +0 -92
- package/lib/adapter/index.d.ts +0 -2
- package/lib/adapter/index.js +0 -2
- package/lib/adapter/input/index.d.ts +0 -78
- package/lib/adapter/input/index.js +0 -205
- package/lib/adapter/onebot/11/convert.d.ts +0 -12
- package/lib/adapter/onebot/11/convert.js +0 -167
- package/lib/adapter/onebot/11/event.d.ts +0 -25
- package/lib/adapter/onebot/11/event.js +0 -442
- package/lib/adapter/onebot/11/index.d.ts +0 -508
- package/lib/adapter/onebot/11/index.js +0 -1047
- package/lib/cli/index.d.ts +0 -92
- package/lib/cli/index.js +0 -307
- package/lib/cli/init.d.ts +0 -2
- package/lib/cli/init.js +0 -22
- package/lib/cli/karin.d.ts +0 -2
- package/lib/cli/karin.js +0 -16
- package/lib/cli/pkg.d.ts +0 -4
- package/lib/cli/pkg.js +0 -14
- package/lib/cli/start.d.ts +0 -1
- package/lib/cli/start.js +0 -8
- package/lib/core/index.d.ts +0 -10
- package/lib/core/index.js +0 -10
- package/lib/core/init/config.d.ts +0 -43
- package/lib/core/init/config.js +0 -201
- package/lib/core/init/dir.d.ts +0 -4
- package/lib/core/init/dir.js +0 -7
- package/lib/core/init/init.d.ts +0 -1
- package/lib/core/init/init.js +0 -47
- package/lib/core/karin/karin.d.ts +0 -198
- package/lib/core/karin/karin.js +0 -226
- package/lib/core/listener/listener.d.ts +0 -145
- package/lib/core/listener/listener.js +0 -235
- package/lib/core/plugin/base.d.ts +0 -156
- package/lib/core/plugin/base.js +0 -131
- package/lib/core/plugin/loader.d.ts +0 -141
- package/lib/core/plugin/loader.js +0 -618
- package/lib/core/process/process.d.ts +0 -18
- package/lib/core/process/process.js +0 -96
- package/lib/core/server/server.d.ts +0 -25
- package/lib/core/server/server.js +0 -295
- package/lib/db/index.d.ts +0 -2
- package/lib/db/index.js +0 -2
- package/lib/db/level/level.d.ts +0 -19
- package/lib/db/level/level.js +0 -36
- package/lib/db/redis/redis.d.ts +0 -2
- package/lib/db/redis/redis.js +0 -135
- package/lib/db/redis/redis_level.d.ts +0 -112
- package/lib/db/redis/redis_level.js +0 -281
- package/lib/event/handler/base.d.ts +0 -42
- package/lib/event/handler/base.js +0 -200
- package/lib/event/handler/message.d.ts +0 -29
- package/lib/event/handler/message.js +0 -307
- package/lib/event/handler/notice.d.ts +0 -18
- package/lib/event/handler/notice.js +0 -214
- package/lib/event/handler/request.d.ts +0 -18
- package/lib/event/handler/request.js +0 -115
- package/lib/event/handler/review.d.ts +0 -55
- package/lib/event/handler/review.js +0 -386
- package/lib/event/index.d.ts +0 -5
- package/lib/event/index.js +0 -5
- package/lib/modules/art-template.d.ts +0 -1
- package/lib/modules/axios.d.ts +0 -2
- package/lib/modules/chalk.d.ts +0 -2
- package/lib/modules/chokidar.d.ts +0 -2
- package/lib/modules/commander.d.ts +0 -2
- package/lib/modules/commander.js +0 -2
- package/lib/modules/express.d.ts +0 -3
- package/lib/modules/express.js +0 -3
- package/lib/modules/level.d.ts +0 -2
- package/lib/modules/lodash.d.ts +0 -1
- package/lib/modules/log4js.d.ts +0 -2
- package/lib/modules/moment.d.ts +0 -1
- package/lib/modules/node-schedule.d.ts +0 -2
- package/lib/modules/redis.d.ts +0 -2
- package/lib/modules/ws.d.ts +0 -3
- package/lib/modules/ws.js +0 -3
- package/lib/modules/yaml.d.ts +0 -2
- package/lib/modules.d.ts +0 -15
- package/lib/modules.js +0 -15
- package/lib/render/app.d.ts +0 -56
- package/lib/render/app.js +0 -120
- package/lib/render/base.d.ts +0 -30
- package/lib/render/base.js +0 -69
- package/lib/render/client.d.ts +0 -41
- package/lib/render/client.js +0 -238
- package/lib/render/http.d.ts +0 -19
- package/lib/render/http.js +0 -50
- package/lib/render/index.d.ts +0 -6
- package/lib/render/index.js +0 -6
- package/lib/render/server.d.ts +0 -25
- package/lib/render/server.js +0 -101
- package/lib/render/wormhole.d.ts +0 -1
- package/lib/render/wormhole.js +0 -156
- package/lib/types/adapter/api.d.ts +0 -399
- package/lib/types/adapter/api.js +0 -1
- package/lib/types/adapter/base.d.ts +0 -560
- package/lib/types/adapter/base.js +0 -1
- package/lib/types/config/config.d.ts +0 -379
- package/lib/types/config/config.js +0 -1
- package/lib/types/element/element.d.ts +0 -565
- package/lib/types/element/element.js +0 -1
- package/lib/types/element/qqbot.d.ts +0 -123
- package/lib/types/element/qqbot.js +0 -1
- package/lib/types/event/contact.d.ts +0 -28
- package/lib/types/event/contact.js +0 -1
- package/lib/types/event/event.d.ts +0 -305
- package/lib/types/event/event.js +0 -1
- package/lib/types/event/index.d.ts +0 -12
- package/lib/types/event/index.js +0 -7
- package/lib/types/event/message.d.ts +0 -109
- package/lib/types/event/message.js +0 -74
- package/lib/types/event/notice.d.ts +0 -513
- package/lib/types/event/notice.js +0 -52
- package/lib/types/event/reply.d.ts +0 -50
- package/lib/types/event/reply.js +0 -1
- package/lib/types/event/request.d.ts +0 -126
- package/lib/types/event/request.js +0 -52
- package/lib/types/event/sender.d.ts +0 -44
- package/lib/types/event/sender.js +0 -1
- package/lib/types/index.d.ts +0 -13
- package/lib/types/index.js +0 -13
- package/lib/types/logger/logger.d.ts +0 -110
- package/lib/types/logger/logger.js +0 -1
- package/lib/types/onebot11/api.d.ts +0 -53
- package/lib/types/onebot11/api.js +0 -1
- package/lib/types/onebot11/event.d.ts +0 -619
- package/lib/types/onebot11/event.js +0 -2
- package/lib/types/onebot11/index.d.ts +0 -6
- package/lib/types/onebot11/index.js +0 -6
- package/lib/types/onebot11/params.d.ts +0 -609
- package/lib/types/onebot11/params.js +0 -1
- package/lib/types/onebot11/response.d.ts +0 -516
- package/lib/types/onebot11/response.js +0 -1
- package/lib/types/onebot11/segment.d.ts +0 -269
- package/lib/types/onebot11/segment.js +0 -1
- package/lib/types/onebot11/sender.d.ts +0 -59
- package/lib/types/onebot11/sender.js +0 -1
- package/lib/types/plugin/app.d.ts +0 -71
- package/lib/types/plugin/app.js +0 -1
- package/lib/types/plugin/plugin.d.ts +0 -473
- package/lib/types/plugin/plugin.js +0 -1
- package/lib/types/render/render.d.ts +0 -118
- package/lib/types/render/render.js +0 -1
- package/lib/types/type/global.d.ts +0 -25
- package/lib/types/type/global.js +0 -1
- package/lib/utils/common/common.d.ts +0 -236
- package/lib/utils/common/common.js +0 -708
- package/lib/utils/config/config.d.ts +0 -193
- package/lib/utils/config/config.js +0 -328
- package/lib/utils/config/updateVersion.d.ts +0 -33
- package/lib/utils/config/updateVersion.js +0 -145
- package/lib/utils/config/yamlEditor.d.ts +0 -101
- package/lib/utils/config/yamlEditor.js +0 -330
- package/lib/utils/core/handler.d.ts +0 -18
- package/lib/utils/core/handler.js +0 -46
- package/lib/utils/core/logger.d.ts +0 -3
- package/lib/utils/core/logger.js +0 -105
- package/lib/utils/core/segment.d.ts +0 -279
- package/lib/utils/core/segment.js +0 -451
- package/lib/utils/index.d.ts +0 -13
- package/lib/utils/index.js +0 -13
- package/lib/utils/tools/button.d.ts +0 -2
- package/lib/utils/tools/button.js +0 -27
- package/lib/utils/tools/exec.d.ts +0 -20
- package/lib/utils/tools/exec.js +0 -54
- package/lib/utils/tools/ffmpeg.d.ts +0 -12
- package/lib/utils/tools/ffmpeg.js +0 -25
- package/lib/utils/tools/restart.d.ts +0 -15
- package/lib/utils/tools/restart.js +0 -39
- package/lib/utils/tools/stop.d.ts +0 -7
- package/lib/utils/tools/stop.js +0 -13
- package/lib/utils/tools/update.d.ts +0 -67
- package/lib/utils/tools/update.js +0 -151
- /package/{config → default}/view/App.yaml +0 -0
- /package/{config → default}/view/config.yaml +0 -0
- /package/{config → default}/view/pm2.yaml +0 -0
- /package/{config → default}/view/redis.yaml +0 -0
- /package/{config → default}/view/server.yaml +0 -0
- /package/{lib/modules → packages/module}/art-template.js +0 -0
- /package/{lib/modules → packages/module}/axios.js +0 -0
- /package/{lib/modules → packages/module}/chalk.js +0 -0
- /package/{lib/modules → packages/module}/chokidar.js +0 -0
- /package/{lib/modules → packages/module}/level.js +0 -0
- /package/{lib/modules → packages/module}/lodash.js +0 -0
- /package/{lib/modules → packages/module}/log4js.js +0 -0
- /package/{lib/modules → packages/module}/moment.js +0 -0
- /package/{lib/modules → packages/module}/node-schedule.js +0 -0
- /package/{lib/modules → packages/module}/redis.js +0 -0
- /package/{lib/modules → packages/module}/yaml.js +0 -0
package/lib/index.js
CHANGED
|
@@ -1,8 +1,38 @@
|
|
|
1
|
-
export * from './core/index.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export * from './types/index.js';
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import A,{existsSync}from'node:fs';import I from'path';import {fileURLToPath}from'url';import N from'node:path';import op,{promisify}from'node:util';import {pipeline,Readable}from'node:stream';import qo,{AxiosError}from'axios';import Rt from'lodash';import {fileURLToPath as fileURLToPath$1}from'node:url';import C,{isMap,isSeq,isPair}from'yaml';import {createRequire}from'module';import Cu from'chokidar';import {randomUUID}from'node:crypto';import {EventEmitter}from'events';import {exec}from'child_process';import Ar from'node:os';import {Level}from'level';import ae from'moment';import Kc from'node:events';import Wc from'os';import {createClient}from'redis';import ip from'node-schedule';import up from'express';import {createServer}from'node:http';import {lookup}from'dns/promises';import fu,{WebSocketServer}from'ws';import Ip from'art-template';import U from'chalk';import Ns from'log4js';var yu=Object.defineProperty;var Gt=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var c=(t,e)=>()=>(t&&(e=t(t=0)),e);var R=(t,e)=>{for(var r in e)yu(t,r,{get:e[r],enumerable:true});};var Sn,or,Oo,Bn,ir,Rn=c(()=>{Sn=async t=>{try{return await A.promises.access(t,A.constants.F_OK),!0}catch{return false}},or=async t=>{try{return (await A.promises.stat(t)).isDirectory()}catch{return false}},Oo=async t=>{try{return (await A.promises.stat(t)).isFile()}catch{return false}},Bn=async t=>{try{return await A.promises.mkdir(t,{recursive:!0}),!0}catch{return false}},ir=async t=>{try{return await Sn(t)||await Bn(t),!0}catch{return false}};});var Po,To,So,$t,ze,Bo,It=c(()=>{Po=t=>A.existsSync(t),To=t=>{try{return A.statSync(t).isDirectory()}catch{return false}},So=t=>{try{return A.statSync(t).isFile()}catch{return false}},$t=t=>{try{return A.mkdirSync(t,{recursive:!0}),!0}catch{return false}},ze=t=>{try{return A.existsSync(t)||$t(t),!0}catch{return false}},Bo=A.rmSync;});var Ro,$e,Qe,wg,Cn,xg,Co,Ie,Xe,Fn,Ze,Fo,No,Nn,Dn,At,_g,Ae,j=c(()=>{Ro=fileURLToPath(import.meta.url),$e=Object.freeze(I.join(Ro,"../..").replace(/\\/g,"/")),Qe=Object.freeze(I.join(process.cwd(),"plugins")),wg=Object.freeze(Ro.includes("node_modules")),Cn=Object.freeze(I.join($e,"default","config")),xg=Object.freeze(I.join($e,"default","view")),Co=Object.freeze(I.join($e,"default","comment")),Ie=Object.freeze(I.join(process.cwd(),"@karinjs")),Xe=Object.freeze(I.join(Ie,"config")),Fn=Object.freeze(I.join(Ie,"data")),Ze=Object.freeze(I.join(Ie,"temp")),Fo=Object.freeze(I.join(Fn,"db")),No=Object.freeze(I.join(Fo,"level")),Nn=Object.freeze(I.join(Fo,"redis-level")),Dn=Object.freeze(I.join(process.cwd(),"logs")),At=Object.freeze(I.join(Ze,"html")),_g=Object.freeze(I.join(Xe,"pm2.yaml")),Ae=Object.freeze(I.join(Ze,"console"));});var $u,pe,ar,ur,cr,pr,jn,qn,Do,jo,et=c(()=>{j();$u=promisify(pipeline),pe=N.sep==="/"?/^file:\/\//:/^file:[/]{2,3}/,ar=async(t,e,r={})=>{try{await A.promises.mkdir(N.dirname(e),{recursive:!0});let n=await qo.get(t,{...r,responseType:"stream"});return await $u(n.data,A.createWriteStream(e)),!0}catch(n){return n instanceof AxiosError?logger.error(`\u4E0B\u8F7D\u6587\u4EF6\u9519\u8BEF\uFF1A${n.stack}`):logger.error(`\u4E0B\u8F7D\u6587\u4EF6\u9519\u8BEF\uFF1A${n}`),false}},ur=(t,e=true,r=false)=>(t=t.replace(/\\/g,"/"),t.startsWith("file://")&&(t=t.replace(pe,"")),t=N.normalize(t),e&&(t=N.resolve(t)),r&&(t="file://"+t),t.replace(/\\/g,"/")),cr=async(t,e)=>{if(Array.isArray(e)||(e=["config","data","resources"]),e.length===0)return;let r=N.join(Ie,t);A.existsSync(r)||await A.promises.mkdir(r,{recursive:true}),await Promise.all(e.map(n=>{let s=N.join(r,n);return A.existsSync(s)?Promise.resolve():A.promises.mkdir(s,{recursive:true})}));},pr=(t,e=[])=>{if(!A.existsSync(t))throw new Error(`\u8DEF\u5F84\u4E0D\u5B58\u5728: ${t}`);let r=A.readdirSync(t,{withFileTypes:true}).filter(n=>n.isFile()).map(n=>n.name);if(e.length){let n=e.map(s=>s.startsWith(".")?s:`.${s}`);r=r.filter(s=>{let o=N.extname(s);return o&&n.includes(o)});}return r},jn=(t,e,r)=>{t.forEach(n=>{let s=N.join(e,n),o=N.join(r,n);A.existsSync(o)||A.copyFileSync(s,o);});},qn=async(t,e,r)=>{await Promise.all(t.map(async n=>{let s=N.join(e,n),o=N.join(r,n);A.existsSync(o)||await A.promises.copyFile(s,o);}));},Do=(t,e,r=[],n=false)=>{try{let s=pr(t,r);return A.mkdirSync(e),A.mkdirSync(t),jn(s,t,e),!0}catch(s){if(n)throw s;return false}},jo=async(t,e,r=[],n=false)=>{try{let s=pr(t,r);return await Promise.all([A.promises.mkdir(e,{recursive:!0}),A.promises.mkdir(t,{recursive:!0})]),await qn(s,t,e),!0}catch(s){if(n)throw s;return false}};});var gr,tt,Oe,Ho,lr=c(()=>{et();gr=async(t,e={http:false})=>{if(typeof t!="string")return Buffer.isBuffer(t)?t.toString("base64"):t instanceof Uint8Array?Buffer.from(t).toString("base64"):t instanceof Readable?(await Oe(t)).toString("base64"):t;if(t.startsWith("base64://"))return t.replace("base64://","");if(t.startsWith("http")){if(e.http)return t;let n=await qo.get(t,{responseType:"stream"});return (await Oe(n.data)).toString("base64")}let r=t.replace(pe,"");return A.existsSync(r)?(await A.promises.readFile(r)).toString("base64"):Buffer.from(t,"base64").toString("base64")},tt=async(t,e)=>{if(typeof t!="string")return Buffer.isBuffer(t)?t:t instanceof Uint8Array?Buffer.from(t):t instanceof Readable?await Oe(t):t;if(t.startsWith("base64://"))return Buffer.from(t.replace("base64://",""),"base64");if(t.startsWith("http")){if(e!=null&&e.http)return t;let n=await qo.get(t,{responseType:"arraybuffer"});return Buffer.from(n.data)}let r=t.replace(pe,"");return A.existsSync(r)?A.readFileSync(r):Buffer.from(t)},Oe=t=>new Promise((e,r)=>{let n=[];t.on("data",s=>n.push(s)),t.on("end",()=>e(Buffer.concat(n))),t.on("error",s=>r(s));}),Ho=async t=>{try{return await A.promises.readFile(t)}catch(e){return logger.error(e),null}};});var Pt,Tt,Ln,Hn,Ko,Kn=c(()=>{Pt=(t,e=false)=>{try{let r=A.readFileSync(t,"utf8");return JSON.parse(r)}catch(r){if(e)throw r;return null}},Tt=(t,e,r=false)=>{try{return A.writeFileSync(t,JSON.stringify(e,null,2)),!0}catch(n){if(r)throw n;return false}},Ln=async(t,e=false)=>{try{let r=await A.promises.readFile(t,"utf8");return JSON.parse(r)}catch(r){if(e)throw r;return null}},Hn=async(t,e,r=false)=>{try{return await A.promises.writeFile(t,JSON.stringify(e,null,2)),!0}catch(n){if(r)throw n;return false}},Ko={readSync:Pt,writeSync:Tt,read:Ln,write:Hn};});var rt,mr,fr,hr,yr,St=c(()=>{et();rt=(t,e,r="name")=>{if(!A.existsSync(t)||!A.statSync(t).isDirectory())return [];let n=A.readdirSync(t,{withFileTypes:true}),s=[];return Array.isArray(e)||(e=[e]),n.forEach(o=>{if(!o.isDirectory()&&e.includes(N.extname(o.name)))if(r==="name")s.push(o.name);else if(r==="rel"){let i=N.resolve(t,o.name);s.push(N.relative(process.cwd(),i));}else r==="abs"&&s.push(N.resolve(t,o.name));}),s},mr=t=>{let e=N.dirname(t).replace(pe,""),r=N.basename(t);return {dirname:e,basename:r}},fr=t=>t.replace(/\\+/g,"/").replace(/\.+\/+|\/+$/g,""),hr=t=>{let e=fileURLToPath$1(t),n=N.relative(N.dirname(e),process.cwd()).split(N.sep).length;return Rt.repeat("../",n)},yr=(t,e,r=true)=>{r&&(t=N.resolve(t),e=N.resolve(e));let n=N.relative(t,e);return n&&!n.startsWith("..")&&!N.isAbsolute(n)};});var l,V=c(()=>{l={index:{},accept:[],command:[],task:[],button:[],handler:{},missing:new Map,watcher:new Map,count:{accept:0,command:0,task:0,button:0,handler:{key:0,fnc:0}},static:[]};});var z,ge,Yo,K,q,Jo,Vo,Pu,Wo,Pe=c(()=>{z=new Map,ge=t=>{let e=N.resolve(t).replace(/\\/g,"/");return z.has(e)&&z.delete(e)},Yo=()=>z.clear(),K=async(t,e={})=>{let r=Date.now(),n=N.resolve(t).replace(/\\/g,"/"),{encoding:s="utf-8",force:o=false,ex:i=300,size:a=0,parser:u}=e,p=Jo(n,r,o,i);if(p!==false)return p;let g=await A.promises.readFile(n,s);return Vo(g,n,i,r,a,s,u)},q=(t,e={})=>{let r=Date.now(),n=N.resolve(t).replace(/\\/g,"/"),{encoding:s="utf-8",force:o=false,ex:i=300,size:a=0,parser:u}=e,p=Jo(n,r,o,i);if(p!==false)return p;let g=A.readFileSync(n,s);return Vo(g,n,i,r,a,s,u)},Jo=(t,e,r,n)=>{if(!r){let s=z.get(t);if(s){if(s.expiry===0||s.expiry>e)return n<=0||Pu(t,n),s.data;z.delete(t);}}return false},Vo=(t,e,r,n,s,o,i)=>{if(s>0&&Buffer.byteLength(t,o)>s)return Wo(e,t,i);let a=Wo(e,t,i),u=r===0?0:n+r*1e3;return z.set(e,{data:a,expiry:u}),a},Pu=async(t,e)=>{let r=z.get(t);r&&(r.expiry=Date.now()+e*1e3,z.set(t,r));},Wo=(t,e,r)=>r?r(e):t.endsWith(".json")?JSON.parse(e):t.endsWith(".yaml")||t.endsWith(".yml")?C.parse(e):e;setInterval(()=>{let t=Date.now();for(let[e,r]of z.entries())r.expiry!==0&&r.expiry<=t&&z.delete(e);},6e4);});var br,Bt,wr,Yn=c(()=>{V();Pe();br=(t,e)=>{let r;import.meta.url?r=createRequire(e||import.meta.url).resolve(t):(Gt.resolve(t),r=Gt.resolve(t));try{if(existsSync(N.join(r,"package.json")))return N.resolve(r);for(;;){if(r=N.dirname(r),existsSync(N.join(r,"package.json")))return N.resolve(r);if(r===N.dirname(r))throw new Error(`[common] \u672A\u627E\u5230\u5305${t}\u7684\u6839\u76EE\u5F55`)}}finally{delete Gt.cache[Gt.resolve(t)];}},Bt=t=>{let r=Object.values(l.index).find(s=>s.name===t);return r?Object.assign(r,{get pkg(){return r.pkgPath?q(r.pkgPath):null}}):null},wr=t=>!!Bt(t);});var Qo,Xo=c(()=>{V();St();Qo=t=>{try{for(let e of l.static)if(yr(e,t))return !0;return !1}catch(e){return logger.error("isStatic",e),false}};});var ne,st,xr,_r,Jn,Ct,Zo,Er=c(()=>{ne=class{filePath;doc;document;constructor(e){this.filePath=e;let r=C.parseDocument(A.existsSync(e)?A.readFileSync(e,"utf8"):e);this.doc=r,this.document=r;}get(e){try{return e?Rt.get(this.document.toJSON(),e):this.document.toJSON()}catch(r){return logger.error(`[YamlEditor] \u83B7\u53D6\u6570\u636E\u65F6\u51FA\u9519\uFF1A${r}`),null}}set(e,r,n=true){try{let s=typeof e=="string"?n?e.split("."):[e]:e;return this.document.setIn(s,r),!0}catch(s){return logger.error(`[YamlEditor] \u8BBE\u7F6E\u6570\u636E\u65F6\u51FA\u9519\uFF1A${s}`),false}}add(e,r,n=true){try{let s=typeof e=="string"?n?e.split("."):[e]:e;return this.document.addIn(s,r),logger.debug(`[YamlEditor] \u5DF2\u5728 ${e} \u6DFB\u52A0\u65B0\u7684\u503C`),!0}catch(s){return logger.error(`[YamlEditor] \u6DFB\u52A0\u6570\u636E\u65F6\u51FA\u9519\uFF1A${s}`),false}}del(e,r=true){try{let n=typeof e=="string"?r?e.split("."):[e]:e;return this.document.deleteIn(n),!0}catch(n){return logger.error(`[YamlEditor] \u5220\u9664\u6570\u636E\u65F6\u51FA\u9519\uFF1A${n}`),false}}append(e,r,n=false,s=true){try{let o=typeof e=="string"?s?e.split("."):[e]:e,i=this.document.getIn(o);if(!i)i=new C.YAMLSeq,this.document.setIn(o,i);else if(i instanceof C.YAMLSeq)n?i.items.unshift(r):i.add(r);else return logger.error("[YamlEditor] \u6307\u5B9A\u7684\u8DEF\u5F84\u4E0D\u662F\u6570\u7EC4"),!1;return logger.debug(`[YamlEditor] \u5DF2\u5411 ${e} \u6570\u7EC4${n?"\u5F00\u5934":"\u672B\u5C3E"}\u6DFB\u52A0\u65B0\u5143\u7D20\uFF1A${r}`),!0}catch(o){return logger.error(`[YamlEditor] \u5411\u6570\u7EC4\u6DFB\u52A0\u5143\u7D20\u65F6\u51FA\u9519\uFF1A${o}`),false}}remove(e,r,n=true){try{let s=typeof e=="string"?n?e.split("."):[e]:e,o=this.document.getIn(s);if(!o)return logger.error("[YamlEditor] \u6307\u5B9A\u7684\u8DEF\u5F84\u4E0D\u5B58\u5728"),!1;if(!(o instanceof C.YAMLSeq))return logger.error("[YamlEditor] \u6307\u5B9A\u7684\u8DEF\u5F84\u4E0D\u662F\u6570\u7EC4"),!1;let i=o.items.findIndex(a=>Rt.isEqual(a.toJSON(),r));return i<0?(logger.error("[YamlEditor] \u672A\u627E\u5230\u8981\u5220\u9664\u7684\u503C"),!1):(o.items.splice(i,1),logger.debug(`[YamlEditor] \u5DF2\u4ECE ${e} \u6570\u7EC4\u5220\u9664\u5143\u7D20\uFF1A${r}`),!0)}catch(s){return logger.error(`[YamlEditor] \u4ECE\u6570\u7EC4\u5220\u9664\u5143\u7D20\u65F6\u51FA\u9519\uFF1A${s}`),false}}has(e,r=true){try{let n=typeof e=="string"?r?e.split("."):[e]:e;return this.document.hasIn(n)}catch(n){return logger.error(`[YamlEditor] \u68C0\u67E5\u8DEF\u5F84\u662F\u5426\u5B58\u5728\u65F6\u51FA\u9519\uFF1A${n}`),false}}hasval(e,r,n=true){try{let s=typeof e=="string"?n?e.split("."):[e]:e,o=this.document.getIn(s);return o?o instanceof C.YAMLSeq?o.items.some(i=>Rt.isEqual(i.toJSON(),r)):o instanceof C.YAMLMap?Array.from(o.values()).some(i=>Rt.isEqual(i.toJSON(),r)):Rt.isEqual(o,r):!1}catch(s){return logger.error(`[YamlEditor] \u68C0\u67E5\u8DEF\u5F84 ${e} \u662F\u5426\u5305\u542B\u503C\u65F6\u51FA\u9519\uFF1A${s}`),false}}hasVal(e,r){return this.hasval(e,r)}pusharr(e){try{return this.document.contents instanceof C.YAMLSeq||(this.document.contents=new C.YAMLSeq,logger.debug("[YamlEditor] \u6839\u8282\u70B9\u5DF2\u8F6C\u6362\u4E3A\u6570\u7EC4")),this.document.contents.add(e),logger.debug("[YamlEditor] \u5DF2\u5411\u6839\u8282\u70B9\u6570\u7EC4\u65B0\u589E\u5143\u7D20\uFF1A",e),!0}catch(r){return logger.error(`[YamlEditor] \u5411\u6839\u8282\u70B9\u6570\u7EC4\u65B0\u589E\u5143\u7D20\u65F6\u51FA\u9519\uFF1A${r}`),false}}delarr(e){try{if(!(this.document.contents instanceof C.YAMLSeq))throw new Error("[YamlEditor] \u6839\u8282\u70B9\u4E0D\u662F\u6570\u7EC4");if(e<0||e>=this.document.contents.items.length)throw new Error("[YamlEditor] \u7D22\u5F15\u8D85\u51FA\u8303\u56F4");return this.document.contents.items.splice(e,1),logger.debug("[YamlEditor] \u5DF2\u6839\u636E\u7D22\u5F15\u4ECE\u6839\u8282\u70B9\u6570\u7EC4\u5220\u9664\u5143\u7D20\uFF0C\u7D22\u5F15\uFF1A",e),!0}catch(r){return logger.error(`[YamlEditor] \u6839\u636E\u7D22\u5F15\u5220\u9664\u6839\u8282\u70B9\u6570\u7EC4\u5143\u7D20\u65F6\u51FA\u9519\uFF1A${r}`),false}}getpair(e,r=true){if(!e)throw new Error("path is required");let n=typeof e=="string"?r?e.split("."):[e]:e,s=this.document.contents;return n.forEach(o=>{isMap(s)?s=s.items.find(i=>i.key.value===o):isSeq(s)?s=s.items.find(i=>i.value===o):isPair(s)&&(s=s.value.items.find(i=>i.key.value===o));}),s}comment(e,r,n=true,s=true){if(!e)throw new Error("[YamlEditor] path \u4E0D\u80FD\u4E3A\u7A7A");let o=this.getpair(e,s);if(!o)throw new Error(`[YamlEditor] \u672A\u627E\u5230\u8282\u70B9 ${e}`);r=` ${r}`,n?o.key.commentBefore=r:o.key.comment=r;}uncomment(e,r="all",n=true){if(!e)throw new Error("[YamlEditor] path \u4E0D\u80FD\u4E3A\u7A7A");let s=this.getpair(e,n);if(!s)throw new Error(`[YamlEditor] \u672A\u627E\u5230\u8282\u70B9 ${e}`);r==="all"?(delete s.key.comment,delete s.key.commentBefore):r==="before"?delete s.key.commentBefore:r==="after"&&delete s.key.comment;}hascomment(e,r,n=true){if(!e)throw new Error("[YamlEditor] path \u4E0D\u80FD\u4E3A\u7A7A");let s=this.getpair(e,n);if(!s)throw new Error(`[YamlEditor] \u672A\u627E\u5230\u8282\u70B9 ${e}`);return r==="before"?!!s.key.commentBefore:r==="after"?!!s.key.comment:false}getcomment(e,r=true){if(!e)throw new Error("[YamlEditor] path \u4E0D\u80FD\u4E3A\u7A7A");let n=this.getpair(e,r);if(!n)throw new Error(`[YamlEditor] \u672A\u627E\u5230\u8282\u70B9 ${e}`);return n.key.commentBefore||n.key.comment}save(){A.writeFileSync(this.filePath,this.document.toString()),logger.debug("[YamlEditor] \u6587\u4EF6\u5DF2\u4FDD\u5B58");}},st=t=>{let e=C.parse(A.readFileSync(t,"utf-8"));return st.save=r=>{try{return _r(t,e,typeof r=="string"?JSON.parse(r):r),!0}catch(n){return logger.error("[YamlEditor] \u4FDD\u5B58\u6587\u4EF6\u65F6\u51FA\u9519"),logger.error(n),false}},e},xr=(t,e)=>{try{return A.writeFileSync(t,C.stringify(e)),!0}catch{return false}},_r=(t,e,r)=>{if(!r){A.writeFileSync(t,C.stringify(e));return}let n=new ne(C.stringify(e)),s=typeof r=="string"?JSON.parse(A.readFileSync(r,"utf8")):r;Ct(n,s),A.writeFileSync(t,n.document.toString());},Jn=(t,e)=>{let r=new ne(t),n=typeof e=="string"?JSON.parse(A.readFileSync(e,"utf8")):e;Ct(r,n),r.save();},Ct=(t,e)=>{for(let r of Object.keys(e))try{let n=e[r],s=typeof n=="string"?n:n.comment,o=typeof n=="string"?!0:typeof n=="object"&&n.type==="top";t.comment(r,s,o);}catch(n){logger.error(`[YamlEditor] \u6DFB\u52A0\u6CE8\u91CA\u65F6\u51FA\u9519\uFF0C\u5DF2\u8DF3\u8FC7\uFF1A${n.stack||n.message||n}`);}},Zo=Object.assign(C,{read:st,save:_r,comment:Jn,applyComments:Ct});});var vr,Vn,ti,Ft,Nt,ri=c(()=>{Pe();vr=new Map,Vn=(t,e)=>{let r=vr.get(t);r&&(r.close(),vr.delete(t));let n=Cu.watch(t);return vr.set(t,n),n.on("change",async()=>{logger.info(`[\u914D\u7F6E\u6587\u4EF6\u53D8\u52A8] ${N.relative(process.cwd(),t).replace(/\\/g,"/")}`);let s=q(t);ge(t);let o=q(t);typeof e=="function"&&e(s,o);}),n.on("unlink",()=>{logger.info(`[\u914D\u7F6E\u6587\u4EF6\u5220\u9664] ${N.relative(process.cwd(),t).replace(/\\/g,"/")}`),ge(t);}),n.once("close",()=>{n.removeAllListeners(),vr.delete(t),ge(t);}),new Ft(t,n)},ti=(t,e,r)=>{let n=Vn(t,r);return new Nt(t,e,n.watcher)},Ft=class{watcher;file;constructor(e,r){this.watcher=r,this.file=e;}get value(){return q(this.file)}close(){return ge(this.file),this.watcher.close()}},Nt=class{watcher;dynamicFile;defaultCFile;constructor(e,r,n){this.watcher=n,this.dynamicFile=e,this.defaultCFile=r;}get value(){let e=q(this.dynamicFile),r=q(this.defaultCFile);return typeof r=="object"&&typeof e=="object"?{...r,...e}:Array.isArray(r)&&Array.isArray(e)?[...r,...e]:e}close(){return ge(this.defaultCFile),this.watcher.close()}};});var zn,Qn,Nu,Dt,jt,kr=c(()=>{zn=new Map,Qn=(t,e,r=`\u65B9\u6CD5 ${String(e)} \u5DF2\u88AB\u9501\u5B9A`)=>{if(typeof t[e]!="function")throw new Error(`\u5C5E\u6027 ${String(e)} \u4E0D\u662F\u4E00\u4E2A\u51FD\u6570`);let n=randomUUID();return zn.set(n,{key:String(e),fnc:t[e]}),Object.defineProperty(t,e,{enumerable:true,configurable:true,value:()=>{throw Error(r)}}),()=>Nu(t,n)},Nu=(t,e)=>{let r=zn.get(e);if(!r)return {status:false,msg:`\u672A\u627E\u5230\u88AB\u9501\u5B9A\u7684\u65B9\u6CD5 ${String(e)}`};let{key:n,fnc:s}=r;return typeof s!="function"?{status:false,msg:`\u5C5E\u6027 ${String(n)} \u4E0D\u662F\u4E00\u4E2A\u51FD\u6570`}:(Object.defineProperty(t,n,{enumerable:true,configurable:true,value:s.bind(t)}),zn.delete(e),{status:true,msg:`\u89E3\u9501\u65B9\u6CD5 ${String(n)} \u6210\u529F`})},Dt=(t,e)=>{let r=Object.getOwnPropertyDescriptor(t,e);if(r)Object.defineProperty(t,e,{enumerable:true,configurable:false,writable:false,value:r.value});else throw new Error(`Property ${String(e)} does not exist on the object`)},jt={prop:Dt,method:Qn};});var ni={};R(ni,{log:()=>Xn,logs:()=>Zn,parseChangelog:()=>qt,range:()=>es});var Xn,Zn,es,qt,Gr=c(()=>{Xn=(t,e)=>{let r=new RegExp(`## \\[${t}\\](.|\\n)*?(?=## \\[|$)`,"g"),n=e.match(r);return n?n[0]:null},Zn=(t,e,r=1,n=false)=>{if(typeof r!="number")throw new TypeError("\u63D0\u53D6\u957F\u5EA6\u5FC5\u987B\u4E3A\u6570\u5B57");let s=qt(e),o=Object.keys(s),i=o.indexOf(t),a=n?i-r:i,u=n?i:i+r;return o.slice(a,u).map(g=>s[g]?s[g]:"").join("")},es=(t,e,r)=>{let n=qt(t),s=Object.keys(n),o=s.indexOf(e),i=s.indexOf(r);return o>i?s.slice(i,o).map(p=>n[p]?n[p]:"").join(""):s.slice(o,i).map(u=>n[u]?n[u]:"").join("")},qt=t=>{let e=/## \[(.*?)\]([\s\S]*?)(?=## \[|$)/g,r={};for(let n of t.matchAll(e)){let s=n[1],o=n[0];r[s]=o;}return r};});var Mr={};R(Mr,{EVENT_COUNT:()=>Du,RECV_MSG:()=>ts,SEND_MSG:()=>rs});var ts,rs,Du,$r=c(()=>{ts="karin:count:recv",rs="karin:count:send",Du="karin:count:fnc";});var O={};R(O,{Watch:()=>Ft,Watcher:()=>Nt,YamlEditor:()=>ne,absPath:()=>ur,applyComments:()=>Ct,base64:()=>gr,buffer:()=>tt,clearRequire:()=>Yo,clearRequireFile:()=>ge,comment:()=>Jn,copyConfig:()=>jo,copyConfigSync:()=>Do,copyFiles:()=>qn,copyFilesSync:()=>jn,createPluginDir:()=>cr,downFile:()=>ar,existToMkdir:()=>ir,existToMkdirSync:()=>ze,exists:()=>Sn,existsSync:()=>Po,filesByExt:()=>rt,getFiles:()=>pr,getPluginInfo:()=>Bt,getRelPath:()=>fr,isDir:()=>or,isDirSync:()=>To,isFile:()=>Oo,isFileSync:()=>So,isPlugin:()=>wr,isStatic:()=>Qo,isSubPath:()=>yr,json:()=>Ko,key:()=>Mr,lock:()=>jt,lockMethod:()=>Qn,lockProp:()=>Dt,log:()=>Xn,logs:()=>Zn,mkdir:()=>Bn,mkdirSync:()=>$t,parseChangelog:()=>qt,pkgRoot:()=>br,range:()=>es,read:()=>st,readFile:()=>Ho,readJson:()=>Ln,readJsonSync:()=>Pt,requireFile:()=>K,requireFileSync:()=>q,rmSync:()=>Bo,save:()=>_r,sep:()=>pe,splitPath:()=>mr,stream:()=>Oe,urlToPath:()=>hr,watch:()=>Vn,watchAndMerge:()=>ti,write:()=>xr,writeJson:()=>Hn,writeJsonSync:()=>Tt,yaml:()=>Zo});var Ir=c(()=>{Rn();It();lr();et();Kn();St();Yn();Pe();Xo();Er();ri();kr();Gr();$r();});var si=c(()=>{Ir();});var oi,Te,ii,ai,ui,ot=c(()=>{oi=()=>process.platform==="win32",Te=()=>process.env.runtime==="tsx",ii=(t,e)=>{process.env[t]=e+"";},ai=t=>ii("karin_port",t),ui=t=>ii("karin_version",t);});var h,gi,se,ci,li,di,pi,mi,fi,hi=c(()=>{h={file:{},watcher:new Map,groupGuild:{},friendDirect:{},friendCfgDef:{cd:0,mode:0,alias:[],enable:[],disable:[],get key(){return "default"}},groupCfgDef:{cd:0,userCD:0,mode:0,alias:[],enable:[],disable:[],memberDisable:[],memberEnable:[],get key(){return "default"}}},gi=(t,e,r)=>{var s;let n;r?n=[`Bot:${r}:${t}:${e}`,`Bot:${r}:${t}`,`Bot:${r}`,t,"default"]:n=r?[`Bot:${r}:${t}`,`Bot:${r}`,t,"default"]:[t,"default"];for(let o of n)if((s=h==null?undefined:h.groupGuild)!=null&&s[o])return h.groupGuild[o].count++,{ok:true,config:h.groupGuild[o].config};return {ok:false,keys:n}},se=t=>{try{return t.map(e=>String(e))||[]}catch{return []}},ci=t=>(t.alias=se(t.alias),t.memberEnable=se(t.memberEnable),t.memberDisable=se(t.memberDisable),t),li=(t,e)=>{Object.defineProperty(t,"key",{get(){return e},enumerable:false,configurable:false});},di=(t,e)=>{var n;for(let s of t)if((n=h==null?undefined:h.groupGuild)!=null&&n[s]){if(!e[s])continue;let o=ci(e[s]);return li(o,s),h.groupGuild[s]={start:0,count:1,config:o},o}let r=ci(e.default||h.groupCfgDef);return h.groupGuild.default={start:0,count:1,config:r},r},pi=t=>(t.alias=se(t.alias),t),mi=(t,e)=>{let r;e?r=[`Bot:${e}:${t}`,`Bot:${e}`,t,"default"]:r=[t,"default"];for(let n of r)if(h.friendDirect[n])return h.friendDirect[n].count++,{ok:true,config:h.friendDirect[n].config};return {ok:false,keys:r}},fi=(t,e)=>{for(let n of t)if(h.friendDirect[n]){if(!e[n])continue;let s=pi(e[n]);return li(s,n),h.friendDirect[n]={start:0,count:1,config:s},s}let r=pi(e.default||h.friendCfgDef);return h.friendDirect.default={start:0,count:1,config:r},r};setInterval(()=>{for(let t in h.groupGuild)h.groupGuild[t].count-h.groupGuild[t].start<10?delete h.groupGuild[t]:h.groupGuild[t].start=h.groupGuild[t].count;for(let t in h.friendDirect)h.friendDirect[t].count-h.friendDirect[t].start<10?delete h.friendDirect[t]:h.friendDirect[t].start=h.friendDirect[t].count;},6e4);});var ns,m,Se=c(()=>{ns=class extends EventEmitter{on(e,r){return super.on(e,r)}once(e,r){return super.once(e,r)}off(e,r){return super.off(e,r)}emit(e,...r){return super.emit(e,...r)}listeners(e){return super.listeners(e)}removeAllListeners(e){return super.removeAllListeners(e),this}setMaxListeners(e){return super.setMaxListeners(e),this}getMaxListeners(){return super.getMaxListeners()}addListener(e,r){return super.addListener(e,r)}listenerCount(e){return super.listenerCount(e)}eventNames(){return super.eventNames()}rawListeners(e){return super.rawListeners(e)}prependListener(e,r){return super.prependListener(e,r)}prependOnceListener(e,r){return super.prependOnceListener(e,r)}removeListener(e,r){return super.removeListener(e,r)}},m=new ns;});var it,qu,Lu,Hu,Lt,ss=c(()=>{Se();it=new Map,qu=(t,e,r)=>{var s;let n=(s=/Cannot find package '(.+?)'/.exec(r))==null?undefined:s[1];if(n){let o=`${t}.${n}`;if(!it.has(o))return;it.set(o,{name:t,file:e,depend:n});}else logger.error(`\u8F7D\u5165\u63D2\u4EF6\u9519\u8BEF\uFF1A${logger.red(`${t}/${N.basename(e)}`)}`),m.emit("error",r);},Lu=(t,e,r)=>{logger.error(`[\u5B9A\u65F6\u4EFB\u52A1][${t}][${e}] \u6267\u884C\u9519\u8BEF`),m.emit("error",r);},Hu=()=>{try{if(!it.size)return;let t=[`
|
|
2
|
+
-----\u4F9D\u8D56\u7F3A\u5931----`];for(let[,{name:r,file:n,depend:s}]of it)t.push(`[${r}][${N.basename(n)}] \u7F3A\u5C11\u4F9D\u8D56\uFF1A${logger.red(s)}`);t.push("-------------------");let e=it.values().next().value;t.push("\u6E29\u99A8\u63D0\u793A:",`1. \u5982\u679C\u662F\u65B0\u5B89\u88C5\u7684\u63D2\u4EF6\uFF0C\u8BF7\u5C1D\u8BD5\u6267\u884C ${logger.red("pnpm install -P")} \u81EA\u52A8\u5B89\u88C5\u4F9D\u8D56`,`2. \u5982\u679C\u6267\u884C\u7B2C\u4E00\u6B65\u65E0\u6548\uFF0C\u8BF7\u5C1D\u8BD5\u6267\u884C ${logger.red("pnpm imstall \u4F9D\u8D56\u540D\u79F0 -w")} \u624B\u52A8\u5B89\u88C5\u4F9D\u8D56`,`\u4E3E\u4F8B: ${logger.red(`pnpm add ${e.depend} -w`)}`,logger.yellow("\u5BF9\u4E8E\u624B\u52A8\u5B89\u88C5\u7684\u4F9D\u8D56\uFF0C\u5982\u679C\u5BF9\u5E94\u63D2\u4EF6\u672A\u5728\u4F7F\u7528\uFF0C\u8BF7\u8FDB\u884C\u53CA\u65F6\u5378\u8F7D: pnpm rm \u4F9D\u8D56\u540D\u79F0")),t.push("-------------------"),logger.error(t.join(`
|
|
3
|
+
`));}finally{it.clear();}},Lt={loaderPlugin:qu,taskStart:Lu,printMissing:Hu};});var os,Ku,is=c(()=>{os=t=>{let{name:e,message:r,stack:n}=t||{};return {name:e,message:r,stack:n}},Ku=t=>{var e;return t?[`name: ${t.name}`,`message: ${t.message}`,`stack: ${(e=t.stack)==null?undefined:e.toString()}`].join(`
|
|
4
|
+
`):""};});var x,le=c(()=>{is();x=(t,e)=>{let r=(global==null?undefined:global.logger)||console;return new Promise(n=>{e!=null&&e.log&&r.info(["[exec] \u6267\u884C\u547D\u4EE4:",`pwd: ${(e==null?undefined:e.cwd)||process.cwd()}`,`cmd: ${t}`,`options: ${JSON.stringify(e)}`].join(`
|
|
5
|
+
`)),exec(t,e,(s,o,i)=>{if(e!=null&&e.log){let u=os(s);u.message&&(u.message=`\x1B[91m${u.message}\x1B[0m`),r.info(["[exec] \u6267\u884C\u7ED3\u679C:",`stderr: ${i.toString()}`,`stdout: ${o.toString()}`,`error: ${JSON.stringify(u,null,2)}`].join(`
|
|
6
|
+
`));}if(e!=null&&e.booleanResult)return n(!s);let a={status:!s,error:s,stdout:o.toString().trim(),stderr:i.toString().trim()};n(a);});})};});var Or,Yu,Ju,Vu,zu,as=c(()=>{Or=Ar.platform()==="win32",Yu=Ar.platform()==="linux",Ju=Ar.platform()==="darwin",Vu=A.existsSync("/.dockerenv"),zu=Ar.userInfo().uid===0;});var us,cs=c(()=>{le();as();us=async t=>{let e=Or?`netstat -ano | findstr :${t}`:`lsof -i:${t} | grep LISTEN | awk '{print $2}'`,{stdout:r}=await x(e);if(Or){let n=r.toString().split(/\s+/).filter(Boolean).pop();return Number(n)}return Number(r)};});var ps,gs,ls,ds,ms,Qu,fs=c(()=>{le();ps="ffmpeg",gs="ffprobe",ls="ffplay";setTimeout(async()=>{if(!await x("ffmpeg -version",{booleanResult:true})){let{config:e}=await Promise.resolve().then(()=>(v(),Q)),r=e();ps=r.ffmpegPath?`"${r.ffmpegPath}"`:ps,gs=r.ffprobePath?`"${r.ffprobePath}"`:gs,ls=r.ffplayPath?`"${r.ffplayPath}"`:ls;}},1e3);ds=async(t,e)=>(t=t.replace(/^ffmpeg/,"").trim(),t=`${ps} ${t}`,await x(t,e)),ms=async(t,e)=>(t=t.replace(/^ffprobe/,"").trim(),t=`${gs} ${t}`,await x(t,e)),Qu=async(t,e)=>(t=t.replace(/^ffplay/,"").trim(),t=`${ls} ${t}`,await x(t,e));});var Xu,hs,ys=c(()=>{Xu=()=>{let t=process.uptime(),e=Math.floor(t/86400),r=Math.floor(t%86400/3600),n=Math.floor(t%3600/60),s=Math.floor(t%60);return [e?`${e}\u5929`:"",r?`${r}\u5C0F\u65F6`:"",n?`${n}\u5206\u949F`:"",!e&&s?`${s}\u79D2`:""].filter(Boolean).join("")},hs=(t,e=Date.now())=>{e=e||Date.now(),t=t.toString().length===10?t*1e3:t,t=Math.floor((e-t)/1e3),e=e.toString().length===10?e*1e3:e,e=Math.floor((e-t)/1e3);let r=Math.floor(t/86400),n=Math.floor(t%86400/3600),s=Math.floor(t%3600/60),o=Math.floor(t%60);return `${r}\u5929${n}\u5C0F\u65F6${s}\u5206\u949F${o}\u79D2`.replace(/0[天时分秒]/g,"")};});var P,oe,Zu,Ht,ec,tc,rc,nc,bi,wi,xi,Pr=c(()=>{ot();St();j();Pe();P={list:undefined,info:undefined},oe=async(t,e)=>{var i;if((i=P==null?undefined:P.list)!=null&&i[t])return P.list[t];if(P.list||(P.list={}),P.info||(P.info={}),!["npm","all","git","app"].includes(t))return [];let r=[],n=t==="npm"?[]:await A.promises.readdir(Qe,{withFileTypes:true});if(await{app:()=>bi(n,r),git:()=>wi(n,r),npm:()=>xi(r),all:async()=>{await Promise.all([bi(n,r),wi(n,r),xi(r)]);}}[t](),P.list[t]=r,setTimeout(()=>{var a;return (a=P==null?undefined:P.list)==null?true:delete a[t]},60*1e3),!e)return r;let o=await Zu(r);return P.info[t]=o,setTimeout(()=>{var a;return (a=P==null?undefined:P.info)==null?true:delete a[t]},60*1e3),o},Zu=async t=>{let e=[],r=Te()?[".ts",".js"]:[".js"];return await Promise.allSettled(t.map(async n=>{let[s,o]=n.split(":");if(s==="app"){let i=N.join(Qe,o);await ec(e,i,o,r);return}if(s==="git"||s==="root"){let i=N.join(Qe,o);await tc(e,i,o,r);return}if(s==="npm"){let i=N.join(process.cwd(),"node_modules",o);await rc(e,i,o);}})),e},Ht=(t,e,r,n,s)=>({type:t,name:e,apps:n,allApps:s,dir:r,id:-1,get pkgPath(){let o=N.join(this.dir,"package.json");return A.existsSync(o)?o:""},get pkgData(){return this.pkgPath?q(this.pkgPath):{}}}),ec=async(t,e,r,n)=>{let s=rt(e,n,"abs");t.push(Ht("app",r,e,s,[e]));},tc=async(t,e,r,n)=>{let s=await K(N.join(e,"package.json"));if(!s||!s.karin){t.push(Ht("git",r,e,[],[]));return}let o=[],i=[],a=[],u=p=>{typeof p=="string"?i.push(p):Array.isArray(p)&&i.push(...p);};Te()&&s.karin["ts-apps"]?u(s.karin["ts-apps"]):s.karin.apps&&u(s.karin.apps),await Promise.allSettled(i.map(async p=>{let g=N.join(e,p);A.existsSync(g)&&(o.push(...rt(g,n,"abs")),a.push(g));})),t.push(Ht("git",r,e,o,a));},rc=async(t,e,r)=>{var u,p;let n=".js",s=[],o=[],i=await K(N.join(e,"package.json"));if(!((p=(u=i.karin)==null?undefined:u.apps)!=null&&p.length)){t.push(Ht("npm",r,e,[],[]));return}let a=[];typeof i.karin.apps=="string"?a.push(i.karin.apps):Array.isArray(i.karin.apps)&&a.push(...i.karin.apps),await Promise.allSettled(a.map(async g=>{let d=N.join(e,g);A.existsSync(d)&&(s.push(...rt(d,n,"abs")),o.push(d));})),t.push(Ht("npm",r,e,s,o));},nc=async t=>{try{let e=N.join(process.cwd(),"node_modules",t,"package.json");return !!(await K(e)).karin}catch{return false}},bi=async(t,e)=>{await Promise.all(t.map(async n=>{n.isDirectory()&&n.name.startsWith("karin-plugin-")&&(A.existsSync(`${Qe}/${n.name}/package.json`)||e.push(`app:${n.name}`));}));let r=await K("./package.json");r.name&&r.karin&&e.push(`root:${r.name}`);},wi=async(t,e)=>{await Promise.all(t.map(async r=>{r.isDirectory()&&r.name.startsWith("karin-plugin-")&&A.existsSync(N.join(Qe,r.name,"package.json"))&&e.push(`git:${r.name}`);}));},xi=async t=>{let e=await K(N.join($e,"package.json")),r=[...Object.keys(e.dependencies),...Object.keys(e.devDependencies)],n=await K("./package.json"),s=Object.keys(n.dependencies||{}).filter(o=>!r.includes(o)&&!o.startsWith("@types"));await Promise.all(s.map(async o=>{await nc(o)&&t.push(`npm:${o}`);}));};});var bs,_i,ws=c(()=>{bs=t=>{let e=0,r=[],n=[];t.type==="button"?n.push(t.data):n.push(...t.rows);for(let s of n){let o=[];for(let i of s){let a=i.link?0:i.callback?1:i.type??2,u={id:String(e),render_data:{label:i.text||i.link||"",style:i.style??0,visited_label:i.show||i.text||i.link||""},action:{type:a,data:i.data||i.link||i.text,unsupport_tips:i.tips||".",permission:{type:2}}};i.enter&&(u.action.enter=true),i.reply&&(u.action.reply=true),i.admin&&(u.action.permission.type=1),i.list?(u.action.permission.type=0,u.action.permission.specify_user_ids=i.list):i.role&&(u.action.permission.type=3,u.action.permission.specify_role_ids=i.role),o.push(u),e++;}r.push({buttons:o});}return r},_i=t=>{let e=[],r=(n,s)=>{s.action.permission.type===1?n.admin=true:s.action.permission.type===0?n.list=s.action.permission.specify_user_ids||[]:s.action.permission.type===3&&(n.role=s.action.permission.specify_role_ids||[]);let o=Object.entries(n).map(([i,a])=>`${i}:${Array.isArray(a)?a.toString():a}`).join(",");e.push(`[button:${o}]`);};for(let n of t)for(let s of n.buttons){if(s.action.type===0){let i={link:s.action.data,text:s.render_data.label,show:s.render_data.visited_label,style:s.render_data.style,tips:s.action.unsupport_tips};r(i,s);continue}if(s.action.type===1){let i={text:s.render_data.label,show:s.render_data.visited_label,style:s.render_data.style,tips:s.action.unsupport_tips,callback:true};r(i,s);continue}let o={text:s.render_data.label,show:s.render_data.visited_label,style:s.render_data.style,tips:s.action.unsupport_tips};s.action.enter&&(o.enter=true),s.action.reply&&(o.reply=true),r(o,s);}return e.join("")};});var _={};R(_,{at:()=>sc,basketball:()=>wc,bubbleFace:()=>Ec,button:()=>hc,contact:()=>Ic,customMusic:()=>Oc,dice:()=>xc,face:()=>oc,gift:()=>Mc,image:()=>ac,json:()=>pc,keyboard:()=>fc,location:()=>kc,longMsg:()=>yc,markdown:()=>lc,markdownTpl:()=>dc,marketFace:()=>$c,music:()=>Ac,node:()=>xs,nodeDirect:()=>Pc,pasmsg:()=>mc,raw:()=>bc,record:()=>cc,reply:()=>ic,rps:()=>_c,share:()=>Gc,text:()=>Tr,video:()=>uc,weather:()=>vc,xml:()=>gc});var Tr,sc,oc,ic,ac,uc,cc,pc,gc,lc,dc,mc,fc,hc,yc,bc,wc,xc,_c,Ec,vc,kc,Gc,Mc,$c,Ic,Ac,Oc,xs,Pc,_s=c(()=>{Tr=t=>({type:"text",text:t}),sc=(t,e)=>({type:"at",targetId:t,name:e}),oc=(t,e)=>({type:"face",id:Number(t),isBig:e}),ic=t=>({type:"reply",messageId:String(t)}),ac=(t,e={})=>({type:"image",file:t,fileType:e.fileType,height:e==null?undefined:e.height,width:e==null?undefined:e.width,md5:e==null?undefined:e.md5,name:e==null?undefined:e.name,subType:e==null?undefined:e.subType}),uc=(t,e)=>({type:"video",file:t,height:e==null?undefined:e.height,width:e==null?undefined:e.width,md5:e==null?undefined:e.md5,name:e==null?undefined:e.name}),cc=(t,e=false,r)=>({type:"record",file:t,magic:e,md5:r==null?undefined:r.md5,name:r==null?undefined:r.name}),pc=t=>({type:"json",data:t}),gc=t=>({type:"xml",data:t}),lc=(t,e)=>({type:"markdown",markdown:t,config:e}),dc=(t,e)=>({type:"markdownTpl",templateId:t,params:e}),mc=(t,e="msg")=>({type:"pasmsg",id:t,source:e}),fc=t=>{let e=[];Array.isArray(t)||(t=[t]);for(let r of t)if(Array.isArray(r)){let n=[];for(let s of r)n.push(s);e.push(n);}else e.push([r]);return {type:"keyboard",rows:e}},hc=t=>({type:"button",data:Array.isArray(t)?t:[t]}),yc=t=>({type:"longMsg",id:t}),bc=t=>({type:"raw",data:t}),wc=t=>({type:"basketball",id:Number(t)}),xc=t=>({type:"dice",id:Number(t)}),_c=t=>({type:"rps",id:Number(t)}),Ec=(t,e)=>({type:"bubbleFace",id:Number(t),count:Number(e)}),vc=(t,e)=>({type:"weather",city:t,code:e}),kc=(t,e,r,n)=>({type:"location",lat:t,lon:e,title:r,address:n}),Gc=(t,e,r,n)=>({type:"share",url:t,title:e,content:r,image:n}),Mc=(t,e)=>({type:"gift",qq:t,id:e}),$c=t=>({type:"marketFace",id:t}),Ic=(t,e)=>({type:"contact",scene:t,peer:e}),Ac=(t,e)=>({type:"music",platform:t,id:e}),Oc=(t,e,r,n,s)=>({type:"music",platform:"custom",url:t,audio:e,title:r,author:n,pic:s}),xs=(t,e,r,n)=>({type:"node",subType:"fake",userId:t,nickname:e,message:r,options:n}),Pc=t=>({type:"node",subType:"messageID",messageId:t,message_id:t});});var ie,Be,Ei,Es=c(()=>{_s();ie=t=>{Array.isArray(t)||(t=[t]);let e=[];return {raw:t.map(n=>{switch(n.type){case "text":return e.push(n.text),n.text;case "image":case "video":case "record":return Buffer.isBuffer(n.file)?`[${n.type}:Buffer://...]`:/^http|^file/.test(n.file)?`[${n.type}:${n.file}]`:`[${n.type}:base64://...]`;case "json":case "xml":return e.push(n.data),`[${n.type}:${n.data}]`;case "at":return `[at:${n.targetId}]`;case "face":return `[face:${n.id}]`;case "reply":return `[reply:${n.messageId}]`;case "rps":return `[rps:${n.id}]`;case "dice":return `[dice:${n.id}]`;case "share":return `[share:${JSON.stringify(n)}]`;case "contact":return `[contact:${JSON.stringify(n)}]`;case "location":return `[location:${JSON.stringify(n)}]`;case "music":return `[music:${JSON.stringify(n)}]`;case "markdown":return `[markdown:${n.markdown}]`;case "button":return `[button:${JSON.stringify(n.data)}]`;case "keyboard":return `[rows:${JSON.stringify(n.rows)}]`;case "longMsg":return `[longmsg:${n.id}]`;case "pasmsg":return `[pasmsg:${n.id}]`;case "markdownTpl":return `[markdowntpl:${JSON.stringify({templateId:n.templateId,...n.params})}]`;default:return `[\u672A\u77E5:${Rt.truncate(JSON.stringify(n),{length:200})}]`}}).join(""),msg:e.join("").trim()}},Be=t=>typeof t=="string"?[Tr(t)]:Array.isArray(t)?t.map(e=>typeof e=="string"?Tr(e):e):[t],Ei=(t,e,r)=>(Array.isArray(t)||(t=[t]),t.map(n=>xs(e||"",r||"",Be(n))));});var Gi={};R(Gi,{absPath:()=>ur,axios:()=>Kt,base64:()=>gr,buffer:()=>tt,buttonToQQBot:()=>bs,createRawMessage:()=>ie,downFile:()=>ar,exists:()=>ir,formatTime:()=>Bc,getAbsPath:()=>vi,getGitPlugins:()=>Nc,getNpmPlugins:()=>Cc,getPlugins:()=>Fc,getRelPath:()=>fr,isDir:()=>or,isPlugin:()=>wr,karinToQQBot:()=>bs,makeForward:()=>Ei,makeMessage:()=>Be,makeMessageLog:()=>ie,mergeImage:()=>Dc,mkdir:()=>$t,pkgJson:()=>Bt,pkgroot:()=>br,qqbotToKarin:()=>_i,readJson:()=>Pt,readYaml:()=>st,sleep:()=>vs,splitPath:()=>mr,stream:()=>Oe,updateYaml:()=>Rc,uptime:()=>ks,urlToPath:()=>hr,writeJson:()=>Tt,writeYaml:()=>xr});var vs,Kt,ks,Bc,Rc,Cc,Fc,Nc,Dc,vi,ki,jc,qc,pt=c(()=>{j();Er();fs();ys();Pr();Rn();et();It();lr();St();Er();Kn();Yn();ws();Es();vs=t=>new Promise(e=>setTimeout(e,t)),Kt=async(t,e,r)=>{try{let n=typeof t=="string"?{...r,url:t,method:e}:t;return await qo(n)}catch(n){return logger.trace(n.stack||n),null}},ks=()=>{let t=process.uptime(),e=Math.floor(t/86400),r=Math.floor(t%86400/3600),n=Math.floor(t%3600/60),s=Math.floor(t%60);return [e?`${e}\u5929`:"",r?`${r}\u5C0F\u65F6`:"",n?`${n}\u5206\u949F`:"",!e&&s?`${s}\u79D2`:""].filter(Boolean).join("")},Bc=hs,Rc=(t,e)=>{let r=new ne(t);e.forEach(({key:n,val:s})=>{try{r.has(n)||r.set(n,s);}catch(o){logger.error(`[common] \u66F4\u65B0yaml\u6587\u4EF6\u65F6\u51FA\u9519\uFF1A${o.stack||o.message||o}`);}}),r.save(),r=new ne(t),e.forEach(({key:n,comment:s,type:o})=>{try{r.comment(n,s,o==="top");}catch(i){logger.error(`[common] \u66F4\u65B0yaml\u6587\u4EF6\u65F6\u51FA\u9519\uFF1A${i.stack||i.message||i}`);}}),r.save();},Cc=async(t=false)=>oe("npm",t),Fc=async(t=false)=>oe("git",false),Nc=async(t=false)=>oe("git",t),Dc=async(t,e=3)=>{if(t.length<2)throw Error("\u56FE\u7247\u6570\u91CF\u5FC5\u987B\u5927\u4E8E1");let r=N.join(Ze,"mergeImage"),n=N.join(r,Date.now().toString());A.mkdirSync(n,{recursive:true});let s=vi(t,n),o=await qc(s,e),i=s.map(y=>`-i "${y}"`).join(" "),a=N.join(n,"output.png"),u=`${i} -filter_complex "${o}" -map "[out]" ${a}`,p=await ds(u);if(!p.status)throw logger.error("[common] \u5408\u5E76\u56FE\u7247\u5931\u8D25:"),p.error;let{height:g,width:d}=await ki(a),w=await A.promises.readFile(a,"base64");return setTimeout(()=>A.promises.rm(n,{recursive:true,force:true}),100),{base64:w,height:g,width:d}},vi=(t,e)=>{let r=[];return t.forEach((n,s)=>{if(typeof n!="string")throw TypeError("\u4F20\u5165\u7684\u56FE\u7247\u53EA\u652F\u6301\u672C\u5730\u8DEF\u5F84 \u6216 \u5E26\u524D\u7F00base64://\u5B57\u7B26\u4E32");if(n.startsWith("base64://")){let i=n.replace(/^base64:\/\//,""),a=Buffer.from(i,"base64"),u=N.join(e,`${s}.png`);A.writeFileSync(u,a),r.push(u);return}if(!A.existsSync(n))throw Error(`\u56FE\u7247\u8DEF\u5F84\u4E0D\u5B58\u5728: ${n}`);let o=N.join(e,N.basename(n));A.copyFileSync(n,o),r.push(o);}),r},ki=async t=>{let{stdout:e}=await ms(`-v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 "${t}"`),[r,n]=e.trim().split(",").map(Number);return {width:r,height:n}},jc=(t,e,r,n)=>t.map((o,i)=>{let a=Math.floor(i/e);return `${i%e*r}_${a*n}`}).join("|"),qc=async(t,e)=>{let r=await Promise.all(t.map(async a=>{let{width:u,height:p}=await ki(a);return {file:a,width:u,height:p}})),n=Math.max(...r.map(a=>a.width)),s=Math.max(...r.map(a=>a.height)),o="";r.forEach((a,u)=>{o+=`[${u}:v]pad=${n}:${s}:(ow-iw)/2:(oh-ih)/2[p${u}]; `;});let i=jc(r,e,n,s);return o+=`${r.map((a,u)=>`[p${u}]`).join("")}xstack=inputs=${r.length}:layout=${i}[out]`,o};});var Gs,Mi,$i=c(()=>{j();Gs=class extends Level{id;get;constructor(e){super(e,{valueEncoding:"json"}),this.id="Level",this.get=super.get.bind(this);}async set(e,r){return await super.put(e,r)}async has(e){try{return await super.get(e)}catch{return null}}},Mi=()=>new Gs(No);});var Sr,Ms=c(()=>{j();It();Sr=class extends Kc{#e={};#t={};#r={};#s={};#n={};#o={};#i={};#a={};#u={};#c;constructor(){super(),this.#e={},this.#t={},this.#r={},this.#s={},this.#n={},this.#o={},this.#i={},this.#a={},this.#u={},process.once("exit",()=>this.#c.close());}async init(){ze(Nn),this.#c=new Level(Nn),setInterval(()=>{Object.keys(this.#e).forEach(n=>this.checkExpire(n));},3e4),setInterval(()=>this.save(),12e4);let e=await this.#c.keys().all();return await Promise.all(e.map(async r=>{let n=await this.#c.get(r).catch(()=>null);if(!n)return;let{type:s,expire:o,value:i}=JSON.parse(n);switch(this.#e[r]={type:s,expire:o},s){case "str":this.#t[r]=i;return;case "num":this.#r[r]=Number(i);return;case "hash":{let a=JSON.parse(i);for(let u in a)typeof a[u]!="string"&&(a[u]=Buffer.from(a[u]));this.#s[r]=a;return}case "list":{let a=JSON.parse(i);for(let u=0;u<a.length;u++)typeof a[u]!="string"&&(a[u]=Buffer.from(a[u]));this.#n[r]=a;return}case "set":{let a=JSON.parse(i);for(let u=0;u<a.length;u++)typeof a[u]!="string"&&(a[u]=Buffer.from(a[u]));this.#o[r]=new Set(a);return}case "zset":{let a=JSON.parse(i);for(let u=0;u<a.length;u++)typeof a[u].member!="string"&&(a[u].member=Buffer.from(a[u].member));this.#i[r]=a;return}case "pf":{let a=JSON.parse(i);for(let u=0;u<a.length;u++)typeof a[u]!="string"&&(a[u]=Buffer.from(a[u]));this.#a[r]=new Set(a);return}case "bit":this.#u[r]=Buffer.from(i);}})),this}checkExpire(e,r=true){return this.#e[e]&&this.#e[e].expire!==-1&&this.#e[e].expire<ae().valueOf()?(r&&this.#p(e),true):false}#p(e){let{type:r}=this.#e[e];switch(delete this.#e[e],r){case "str":delete this.#t[e];break;case "num":delete this.#r[e];break;case "hash":delete this.#s[e];break;case "list":delete this.#n[e];break;case "set":delete this.#o[e];break;case "zset":delete this.#i[e];break;case "pf":delete this.#a[e];break;case "bit":delete this.#u[e];break}logger.trace(`[Redis-mock] \u5220\u9664\u952E ${e}`);}type(e){var r;return (r=this.#e[e])==null?undefined:r.type}async set(e,r,n={}){if(!Buffer.isBuffer(r)&&typeof r!="string"?r=String(r):Buffer.isBuffer(r)&&(r=r.toString()),Rt.isEmpty(n))return this.#e[e]={type:"str",expire:-1},this.#t[e]=r,"OK";let s=-1;if((n==null?undefined:n.EX)!==undefined){let o=Number(n.EX);isNaN(o)||(s=ae().add(o,"seconds").valueOf()),this.#e[e]={type:"str",expire:s},this.#t[e]=r;}else if((n==null?undefined:n.PX)!==undefined){let o=Number(n.PX);isNaN(o)||(s=ae().add(o,"milliseconds").valueOf()),this.#e[e]={type:"str",expire:s},this.#t[e]=r;}else if((n==null?undefined:n.EXAT)!==undefined){let o=Number(n.EXAT);isNaN(o)||(s=o),this.#e[e]={type:"str",expire:s},this.#t[e]=r;}else if((n==null?undefined:n.PXAT)!==undefined){let o=Number(n.PXAT);isNaN(o)||(s=o),this.#e[e]={type:"str",expire:s};}else if(n!=null&&n.KEEPTTL)this.#t[e]?this.#t[e]=r:(this.#e[e]={type:"str",expire:-1},this.#t[e]=r);else if(n!=null&&n.NX)this.#t[e]||(this.#e[e]={type:"str",expire:-1},this.#t[e]=r);else if(n!=null&&n.XX)this.#t[e]&&(this.#t[e]=r);else if(n!=null&&n.GET){if(this.#e[e]={type:"str",expire:-1},this.#t[e]){let o=this.#t[e];return this.#t[e]=r,o}return this.#t[e]=r,null}else this.#e[e]={type:"str",expire:-1},this.#t[e]=r;return "OK"}async get(e){if(!this.#e[e]||this.checkExpire(e))return null;let{type:r}=this.#e[e];return r==="num"?String(this.#r[e]):this.#t[e].toString()}async del(e){return this.#e[e]?(this.#p(e),1):0}async exists(e){return !this.#e[e]||this.checkExpire(e)?0:1}async expire(e,r){return this.#e[e]?(this.#e[e].expire=ae().add(r,"seconds").valueOf(),1):0}async ttl(e){return this.#e[e]?this.#e[e].expire===-1?-1:this.checkExpire(e)?-2:ae(this.#e[e].expire).diff(ae(),"seconds"):-2}async keys(e){let r=new RegExp(e.replace(/\*/g,".*")),n=Object.keys(this.#e),s=[];return await Promise.all(n.map(async o=>{this.checkExpire(o)||r.test(o)&&s.push(o);})),s}async flushAll(){return this.#t={},this.#r={},this.#s={},this.#n={},this.#o={},this.#i={},this.#a={},this.#u={},this.#e={},"OK"}async incr(e){return this.#r[e]?this.checkExpire(e,false)&&(this.#e[e].expire=-1,this.#r[e]=0):this.#r[e]=0,this.#r[e]+=1,this.#r[e]}async decr(e){return this.#r[e]?this.checkExpire(e,false)&&(this.#e[e].expire=-1,this.#r[e]=0):this.#r[e]=0,this.#r[e]-=1,this.#r[e]}async append(e,r){return this.#t[e]?this.checkExpire(e,false)&&(this.#e[e].expire=-1,this.#t[e]=""):this.#t[e]="",Buffer.isBuffer(r)?this.#t[e]+=Buffer.concat([Buffer.from(this.#t[e]),r]).toString():this.#t[e]+=r,this.#t[e].length}async hSet(e,r,n){return this.#s[e]?this.checkExpire(e,false)&&(this.#e[e].expire=-1,this.#s[e]={}):(this.#e[e]={type:"hash",expire:-1},this.#s[e]={}),this.#s[e][r]=n,1}async hGet(e,r){return !this.#s[e]||!this.#s[e][r]||this.checkExpire(e)?null:this.#s[e][r].toString()}async hDel(e,r){return !this.#s[e]||!this.#s[e][r]||this.checkExpire(e)?0:(delete this.#s[e][r],1)}async hGetAll(e){return this.#s[e]?this.checkExpire(e)?{}:Rt.mapValues(this.#s[e],r=>r.toString()):{}}async lPush(e,...r){return this.#n[e]?this.checkExpire(e,false)&&(this.#e[e].expire=-1,this.#n[e]=[]):(this.#e[e]={type:"list",expire:-1},this.#n[e]=[]),this.#n[e].unshift(...r),this.#n[e].length}async rPush(e,...r){return this.#n[e]?this.checkExpire(e,false)&&(this.#e[e].expire=-1,this.#n[e]=[]):(this.#e[e]={type:"list",expire:-1},this.#n[e]=[]),this.#n[e].push(...r),this.#n[e].length}async lPop(e){if(!this.#n[e]||this.#n[e].length===0||this.checkExpire(e))return null;let r=this.#n[e].shift();return r?r.toString():null}async rPop(e){if(!this.#n[e]||this.#n[e].length===0||this.checkExpire(e))return null;let r=this.#n[e].pop();return r?r.toString():null}async lRange(e,r,n){return this.#n[e]?this.checkExpire(e)?[]:this.#n[e].slice(r,n+1).map(s=>s.toString()):[]}async sAdd(e,...r){this.#o[e]?this.checkExpire(e,false)&&(this.#e[e].expire=-1,this.#o[e]=new Set):(this.#e[e]={type:"set",expire:-1},this.#o[e]=new Set);let n=0;for(let s of r)this.#o[e].has(s.toString())||(this.#o[e].add(s.toString()),n++);return n}async sRem(e,...r){if(!this.#o[e]||this.checkExpire(e))return 0;let n=0;for(let s of r)this.#o[e].has(s.toString())&&(this.#o[e].delete(s.toString()),n++);return n}async sMembers(e){return this.#o[e]?this.checkExpire(e)?[]:Array.from(this.#o[e]).map(n=>n.toString()):[]}async sismember(e,r){return !this.#o[e]||this.checkExpire(e)?0:this.#o[e].has(r.toString())?1:0}async zAdd(e,r,n){this.#i[e]?this.checkExpire(e,false)&&(this.#e[e].expire=-1,this.#i[e]=[]):(this.#e[e]={type:"zset",expire:-1},this.#i[e]=[]);let s=this.#i[e].findIndex(o=>o.member===n.toString());return s===-1?this.#i[e].push({score:r,member:n}):this.#i[e][s]={score:r,member:n},1}async zRange(e,r,n){return this.#n[e]?this.checkExpire(e)?[]:this.#n[e].slice(r,n+1).map(o=>o.toString()):[]}async zRem(e,r){if(!this.#n[e]||this.checkExpire(e))return 0;let n=this.#n[e].findIndex(s=>s===r.toString());return n!==-1?(this.#n[e].splice(n,1),1):0}async zcard(e){return !this.#n[e]||this.checkExpire(e)?0:this.#n[e].length}async zRank(e,r){if(!this.#n[e]||this.checkExpire(e))return null;let n=this.#n[e].findIndex(s=>s===r.toString());return n!==-1?n:null}async zScore(e,r){if(!this.#n[e]||this.checkExpire(e))return null;let n=this.#n[e].find(s=>s===r.toString());return n?n.length:null}async pfAdd(e,...r){this.#a[e]?this.checkExpire(e,false)&&(this.#e[e].expire=-1,this.#a[e]=new Set):(this.#e[e]={type:"pf",expire:-1},this.#a[e]=new Set);let n=0;for(let s of r)this.#a[e].has(s.toString())||(this.#a[e].add(s.toString()),n++);return n>0}async pfCount(e){return !this.#a[e]||this.checkExpire(e)?0:this.#a[e].size}async pExpire(e,r){return this.#a[e]?(this.#e[e].expire=ae().add(r,"seconds").valueOf(),true):false}async pTTL(e){return this.#a[e]?this.#e[e].expire===-1?-1:this.checkExpire(e)?-2:(ae(this.#e[e].expire).diff(ae(),"seconds"),1):-2}async pExpireAt(e,r){return !this.#a[e]||this.checkExpire(e)?false:(this.#e[e].expire=r,true)}async publish(e,r){return this.emit(e,r.toString()),this.listenerCount(e)}async subscribe(e,r){return e.forEach(n=>this.on(n,r)),e.length}async unsubscribe(e,r){return e.forEach(n=>this.off(n,r)),e.length}async setBit(e,r,n){this.#u[e]?this.checkExpire(e,false)&&(this.#e[e].expire=-1,this.#u[e]=Buffer.alloc(0)):(this.#e[e]={type:"bit",expire:-1},this.#u[e]=Buffer.alloc(0));let s=Math.floor(r/8),o=r%8,i=this.#u[e].readUInt8(s),a=n?i|1<<o:i&~(1<<o);return this.#u[e].writeUInt8(a,s),i}async getBit(e,r){if(!this.#u[e]||this.checkExpire(e))return 0;let n=Math.floor(r/8),s=r%8;return this.#u[e].readUInt8(n)&1<<s?1:0}async getRange(e,r,n){if(!this.#u[e])return [];if(this.checkExpire(e))return [];let s=[];for(let o=r;o<=n;o++)s.push(await this.getBit(e,o));return s}async save(){let r=(await this.#c.keys().all()).filter(s=>!this.#e[s]),n=[];return r.forEach(s=>n.push({type:"del",key:s})),Object.keys(this.#e).forEach(s=>{let{type:o,expire:i}=this.#e[s],a=this.#t[s];n.push({type:"put",key:s,value:JSON.stringify({type:o,expire:i,value:a})});}),await this.#c.batch(n),"OK"}};});var Ai,Yc,Oi,Jc,Vc,Pi=c(()=>{Ms();ot();le();v();Ai=async t=>{try{let e=createClient(t);return await e.connect(),Object.defineProperty(e,"id",{value:"Redis"}),e}catch(e){logger.debug(`${logger.red("[redis] \u542F\u52A8\u5931\u8D25:")} ${JSON.stringify(t)}`),logger.debug(e);}},Yc=async()=>{if(logger.debug("[redis] \u6B63\u5728\u5C1D\u8BD5\u542F\u52A8 Redis..."),oi()){let e=await x("redis-server.exe redis.conf",{booleanResult:true});return e||await x("net start Redis",{booleanResult:true})}let t="redis-server --save 300 10 --daemonize yes"+await Jc();return await x(t,{booleanResult:true})},Oi=async()=>{let t=$s(),e=await Ai(t);return e?(logger.info(`[redis] ${logger.green("Redis \u8FDE\u63A5\u6210\u529F")}`),e):(await Yc()?(logger.debug(logger.green("[redis] \u4E3B\u52A8\u62C9\u8D77 Redis \u6210\u529F")),e=await Ai(t)):logger.debug(logger.red("[redis] \u4E3B\u52A8\u62C9\u8D77 Redis \u5931\u8D25")),e||(logger.debug(logger.yellow("[redis] \u5C06\u964D\u7EA7\u4E3A redis-mock \u5B9E\u73B0")),Vc()))},Jc=async()=>{if(Wc.arch()!=="arm64")return "";let{stdout:t}=await x("redis-server -v"),e=t.toString();if(!e)return "";let r=e.match(/v=(\d)./);return r&&Number(r[1])>=6?" --ignore-warnings ARM64-COW-BUG":""},Vc=async()=>{let t=await new Sr().init();return Object.defineProperty(t,"id",{value:"mock"}),t};});var Ti=c(()=>{$i();Pi();Ms();});var Is={};R(Is,{level:()=>zc,redis:()=>Si});var zc,Si,Br=c(()=>{Ti();zc=Mi();(async()=>Si=await Oi())();});var Bi={};R(Bi,{checkProcess:()=>Ps,processExit:()=>Re,processHandler:()=>Os});var As,Os,Ps,Re,Rr=c(()=>{Se();le();cs();pt();As=false,Os=()=>{process.once("SIGHUP",t=>Re(t)),process.once("SIGINT",t=>Re(t)),process.once("SIGTERM",t=>Re(t)),process.once("SIGBREAK",t=>Re(t)),process.once("SIGQUIT",t=>Re(t)),process.on("warning",t=>m.emit("warn",t)),process.on("uncaughtException",(t,e)=>{m.emit("error",t,e);}),process.on("unhandledRejection",(t,e)=>{m.emit("error",t,e);}),process.on("rejectionHandled",t=>{m.emit("error",t);}),m.on("error",(...t)=>{logger.error(...t);});},Ps=async t=>{var n,s;let e=`http://127.0.0.1:${t}`,r=await Kt({url:`${e}/ping`,method:"get",timeout:300});if(!(!r||r.status!==200||r.data.ping!=="pong")){if(((n=r==null?undefined:r.data)==null?undefined:n.name)!=="karin"){let o=await us(t).catch(()=>-0);logger.fatal(`\u7AEF\u53E3 ${t} \u88AB\u8FDB\u7A0B\u5360\u7528\uFF0C\u8FDB\u7A0BID\uFF1A${o}\uFF0C\u8BF7\u624B\u52A8\u5173\u95ED\u5BF9\u5E94\u8FDB\u7A0B\u6216\u89E3\u9664\u7AEF\u53E3\u5360\u7528`);return}if(((s=r==null?undefined:r.data)==null?undefined:s.pm2_id)!==process.pid){await Kt({url:`${e}/exit`,method:"get",timeout:500}),logger.mark(logger.red("\u68C0\u6D4B\u5230\u540E\u53F0\u8FDB\u7A0B \u6B63\u5728\u5173\u95ED..."));for(let o=0;o<100;o++){if(await Kt({url:`${e}/ping`,method:"get",timeout:100})){await vs(50);continue}logger.mark(logger.green("\u540E\u53F0\u8FDB\u7A0B\u5DF2\u5173\u95ED"));return}logger.error(`\u540E\u53F0\u8FDB\u7A0B\u5173\u95ED\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u662F\u5426\u6709\u8FDB\u7A0B\u6B63\u5728\u5360\u7528\u7AEF\u53E3${t}`),Re(1);}}},Re=async t=>{try{if(As)return;As=!0;let{redis:e,level:r}=await Promise.resolve().then(()=>(Br(),Is));await Promise.allSettled([e.save(),r.close()]),logger.mark(`\u8FD0\u884C\u7ED3\u675F \u8FD0\u884C\u65F6\u95F4\uFF1A${ks()} \u9000\u51FA\u7801\uFF1A${t??"\u672A\u77E5"}`),process.env.pm_id&&await x(`pm2 delete ${process.env.pm_id}`);}finally{setTimeout(()=>{As=true;},200),process.exit();}};});var F=c(()=>{ss();Rr();Se();});var Q={};R(Q,{admin:()=>Rs,authKey:()=>Cr,config:()=>k,getDirectCfg:()=>Zc,getFriendCfg:()=>de,getGroupCfg:()=>me,getGuildCfg:()=>Cs,getMergeYaml:()=>fe,getYaml:()=>Wt,host:()=>Ts,init:()=>Fs,master:()=>Bs,pkg:()=>Ri,pm2:()=>Xc,port:()=>Ut,redis:()=>$s,rootMsg:()=>Ss,server:()=>X,setYaml:()=>ep,timeout:()=>Qc,updateLevel:()=>Ci});var Ri,Ut,Ts,Ss,Bs,Rs,Qc,$s,Xc,Cr,de,Zc,me,Cs,fe,Wt,k,X,Ci,Fi,Ni,ep,tp,Fs,v=c(()=>{si();j();ot();hi();F();debug("debug: init config");Ri=()=>O.requireFileSync($e+"/package.json"),Ut=()=>h.file.server.port,Ts=()=>h.file.server.host,Ss=()=>h.file.server.rootMsg,Bs=()=>h.file.config.master||[],Rs=()=>h.file.config.admin||[],Qc=()=>h.file.server.timeout||60,$s=()=>fe("redis"),Xc=()=>fe("pm2"),Cr=()=>X().authKey,de=(t,e)=>Ni(t,e),Zc=(t,e)=>Ni(t,e),me=(t,e)=>Fi(t,e),Cs=(t,e,r)=>Fi(t,e,r),fe=(t,e=false)=>{if(e){let s=Wt(t,"default",true),o=Wt(t,"user",true);return {...s,...o}}let r=Wt(t,"default",false),n=Wt(t,"user",false);return {...r.value,...n.value}},Wt=(t,e,r)=>{let n=`${e==="default"?Cn:Xe}/${t}.yaml`;if(e==="default")return O.requireFileSync(n,{force:r});if(r)return O.requireFileSync(n,{force:true});let s=o=>o==="config"?(i,a)=>{var u;m.emit("watch:file",o,i,a),h.file.config={},Ci(((u=a==null?undefined:a.log4jsCfg)==null?undefined:u.level)||"info");}:o==="groupGuild"?(i,a)=>{m.emit("watch:file",o,i,a),h.groupGuild={};}:o==="friendDirect"?(i,a)=>{m.emit("watch:file",o,i,a),h.friendDirect={};}:o==="server"?(i,a)=>{m.emit("watch:file",o,i,a),h.file.server={};}:(i,a)=>(m.emit("watch:file",o,i,a),true);return O.watch(n,s(t))},k=(t=false)=>{var r;if(!t&&((r=h.file.config)!=null&&r.master))return h.file.config;let e=fe("config",t);return e.admin=se(e.admin),e.master=se(e.master),e.private.disable=se(e.private.disable),Object.keys(e.enable).forEach(n=>{e.enable[n]=se(e.enable[n]);}),h.file.config=e,e},X=(t=false)=>{var r;if(!t&&((r=h.file.server)!=null&&r.port))return h.file.server;let e=fe("server",t);return h.file.server=e,e},Ci=t=>{if(t){logger.level=t;return}let e=fe("config");logger.level=e.log4jsCfg.level||"info";},Fi=(t,e,r,n=false)=>{try{let s=gi(t,e,r);if(!n&&s.ok)return s.config;let o=fe("groupGuild",n);return di(s.keys,o)}catch(s){return logger.error(s),h.groupCfgDef}},Ni=(t,e,r=false)=>{try{let n=mi(t,e);if(!r&&n.ok)return n.config;let s=fe("friendDirect",r);return fi(n.keys,s)}catch(n){return logger.error(n),h.friendCfgDef}},ep=(t,e)=>{let r=`${Xe}/${t}.yaml`,n=`${Co}/${t}.json`;return O.existsSync(r)?(O.save(r,e,O.existsSync(n)?n:undefined),true):false},tp=()=>{[At,Ae].forEach(e=>{O.existsSync(e)&&O.rmSync(e,{recursive:true,force:true});});},Fs=()=>{O.copyConfigSync(Cn,Xe,[".yaml"]),k(),X(),ai(Ut()),ui(Ri().version),tp(),[Ie,Xe,Fn,Ze,At,Ae].map(e=>O.existToMkdirSync(e));};});var Ds,js=c(()=>{Ds=t=>typeof t=="function"&&/^class\s/.test(t.toString());});var he,Z,ee,Ce=c(()=>{he=(t,e)=>e?t===false?(n,s)=>logger.bot("debug",n,s):(n,s)=>logger.bot("mark",n,s):t===false?r=>logger.debug(r):r=>logger.mark(r),Z=(t,e)=>({absPath:"",basename:"",dirname:"",method:"",type:t,name:e}),ee=()=>({name:"",apps:[],dir:"",id:-1,pkgData:{},pkgPath:"",type:"app"});});var Fr,qi=c(()=>{ot();V();F();Fr=class{watcher=null;watchDirs=new Set;loader;constructor(e){this.loader=e;}init(){let e=process.env.NODE_ENV==="development";Object.values(l.index).forEach(r=>{!e&&r.type!=="app"||r.allApps.forEach(n=>this.watchDirs.add(n));}),setTimeout(()=>{this.startWatch();},2e3),m.on("watch-dir",({dir:r})=>{typeof r=="string"&&(this.watchDirs.add(r),this.restartWatch());});}startWatch(){this.watcher=Cu.watch(Array.from(this.watchDirs),{ignoreInitial:true,ignored:/(^|[/\\])\../}),this.watcher.on("add",r=>this.handleFileChange(r,"add")).on("change",r=>this.handleFileChange(r,"change")).on("unlink",r=>this.handleFileChange(r,"unlink"));let e=Array.from(this.watchDirs).map(r=>N.relative(process.cwd(),r).replace(/\\/g,"/"));logger.debug(`
|
|
7
|
+
[hmr] \u5F00\u59CB\u76D1\u542C\u6587\u4EF6\u5939:
|
|
8
|
+
`,e.join(`
|
|
9
|
+
`));}restartWatch(){this.watcher&&(this.watcher.close(),this.watcher=null),this.startWatch();}async handleFileChange(e,r){let n=N.extname(e);if(!(Te()?[".ts",".js"]:[".js"]).includes(n))return;let o=N.resolve(e),i=this.findPkgByFile(o);if(!i)return;let a=N.relative(process.cwd(),e).replace(/\\/g,"/");if(logger.debug(`[hmr][${i.name}] \u6587\u4EF6${r}: ${a}`),r==="unlink"){this.unloadPlugin(o),logger.info(`[hmr][${i.name}] \u5DF2\u5378\u8F7D: ${N.basename(e)}`);return}r==="change"&&this.unloadPlugin(o);try{let u=await this.loader.importApp(i.name,o,!0);this.loader.cachePlugin(u,i,o),this.loader.sort();let p=r==="add"?"\u65B0\u589E\u63D2\u4EF6":"\u91CD\u8F7D\u5B8C\u6210";logger.info(`[hmr][${i.name}] ${p}: ${N.basename(e)}`);}catch(u){logger.error(`[hmr][${i.name}] \u52A0\u8F7D\u5931\u8D25:`,u);}}findPkgByFile(e){return Object.values(l.index).find(r=>r.apps.includes(e)||r.allApps.some(n=>e.startsWith(n)))}unloadPlugin(e){l.accept=l.accept.filter(r=>r.file.absPath!==e),l.command=l.command.filter(r=>r.file.absPath!==e),l.task=l.task.filter(r=>(r.file.absPath===e&&r.schedule&&r.schedule.cancel(),r.file.absPath!==e)),l.button=l.button.filter(r=>r.file.absPath!==e),Object.keys(l.handler).forEach(r=>{l.handler[r]=l.handler[r].filter(n=>n.file.absPath!==e);});}};});var Li={};R(Li,{LoaderPlugin:()=>qs});var ap,qs,Hi=c(()=>{ss();Pr();V();js();Ce();ot();et();F();qi();ap=0,qs=class{watcher;constructor(){this.watcher=new Fr(this);}async init(){debug("debug: init loader"),logger.info(logger.green("-----------")),logger.info("\u52A0\u8F7D\u63D2\u4EF6\u4E2D...");let e=[],r=[],n=await oe("all",true);debug("debug: getPlugins",n),await Promise.all(n.map(async o=>{var a,u,p,g,d,w;o.id=++ap,l.index[o.id]=o;let i=[];if(o.type==="app"?i.push("config","data","resources"):Array.isArray((a=o.pkgData.karin)==null?undefined:a.files)&&i.push(...o.pkgData.karin.files),await cr(o.name,i),debug("debug: createPluginDir",o.name,i),o.apps.forEach(y=>{let $=this.importApp(o.name,y).then(L=>this.cachePlugin(L,o,y));e.push($);}),o.type!=="app"){if(Te()&&((p=(u=o==null?undefined:o.pkgData)==null?undefined:u.karin)!=null&&p.main)){let y=N.join(o.dir,o.pkgData.karin.main);r.push(this.loaderMain(o.name,y));}if((g=o==null?undefined:o.pkgData)!=null&&g.main){let y=N.join(o.dir,o.pkgData.main);r.push(this.loaderMain(o.name,y));}}if(o.type!=="app"&&((w=(d=o==null?undefined:o.pkgData)==null?undefined:d.karin)!=null&&w.static)){let y=Array.isArray(o.pkgData.karin.static)?o.pkgData.karin.static:[o.pkgData.karin.static];l.static.push(...y.map($=>N.resolve(o.dir,$)));}})),await Promise.all([...e,...r]),debug("debug: cache",l),this.sort(),Lt.printMissing(),logger.info("\u63D2\u4EF6\u52A0\u8F7D\u5B8C\u6210");let s=o=>logger.chalk.magentaBright(o);logger.info(`${s("plugin")}: ${Object.keys(l.index).length}`),Object.keys(l.count).forEach(o=>{if(o==="handler"){let{key:i,fnc:a}=l.count.handler;logger.info(`${s(o+".key")} ${i}`),logger.info(`${s(o+".fnc")} ${a}`);return}logger.info(`${s(o)}: ${l.count[o]}`);}),logger.info(logger.green("-----------")),logger.mark(`karin \u542F\u52A8\u5B8C\u6210: \u8017\u65F6 ${logger.green(process.uptime().toFixed(2))} \u79D2...`),debug("debug: \u63D2\u4EF6\u52A0\u8F7D\u5B8C\u6210"),m.emit("online",{}),this.watcher.init();}createFile(e,r,n,s){return {absPath:e,get dirname(){return N.dirname(this.absPath)},get basename(){return N.basename(this.absPath)},type:r,method:n,name:s||r}}async importApp(e,r,n=false){try{return await import(`file://${r}${n?`?t=${Date.now()}`:""}`)}catch(s){return Lt.loaderPlugin(e,r,s),{}}}async loaderMain(e,r,n=false){try{await import(`file://${r}${n?`?t=${Date.now()}`:""}`);}catch(s){Lt.loaderPlugin(e,r,s);}}isType(e,r){var n;return ((n=e.file)==null?undefined:n.type)===r}cachePlugin(e,r,n){for(let s of Object.keys(e)){if(s==="default")continue;if(typeof e[s]=="function"){if(!Ds(e[s]))return;this.cacheClassPlugin(e[s],r,n,s);return}let o=e[s];for(let i of Array.isArray(o)?o:[o])if(typeof i=="object"&&!(!(i!=null&&i.pkg)||!i.file)){if(i.pkg=r,i.file=this.createFile(n,i.file.type,s,i.file.name),this.isType(i,"accept")){l.count.accept++,l.accept.push(i);continue}if(this.isType(i,"command")){l.count.command++,l.command.push(i);continue}if(this.isType(i,"button")){l.count.button++,l.button.push(i);continue}if(this.isType(i,"handler")){l.handler[i.key]||(l.count.handler.key++,l.handler[i.key]=[]),l.count.handler.fnc++,l.handler[i.key].push(i);continue}if(this.isType(i,"task")){i.schedule=ip.scheduleJob(i.cron,async()=>{try{i.log(`[\u5B9A\u65F6\u4EFB\u52A1][${i.name}][${i.cron}]: \u5F00\u59CB\u6267\u884C`);let a=i.fnc();op.types.isPromise(a)&&await a,i.log(`[\u5B9A\u65F6\u4EFB\u52A1][${i.name}][${i.cron}]: \u6267\u884C\u5B8C\u6210`);}catch(a){Lt.taskStart(i.name,i.name,a);}}),l.count.task++;continue}}}}cacheClassPlugin(e,r,n,s){var i;let o=new e;if(!o.name){logger.error(`[load][${n}] plugin.name \u4E0D\u80FD\u4E3A\u7A7A`);return}if(!o.rule||!Array.isArray(o.rule)||((i=o.rule)==null?undefined:i.length)===0){logger.error(`[load][${n}] ${o.name} plugin.rule \u4E0D\u80FD\u4E3A\u7A7A`);return}o.rule.forEach((a,u)=>{a.fnc in o&&(typeof a.reg!="string"&&!(a.reg instanceof RegExp)||l.command.push({pkg:r,type:"class",log:he(a.log,true),adapter:a.adapter||[],dsbAdapter:a.dsbAdapter||[],Cls:e,reg:a.reg instanceof RegExp?a.reg:new RegExp(a.reg),permission:a.permission||"all",event:a.event||o.event||"message",priority:a.priority||1e4,file:this.createFile(n,"command",s,o.name),authFailMsg:a.authFailMsg}));});}sort(){l.accept=Rt.sortBy(l.accept,["rank"],["asc"]),l.command=Rt.sortBy(l.command,["rank"],["asc"]),l.task=Rt.sortBy(l.task,["rank"],["asc"]),l.button=Rt.sortBy(l.button,["rank"],["asc"]);for(let e of Object.keys(l.handler))l.handler[e]=Rt.sortBy(l.handler[e],["rank"],["asc"]);}};});var D,Nr,pp,ye=c(()=>{D=up(),Nr=createServer(D),pp=(t,e)=>{Nr.listen(t,e,()=>{logger.info(`[server] express \u5DF2\u542F\u52A8 \u6B63\u5728\u76D1\u542C: http://${e}:${t}`);});};});var lt,Dr=c(()=>{v();lt={getAuth:t=>{var r,n;let e=((r=t==null?undefined:t.headers)==null?undefined:r.authorization)||((n=t==null?undefined:t.query)==null?undefined:n.token);return e?e===Cr():false},postAuth:t=>{var r;let e=(r=t==null?undefined:t.headers)==null?undefined:r.authorization;return e?e===Cr():false}};});var Ki=c(()=>{ye();Dr();D.get("/exit",async(t,e)=>{if(!lt.getAuth(t)){e.status(401).json({message:"\u65E0\u6548\u7684token"});return}logger.mark("\u6536\u5230\u9000\u51FA\u8BF7\u6C42\uFF0C\u6B63\u5728\u9000\u51FA..."),e.json({message:"\u9000\u51FA\u6210\u529F"});let{processExit:r}=await Promise.resolve().then(()=>(Rr(),Bi));await r(0);});});var Wi=c(()=>{ye();Dr();D.get("/ping",(t,e)=>{e.send({ping:"pong",name:"karin"});});D.get("/status",(t,e)=>{if(!lt.getAuth(t)){e.status(401).json({message:"\u65E0\u6548\u7684token"});return}let r={name:"karin",pid:process.pid,pm2_id:process.env.pm_id||"",uptime:process.uptime(),version:process.env.karin_version,karin_dev:process.env.karin_dev,karin_lang:process.env.karin_lang,karin_runtime:process.env.karin_runtime};e.status(200).json(r);});});var Ui=c(()=>{ye();v();D.get("/",(t,e)=>{e.send({code:200,msg:Rt.sample(Ss())});});});var Yi,Ls,Ji,Vi,Hs,Ks=c(()=>{Yi=async t=>{try{return (await lookup(t,{all:!0})).some(r=>Ls(r.address)||Ji(r.address))}catch{return false}},Ls=t=>{let e=t.split(".").map(Number),r=e.length===4&&e[0]===127,n=e.every(s=>Number.isInteger(s)&&s>=0&&s<=255);return r&&n},Ji=t=>{if(t==="::1")return true;if(t.startsWith("::ffff:")){let e=t.substring(7);return Ls(e)}return false},Vi=t=>{let e=[],r=t.headers["x-forwarded-for"];Array.isArray(r)?e.push(...r):typeof r=="string"&&e.push(r);let n=t.socket.remoteAddress,s=t.ip,o=t.hostname;return s&&e.push(s),o&&e.push(o),n&&e.push(n),e.filter(Boolean)},Hs=async t=>{let e=Vi(t);for(let r of e)if(!await Yi(r))return false;return true};});var Xi=c(()=>{ye();v();Ks();j();D.get("/console/*",async(t,e)=>{let r=X(),n=t.path.split("/").pop();if(!n){e.status(400).json({error:"\u65E0\u6548\u7684\u8BF7\u6C42",message:"\u6587\u4EF6\u540D\u4E0D\u80FD\u4E3A\u7A7A"});return}if(n=decodeURIComponent(n),n.includes("..")){e.status(403).json({error:"\u7981\u6B62\u8BBF\u95EE",message:"\u975E\u6CD5\u8BF7\u6C42"});return}let s=await Hs(t);if(r.console.isLocal){if(!s){e.status(403).json({error:"\u7981\u6B62\u8BBF\u95EE",message:"\u65E0\u6548\u7684\u8BF7\u6C42"});return}}else {if(!r.console.token){e.status(500).json({error:"\u914D\u7F6E\u9519\u8BEF",message:"\u7F3A\u5C11 token \u914D\u7F6E"});return}let u=t.query.token;if(!u||u!==r.console.token){e.status(403).json({error:"\u7981\u6B62\u8BBF\u95EE",message:"\u65E0\u6548\u7684 token"});return}}let o=N.join(Ae,n);if(!A.existsSync(o)){e.status(404).json({error:"\u6587\u4EF6\u4E0D\u5B58\u5728",message:"\u6587\u4EF6\u4E0D\u5B58\u5728"});return}let i=A.readFileSync(o);if(!i){e.status(500).json({error:"\u5185\u90E8\u9519\u8BEF",message:"\u8BFB\u53D6\u5931\u8D25"});return}switch(N.extname(n).toLowerCase()){case ".png":e.setHeader("Content-Type","image/png");break;case ".mp3":e.setHeader("Content-Type","audio/mpeg");break;case ".mp4":e.setHeader("Content-Type","video/mp4");break;default:e.setHeader("Content-Type","application/octet-stream");}e.send(i);});});var dp,Ws,Us=c(()=>{le();dp=async(t,e,r,n=true)=>{if(n&&process.send)return process.send("restart"),{status:"success",data:"\u5DF2\u53D1\u9001\u91CD\u542F\u4FE1\u53F7"};let{config:i}=await Promise.resolve().then(()=>(v(),Q));if(i().pm2Restart||process.exit(),process.env.pm_id){let{error:u}=await x("npx karin rs");if(u)return {status:"failed",data:u};process.exit();}let{error:a}=await x("npx karin pm2");if(a)return {status:"failed",data:a};process.exit();},Ws=async()=>{if(logger.mark("\u6536\u5230\u91CD\u542F\u8BF7\u6C42\uFF0C\u6B63\u5728\u91CD\u542F..."),process.env.karin_runtime==="pm2"){await x(`pm2 restart ${process.env.pm_id}`);return}if(process.env.karin_runtime==="tsx")throw new Error("tsx \u4E0D\u652F\u6301\u91CD\u542F");process!=null&&process.send&&(process.send("restart"),logger.mark("\u53D1\u9001\u91CD\u542F\u4FE1\u53F7\u6210\u529F"));};});var Zi=c(()=>{ye();Dr();Us();D.get("/restart",async(t,e)=>{if(!lt.getAuth(t)){e.status(401).json({message:"\u65E0\u6548\u7684token"});return}e.status(200).end(),Ws();});});var ea=c(()=>{Ki();Wi();Ui();Xi();Zi();});var Ys,ta=c(()=>{ye();F();Ys=new WebSocketServer({server:Nr});Ys.on("error",t=>{throw t.code==="EADDRINUSE"?logger.fatal(`[server] \u7AEF\u53E3 ${process.env.karin_port} \u5DF2\u88AB\u5360\u7528\uFF0C\u65E0\u6CD5\u542F\u52A8 http WebSocket \u670D\u52A1`):logger.fatal(`[server] http\u670D\u52A1\u542F\u52A8\u5931\u8D25: ${t.message}`),t});Ys.on("connection",(t,e)=>{if(debug(`wss:connection host: ${e.headers.host} url: ${e.url}`),e.url==="/"||e.url==="/onebot/v11/ws/"||e.url==="/onebot/v11/ws/index"){m.emit("ws:connection:onebot",t,e);return}m.emit("ws:connection",t,e);});});var ra={};R(ra,{app:()=>D,listen:()=>pp,server:()=>Nr,wss:()=>Ys});var Js=c(()=>{ea();ta();ye();});var Fe,jr=c(()=>{Fe=class{account;adapter;super;raw;constructor(){this.account={uin:"",uid:"",selfId:"",subId:{},name:"",avatar:""},this.adapter={index:-1,name:"",version:"",platform:"qq",standard:"other",protocol:"console",communication:"other",address:"",secret:null,connectTime:-1};}get selfId(){return this.account.selfId}get selfName(){return this.account.name}selfSubId(e){return this.account.subId[e]}logger(e,...r){logger.bot(e,this.account.selfId,...r);}sendMsg(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}sendLongMsg(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}sendForwardMsg(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}recallMsg(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getAvatarUrl(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getGroupAvatarUrl(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getMsg(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getHistoryMsg(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getForwardMsg(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getGroupHighlights(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}createResId(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setGgroupHighlights(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}sendLike(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}groupKickMember(e,r,n,s){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setGroupMute(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setGroupAllMute(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setGroupAdmin(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setGroupMemberCard(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setGroupName(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setGroupQuit(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setGroupMemberTitle(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getStrangerInfo(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getFriendList(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getGroupInfo(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getGroupList(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getGroupMemberInfo(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getGroupMemberList(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getGroupHonor(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setFriendApplyResult(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setGroupApplyResult(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setInvitedJoinGroupResult(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setMsgReaction(e,r,n,s){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}uploadFile(e,r,n,s){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}downloadFile(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}createGroupFolder(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}renameGroupFolder(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}delGroupFolder(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}uploadGroupFile(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}delGroupFile(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getGroupFileSystemInfo(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getGroupFileList(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}setGroupRemark(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getNotJoinedGroupInfo(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getAtAllCount(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getGroupMuteList(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}pokeUser(e,r){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getCookies(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getCredentials(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getCSRFToken(e){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}getHttpCookies(e,r,n){throw new Error(`[adapter][${this.adapter.protocol}] \u6B64\u63A5\u53E3\u672A\u5B9E\u73B0`)}};});var na=c(()=>{logger.mark("Karin \u542F\u52A8\u4E2D...");logger.mark(`\u5F53\u524D\u7248\u672C: ${process.env.karin_version}`);logger.mark("https://github.com/KarinJS/Karin");});var Ne=c(()=>{Es();_s();});var fp,te,Vs,sa,oa,If,ia,dt,mt,qr,be=c(()=>{Ne();pt();Se();pt();$r();fp=0,te=[],Vs=(t,e=false)=>{var r,n,s;try{return typeof t=="number"?((r=te.find(o=>o.index===t))==null?void 0:r.bot)||null:e?((n=te.find(o=>o.bot.adapter.protocol===t))==null?void 0:n.bot)||null:((s=te.find(o=>o.bot.selfId===t))==null?void 0:s.bot)||null}catch{return null}},sa=()=>te.map(t=>t.bot),oa=()=>te,If=()=>te.map(t=>t.bot.selfId),ia=()=>te.length,dt=(t,e,r)=>{let n=s=>{let o=te.findIndex(s);if(o!==-1){let[i]=te.splice(o,1);return logger.bot("info",i.bot.selfId,`${logger.red("[service][\u5378\u8F7DBot]")} ${i.bot.adapter.name}`),true}return logger.warn(`[service][\u5378\u8F7DBot] \u672A\u627E\u5230\u6307\u5B9ABot: ${JSON.stringify({type:t,idOrIndex:e,address:r})}`),false};return t==="index"?n(s=>s.index===e):t==="selfId"?n(({bot:s})=>s.selfId===e):t==="address"?n(({bot:s})=>s.selfId===e&&s.adapter.address===r):(logger.warn(`[service][\u5378\u8F7DBot] \u672A\u77E5\u7684\u5378\u8F7D\u65B9\u5F0F: ${t}`),false)},mt=(t,e)=>{let r=++fp;te.push({index:r,bot:e});let n=o=>logger.green(`[\u6CE8\u518CBot][${o}]`),s=e.sendForwardMsg;return e.sendForwardMsg=async(o,i,a)=>s.call(e,o,i,a),setTimeout(async()=>{let{level:o}=await Promise.resolve().then(()=>(Br(),Is)),i=`karin:restart:${e.selfId}`,a=await o.has(i);if(a)try{let{selfId:u,contact:p,messageId:g,time:d}=a,w=((Date.now()-d)/1e3).toFixed(2);if(Number(w)>120)return !1;let y=[_.reply(g),_.text(`
|
|
10
|
+
\u91CD\u542F\u6210\u529F\uFF1A${w}\u79D2`)];await qr(u,p,y);}finally{await o.del(i);}},10),m.once("online",()=>{t==="webSocketClient"?logger.bot("info",e.selfId,`${n("\u6B63\u5411webSocket")} ${e.account.name}: ${e.adapter.address}`):t==="other"?(e.adapter.address="internal://127.0.0.1",logger.bot("info",e.selfId,`${n("internal")} ${e.account.name}`)):t==="http"?logger.bot("info",e.selfId,`${n("HTTP")} ${e.account.name}: ${e.adapter.address}`):t==="webSocketServer"?logger.bot("info",e.selfId,`${n("\u53CD\u5411WebSocket")} ${e.account.name}: ${e.adapter.address}`):t==="grpc"&&logger.bot("info",e.selfId,`${n("gRPC")} ${e.account.name}: ${e.adapter.address}`);}),r},qr=async(t,e,r,n={recallMsg:0,retryCount:1,retry_count:1})=>{let s={},o=Be(r),i=Vs(t);if(!i)throw new Error("\u53D1\u9001\u6D88\u606F\u5931\u8D25: \u672A\u627E\u5230\u5BF9\u5E94Bot\u5B9E\u4F8B");let{recallMsg:a}=n,u=n.retryCount??n.retry_count??1,{raw:p}=ie(o);e.scene==="group"?logger.bot("info",t,`${logger.green("Send Proactive Group")} ${e.peer}: ${p}`):logger.bot("info",t,`${logger.green("Send Proactive private")} ${e.peer}: ${p}`);try{m.emit(rs,e),s=await i.sendMsg(e,o,u),logger.bot("debug",t,`\u4E3B\u52A8\u6D88\u606F\u7ED3\u679C:${JSON.stringify(s,null,2)}`);}catch(g){logger.bot("error",t,`\u4E3B\u52A8\u6D88\u606F\u53D1\u9001\u5931\u8D25:${p}`),logger.error(g);}return s.message_id=s.messageId,a&&a>0&&(s!=null&&s.messageId)&&setTimeout(()=>i.recallMsg(e,s.messageId),a*1e3),s};});var aa,yp,zs,Qs=c(()=>{V();aa=async(t,e)=>{let r;for(let n of l.handler[t]||[])try{let s=!0,o=()=>{s=!1;},i=n.fnc(e,o);if(r=op.types.isPromise(i)?await i:i,s)return logger.mark(`[Handler][Done]: [${n.pkg.name}][${n.file.method}][${t}]`),r}catch(s){logger.error(`[Handler][Error]: [${n.pkg.name}][${n.file.method}][${t}]`),logger.error(s);}return r},yp=t=>!!l.handler[t],zs=Object.assign(aa,{call:aa,has:yp});});var Xs=c(()=>{na();Br();be();Qs();});var ft,Zs,eo,to,Lr,we,De=c(()=>{ft={},Zs={},eo={},to=(t,e)=>ft[e]?false:(t.cd>0&&(ft[e]=setTimeout(()=>{delete ft[e];},t.cd*1e3)),true),Lr=(t,e,r)=>Zs[e]||eo[r]?false:(t.cd>0&&(Zs[e]=setTimeout(()=>{delete Zs[e];},t.cd*1e3)),t.userCD>0&&(eo[r]=setTimeout(()=>{delete eo[r];},t.userCD*1e3)),true),we=(t,e,r)=>["frientPoke","receiveLike","groupPoke","groupMessageReaction"].includes(t.subEvent)?ft[r]?false:(e.cd>0&&(ft[r]=setTimeout(()=>{delete ft[r];},e.cd*1e3)),true):true;});var ht,je,Hr=c(()=>{F();ht=new Map,je=t=>{let e=t.contact.subPeer?`${t.contact.peer}:${t.contact.subPeer}:${t.userId}`:`${t.contact.peer}:${t.userId}`;return ht.has(e)?(m.emit(`ctx:${e}`,t),ht.delete(e),true):false};});var b,qe,S,Le,B,yt,bt,wt,He,xe,ro,ua,_e=c(()=>{$r();kr();F();pt();b=(t,e)=>logger.debug(`[\u6D88\u606F\u8FC7\u6EE4][${t}] ${e}`),qe=t=>{let{msg:e,raw:r}=ie(t.elements);t.msg=e,t.rawMessage=r;},S=(t,e)=>{e.master.includes(`${t.selfId}@${t.userId}`)||e.master.includes(t.userId)?(t.isMaster=true,t.isAdmin=true):e.admin.includes(`${t.selfId}@${t.userId}`)||e.admin.includes(t.userId)?(t.isAdmin=true,t.isMaster=false):(t.isAdmin=false,t.isMaster=false),jt.prop(t,"isMaster"),jt.prop(t,"isAdmin");},Le=(t,e)=>{let r=new RegExp(`^(${e.join("|")})`),n=t.msg.match(r);if(!n){t.alias="";return}t.msg=t.msg.replace(r,"").trim(),t.alias=n[1]||"";},B=t=>{m.emit(ts,t.contact);},yt=(t,e)=>!(t.adapter.length&&!t.adapter.includes(e)||t.dsbAdapter.length&&t.dsbAdapter.includes(e)),bt=(t,e)=>{if(!e.enable.length)return true;let r=[t.pkg.name,`${t.pkg.name}:${t.file.basename}`,`${t.pkg.name}:${t.file.method}`];for(let n of r)if(e.enable.includes(n))return true;return false},wt=(t,e)=>{if(!e.disable.length)return true;let r=[t.pkg.name,`${t.pkg.name}:${t.file.basename}`,`${t.pkg.name}:${t.file.method}`];for(let n of r)if(e.disable.includes(n))return false;return true},He=(t,e,r,n)=>{var i,a;if(!n)return b(t.userId,`\u5F53\u524D\u5904\u4E8ECD\u4E2D: ${t.eventId}`),false;if((i=e.enable.users)!=null&&i.length&&!e.enable.users.includes(t.userId))return b(t.userId,`\u7528\u6237\u672A\u5904\u4E8E\u767D\u540D\u5355: ${t.eventId}`),false;if((a=e.disable.users)!=null&&a.length&&e.disable.users.includes(t.userId))return b(t.userId,`\u7528\u6237\u5904\u4E8E\u9ED1\u540D\u5355: ${t.eventId}`),false;if(t.event!=="message")return true;let s={0:()=>true,2:()=>!t.isAdmin&&!t.isMaster?(b(t.userId,`\u5F53\u524D\u4EC5\u5141\u8BB8\u7BA1\u7406\u5458\u4F7F\u7528: ${t.messageId}`),false):true,3:()=>t.alias?true:(b(t.userId,`\u5F53\u524D\u4EC5\u5141\u8BB8Bot\u522B\u540D\u89E6\u53D1\u4F7F\u7528: ${t.messageId}`),false),5:()=>!t.isAdmin&&!t.isMaster&&!t.alias&&!t.atBot?(b(t.userId,`\u5F53\u524D\u4EC5\u5141\u8BB8@\u6216\u522B\u540D\u89E6\u53D1(\u7BA1\u7406\u5458\u4F8B\u5916): ${t.messageId}`),false):true,6:()=>t.isMaster?true:(b(t.userId,`\u5F53\u524D\u4EC5\u5141\u8BB8\u4E3B\u4EBA\u4F7F\u7528: ${t.messageId}`),false),default:()=>true};return (s[r.mode]||s.default)()},xe=(t,e,r,n)=>{var i,a,u,p,g,d,w,y,$,L;if(!n)return b(t.userId,`\u5F53\u524D\u5904\u4E8ECD\u4E2D: ${t.eventId}`),false;if(e.enable.users.length&&!e.enable.users.includes(t.userId))return b(t.userId,`\u7528\u6237\u672A\u5904\u4E8E\u767D\u540D\u5355: ${t.eventId}`),false;if(e.disable.users.length&&e.disable.users.includes(t.userId))return b(t.userId,`\u7528\u6237\u5904\u4E8E\u9ED1\u540D\u5355: ${t.eventId}`),false;if(t.isGroup){if((i=e.enable.groups)!=null&&i.length&&!e.enable.groups.includes(t.groupId))return b(t.groupId,`\u7FA4\u672A\u5904\u4E8E\u767D\u540D\u5355: ${t.eventId}`),false;if((a=e.disable.groups)!=null&&a.length&&e.disable.groups.includes(t.groupId))return b(t.groupId,`\u7FA4\u5904\u4E8E\u9ED1\u540D\u5355: ${t.eventId}`),false;if((u=r.memberEnable)!=null&&u.length&&!r.memberEnable.includes(t.userId))return b(t.userId,`\u7528\u6237\u672A\u5904\u4E8E\u7FA4\u6210\u5458\u767D\u540D\u5355: ${t.eventId}`),false;if((p=r.memberDisable)!=null&&p.length&&r.memberDisable.includes(t.userId))return b(t.userId,`\u7528\u6237\u5904\u4E8E\u7FA4\u6210\u5458\u9ED1\u540D\u5355: ${t.eventId}`),false}if(t.isGuild){if((g=e.enable.guilds)!=null&&g.length&&!e.enable.guilds.includes(t.guildId))return b(t.guildId,`\u9891\u9053\u672A\u5904\u4E8E\u767D\u540D\u5355: ${t.eventId}`),false;if((d=e.disable.guilds)!=null&&d.length&&e.disable.guilds.includes(t.guildId))return b(t.guildId,`\u9891\u9053\u5904\u4E8E\u9ED1\u540D\u5355: ${t.eventId}`),false;if((w=e.enable.channels)!=null&&w.length&&!e.enable.channels.includes(t.channelId))return b(t.channelId,`\u5B50\u9891\u9053\u672A\u5904\u4E8E\u767D\u540D\u5355: ${t.eventId}`),false;if((y=e.disable.channels)!=null&&y.length&&e.disable.channels.includes(t.channelId))return b(t.channelId,`\u5B50\u9891\u9053\u5904\u4E8E\u9ED1\u540D\u5355: ${t.eventId}`),false;if(($=r.memberEnable)!=null&&$.length&&!r.memberEnable.includes(t.userId))return b(t.userId,`\u7528\u6237\u672A\u5904\u4E8E\u9891\u9053\u6210\u5458\u767D\u540D\u5355: ${t.eventId}`),false;if((L=r.memberDisable)!=null&&L.length&&r.memberDisable.includes(t.userId))return b(t.userId,`\u7528\u6237\u5904\u4E8E\u9891\u9053\u6210\u5458\u9ED1\u540D\u5355: ${t.eventId}`),false}if(t.event!=="message")return true;let s={0:()=>true,1:()=>t.atBot?true:(b(t.userId,`\u5F53\u524D\u54CD\u5E94\u6A21\u5F0F\u4EC5\u5141\u8BB8@\u673A\u5668\u4EBA\u4F7F\u7528: ${t.messageId}`),false),2:()=>!t.isAdmin&&!t.isMaster?(b(t.userId,`\u5F53\u524D\u4EC5\u5141\u8BB8\u7BA1\u7406\u5458\u4F7F\u7528: ${t.messageId}`),false):true,3:()=>t.alias?true:(b(t.userId,`\u5F53\u524D\u4EC5\u5141\u8BB8Bot\u522B\u540D\u89E6\u53D1\u4F7F\u7528: ${t.messageId}`),false),4:()=>!t.alias&&!t.atBot?(b(t.userId,`\u5F53\u524D\u4EC5\u5141\u8BB8Bot\u522B\u540D\u6216@\u673A\u5668\u4EBA\u89E6\u53D1\u4F7F\u7528: ${t.messageId}`),false):true,5:()=>!t.isAdmin&&!t.isMaster&&!t.alias&&!t.atBot?(b(t.userId,`\u5F53\u524D\u4EC5\u5141\u8BB8@\u6216\u522B\u540D\u89E6\u53D1(\u7BA1\u7406\u5458\u4F8B\u5916): ${t.messageId}`),false):true,6:()=>t.isMaster?true:(b(t.userId,`\u5F53\u524D\u4EC5\u5141\u8BB8\u4E3B\u4EBA\u4F7F\u7528: ${t.messageId}`),false),default:()=>true};return (s[r.mode]||s.default)()},ro=(t,e)=>{var r,n,s,o;return (n=(r=e.enable)==null?undefined:r.groupLog)!=null&&n.length&&!e.enable.groupLog.includes(t.groupId)?(b(t.groupId,`\u7FA4\u672A\u5904\u4E8E\u767D\u540D\u5355: ${t.eventId}`),false):(o=(s=e.disable)==null?undefined:s.groupLog)!=null&&o.length&&e.disable.groupLog.includes(t.groupId)?(b(t.groupId,`\u7FA4\u5904\u4E8E\u9ED1\u540D\u5355: ${t.eventId}`),false):true},ua=(t,e)=>{var r,n,s,o,i,a,u,p;return (n=(r=e.enable)==null?undefined:r.guildLog)!=null&&n.length&&!e.enable.guildLog.includes(t.guildId)?(b(t.guildId,`\u9891\u9053\u65E5\u5FD7\u672A\u5904\u4E8E\u767D\u540D\u5355: ${t.eventId}`),false):(o=(s=e.disable)==null?undefined:s.guildLog)!=null&&o.length&&e.disable.guildLog.includes(t.guildId)?(b(t.guildId,`\u9891\u9053\u65E5\u5FD7\u5904\u4E8E\u9ED1\u540D\u5355: ${t.eventId}`),false):(a=(i=e.enable)==null?undefined:i.channelLog)!=null&&a.length&&!e.enable.channelLog.includes(t.channelId)?(b(t.channelId,`\u5B50\u9891\u9053\u65E5\u5FD7\u672A\u5904\u4E8E\u767D\u540D\u5355: ${t.eventId}`),false):(p=(u=e.disable)==null?undefined:u.channelLog)!=null&&p.length&&e.disable.channelLog.includes(t.channelId)?(b(t.channelId,`\u5B50\u9891\u9053\u65E5\u5FD7\u5904\u4E8E\u9ED1\u540D\u5355: ${t.eventId}`),false):true};});var xt,no=c(()=>{xt=class{static master="\u6682\u65E0\u6743\u9650\uFF0C\u53EA\u6709\u4E3B\u4EBA\u624D\u80FD\u64CD\u4F5C";static admin="\u6682\u65E0\u6743\u9650\uFF0C\u53EA\u6709\u7BA1\u7406\u5458\u624D\u80FD\u64CD\u4F5C";static owner="\u6682\u65E0\u6743\u9650\uFF0C\u53EA\u6709\u7FA4\u4E3B\u624D\u80FD\u64CD\u4F5C";static groupAdmin="\u6682\u65E0\u6743\u9650\uFF0C\u53EA\u6709\u7FA4\u7BA1\u7406\u5458\u624D\u80FD\u64CD\u4F5C";static handleNoPermission(e,r,n){return r===false?(e.bot.logger("debug",`${n}: ${e.messageId}`),false):(e.reply(typeof r=="string"?r:n),false)}static private(e,r){return !r.permission||r.permission==="all"?true:r.permission==="master"?e.isMaster?true:this.handleNoPermission(e,r.authFailMsg,this.master):r.permission==="admin"?e.isMaster||e.isAdmin?true:this.handleNoPermission(e,r.authFailMsg,this.admin):true}static groups(e,r){var n,s,o,i,a,u;if(!r.permission||r.permission==="all")return true;if(r.permission==="master")return e.isMaster?true:this.handleNoPermission(e,r.authFailMsg,this.master);if(r.permission==="admin")return e.isMaster||e.isAdmin?true:this.handleNoPermission(e,r.authFailMsg,this.admin);if(e.isGroup){if(r.permission==="group.owner")return e.isMaster||e.isAdmin||((n=e.sender)==null?undefined:n.role)==="owner"?true:this.handleNoPermission(e,r.authFailMsg,this.owner);if(r.permission==="group.admin")return e.isMaster||e.isAdmin||((s=e.sender)==null?undefined:s.role)==="owner"||((o=e.sender)==null?undefined:o.role)==="admin"?true:this.handleNoPermission(e,r.authFailMsg,this.groupAdmin)}else if(e.isGuild){if(r.permission==="guild.owner")return e.isMaster||e.isAdmin||((i=e.sender)==null?undefined:i.role)==="owner"?true:this.handleNoPermission(e,r.authFailMsg,this.owner);if(r.permission==="guild.admin")return e.isMaster||e.isAdmin||((a=e.sender)==null?undefined:a.role)==="owner"||((u=e.sender)==null?undefined:u.role)==="admin"?true:this.handleNoPermission(e,r.authFailMsg,this.groupAdmin)}return true}};});var pa,ga,la,so,oo,bp,da=c(()=>{De();V();Hr();F();v();_e();no();pa=async t=>{let e=k(),r=me(t.groupId,t.selfId),n=ro(t,e);if(qe(t),S(t,e),Le(t,r.alias),B(t),so(t,"group","\u7FA4\u6D88\u606F",n?"info":"debug"),je(t))return t;let o=Lr(r,t.groupId,t.userId);xe(t,e,r,o)&&oo(t,r,n,a=>!(a.event!=="message"&&a.event!=="message.group"||!["all","master","admin","group.owner","group.admin"].includes(a.permission)));},ga=async t=>{let e=k(),r=me(t.groupId,t.selfId),n=ro(t,e);if(qe(t),S(t,e),Le(t,r.alias),B(t),so(t,"groupTemp","\u7FA4\u4E34\u65F6\u6D88\u606F"),je(t))return t;let o=Lr(r,t.groupId,t.userId);xe(t,e,r,o)&&oo(t,r,n,a=>!(a.event!=="message"&&a.event!=="message.groupTemp"||!["all","master","admin"].includes(a.permission)));},la=async t=>{let e=k(),r=Cs(t.guildId,t.channelId,t.selfId),n=ua(t,e);if(qe(t),S(t,e),Le(t,r.alias),B(t),so(t,"guild","\u9891\u9053\u6D88\u606F"),je(t))return t;let o=Lr(r,`${t.guildId}:${t.channelId}`,t.userId);xe(t,e,r,o)&&oo(t,r,n,a=>!(a.event!=="message"&&a.event!=="message.guild"||!["all","master","admin","guild.owner","guild.admin"].includes(a.permission)));},so=(t,e,r,n="info")=>{t.logText=`[${e}:${t.userId}(${t.sender.nick||""})]`,logger.bot(n,t.selfId,`${r}: [${t.userId}(${t.sender.nick||""})] ${t.rawMessage}`);},oo=async(t,e,r,n)=>{for(let s of l.command){if(!n(s))continue;if(!await bp(t,s,e,r))return}b(t.userId,`\u672A\u627E\u5230\u5339\u914D\u5230\u76F8\u5E94\u63D2\u4EF6: ${t.messageId}`);},bp=async(t,e,r,n)=>{let s=e.reg;if(s&&!s.test(t.msg)||!yt(e,t.bot.adapter.protocol)||!bt(e,r)||!wt(e,r))return true;t.logFnc=`[${e.pkg.name}][${e.file.method}]`;let o=logger.fnc(t.logFnc);n&&e.log(t.selfId,`${o}${t.logText} ${Rt.truncate(t.msg,{length:100})}`);let i=Date.now();try{if(!xt.groups(t,e))return !1;let a=!1;if(e.type==="fnc"){let u=await e.fnc(t,()=>{a=!0;});a===!1&&u===!1&&(a=!0);}else {let u=new e.Cls;if(typeof(u==null?void 0:u[e.file.method])!="function")return !0;u.e=t,u.next=()=>{a=!0;};let p=await u[e.file.method](u.e);a===!1&&p===!1&&(a=!0);}return a===!0?(logger.debug(`${t.logFnc} \u7EE7\u7EED\u5339\u914D\u4E0B\u4E00\u4E2A\u63D2\u4EF6`),!0):!1}catch(a){return m.emit("error",new Error(t.logFnc,{cause:a})),false}finally{let a=logger.green(Date.now()-i+"ms"),u=Rt.truncate(t.msg,{length:100});n&&e.log(t.selfId,`${o} ${u} \u5904\u7406\u5B8C\u6210 ${a}`);}};});var fa,ha,ya,ba,wp,wa=c(()=>{De();V();F();Hr();v();_e();no();fa=async t=>{let e=k(),r=de(t.userId,t.selfId);if(qe(t),S(t,e),Le(t,r.alias),B(t),ya(t,"friend","\u597D\u53CB\u6D88\u606F"),je(t))return t;He(t,e,r,to(r,t.userId))&&ba(t,r,o=>!(o.event!=="message"&&o.event!=="message.friend"||!["all","master","admin"].includes(o.permission)));},ha=async t=>{let e=k(),r=de(t.userId,t.selfId);if(qe(t),S(t,e),Le(t,r.alias),B(t),ya(t,"direct","\u9891\u9053\u79C1\u4FE1"),je(t))return t;let s=to(r,t.userId);He(t,e,r,s)&&ba(t,r,i=>!(i.event!=="message"&&i.event!=="message.direct"||!["all","master","admin"].includes(i.permission)));},ya=(t,e,r,n="info")=>{t.logText=`[${e}:${t.userId}(${t.sender.nick||""})]`,logger.bot(n,t.selfId,`${r}: [${t.userId}(${t.sender.nick||""})] ${t.rawMessage}`);},ba=async(t,e,r)=>{for(let n of l.command){if(!r(n))continue;if(!await wp(t,n,e))return}b(t.userId,`\u672A\u627E\u5230\u5339\u914D\u5230\u76F8\u5E94\u63D2\u4EF6: ${t.messageId}`);},wp=async(t,e,r)=>{let n=e.reg;if(n&&!n.test(t.msg)||!yt(e,t.bot.adapter.protocol)||!bt(e,r)||!wt(e,r))return true;t.logFnc=`[${e.pkg.name}][${e.file.method}]`;let s=logger.fnc(t.logFnc);e.log(t.selfId,`${s}${t.logText} ${Rt.truncate(t.msg,{length:100})}`);let o=Date.now();try{if(!xt.private(t,e))return !1;let i=!1;if(e.type==="fnc"){let a=await e.fnc(t,()=>{i=!0;});i===!1&&a===!1&&(i=!0);}else {let a=new e.Cls;if(typeof(a==null?void 0:a[e.file.method])!="function")return !0;a.e=t,a.next=()=>{i=!0;};let u=await a[e.file.method](a.e);i===!1&&u===!1&&(i=!0);}return i===!0?(logger.debug(`${t.logFnc} \u7EE7\u7EED\u5339\u914D\u4E0B\u4E00\u4E2A\u63D2\u4EF6`),!0):!1}catch(i){return m.emit("error",new Error(t.logFnc,{cause:i})),false}finally{let i=logger.green(Date.now()-o+"ms"),a=Rt.truncate(t.msg,{length:100});e.log(t.selfId,`${s} ${a} \u5904\u7406\u5B8C\u6210 ${i}`);}};});var xa=c(()=>{da();wa();});var Ee,ve,ke,xp,Vt=c(()=>{V();F();_e();Ee=t=>{switch(t.subEvent){case "friendPoke":t.tips=`\u6233\u4E00\u6233: ${t.content.operatorId} ${t.content.action||"\u6233\u4E86\u6233"} ${t.content.targetId}`;break;case "receiveLike":t.tips=`\u6536\u5230\u70B9\u8D5E: ${t.content.count}`;break;case "friendRecall":t.tips=`\u64A4\u56DE\u6D88\u606F: ${t.content.messageId}`;break;case "friendFileUploaded":t.tips=`\u6587\u4EF6\u4E0A\u4F20: [fid:${t.content.fid}] [url:${t.content.url}] [name:${t.content.name}]`;break;case "friendIncrease":t.tips=`\u65B0\u589E\u597D\u53CB: ${t.content.targetId}`;break;case "friendDecrease":t.tips=`\u597D\u53CB\u51CF\u5C11: ${t.content.targetId}`;break;case "groupPoke":t.tips=`\u6233\u4E00\u6233: ${t.content.operatorId} ${t.content.action||"\u6233\u4E86\u6233"} ${t.content.targetId}`;break;case "groupMessageReaction":t.tips=`\u8868\u60C5\u52A8\u6001: \u7ED9\u6D88\u606F ${t.content.messageId} ${t.content.isSet?"\u6DFB\u52A0":"\u53D6\u6D88"}\u4E86\u8868\u60C5 ${t.content.faceId}`;break;case "groupRecall":t.tips=`\u64A4\u56DE\u6D88\u606F: ${t.content.messageId}`;break;case "groupFileUploaded":t.tips=`\u6587\u4EF6\u4E0A\u4F20: [fid:${t.content.fid}] [url:${t.content.url}] [name:${t.content.name}]`;break;case "groupMemberAdd":t.tips=`\u65B0\u589E\u6210\u5458: [\u64CD\u4F5C\u8005:${t.content.operatorId}] [\u76EE\u6807\u6210\u5458:${t.content.targetId}]`;break;case "groupMemberRemove":t.tips=`\u79FB\u9664\u6210\u5458: [\u64CD\u4F5C\u8005:${t.content.operatorId}] [\u76EE\u6807\u6210\u5458:${t.content.targetId}]`;break;case "groupCardChanged":t.tips=`\u540D\u7247\u53D8\u52A8: [\u64CD\u4F5C\u8005:${t.content.operatorId}] [\u76EE\u6807\u6210\u5458:${t.content.targetId}]`;break;case "groupAdminChanged":t.tips=`\u7BA1\u7406\u5458\u53D8\u52A8: ${t.content.targetId} \u88AB${t.content.isAdmin?"\u8BBE\u7F6E":"\u53D6\u6D88"}\u7BA1\u7406\u5458`;break;case "groupSignIn":t.tips=`\u7B7E\u5230: ${t.content.targetId}`;break;case "groupMemberTitleUpdate":t.tips=`\u5934\u8854\u53D8\u52A8: ${t.content.title}`;break;case "groupHonorChange":t.tips=`\u8363\u8A89\u53D8\u66F4: ${t.userId} \u83B7\u5F97\u4E86 ${t.content.honorType} \u8363\u8A89`;break;case "groupLuckyKing":t.tips=`\u8FD0\u6C14\u738B: ${t.content.userId} \u4ECE ${t.content.userId} \u53D1\u7684\u7EA2\u5305\u4E2D\u83B7\u5F97\u4E86\u8FD0\u6C14\u738B`;break;case "groupHighlightsChange":{t.content.isSet?t.tips=`\u8BBE\u7F6E\u7CBE\u534E: ${t.content.operatorId} \u5C06 ${t.content.messageId} \u8BBE\u7F6E\u4E3A\u7CBE\u534E\u6D88\u606F`:t.tips=`\u53D6\u6D88\u7CBE\u534E: ${t.content.operatorId} \u5C06 ${t.content.messageId} \u53D6\u6D88\u7CBE\u534E\u6D88\u606F`;break}case "groupMemberBan":{t.content.isBan?t.tips=`\u7981\u8A00\u6210\u5458: ${t.content.operatorId} \u5C06 ${t.content.targetId} \u7981\u8A00 ${t.content.duration}\u79D2`:t.tips=`\u89E3\u9664\u7981\u8A00: ${t.content.operatorId} \u89E3\u9664\u4E86 ${t.content.targetId} \u7684\u7981\u8A00`;break}case "groupWholeBan":{t.content.isBan?t.tips=`\u5168\u5458\u7981\u8A00: ${t.content.operatorId}`:t.tips=`\u89E3\u9664\u5168\u5458\u7981\u8A00: ${t.content.operatorId}`;break}}},ve=(t,e,r,n="info")=>{t.logText=`[${e}:${t.userId}(${t.sender.nick||""})]`,logger.bot(n,t.selfId,`${r}: [${t.userId}(${t.sender.nick||""})] ${t.tips}`);},ke=async(t,e)=>{for(let r of l.accept){if(r.event!==t.event&&r.event!==`${t.event}.${t.subEvent}`)continue;if(!await xp(t,r,e))return}b(t.userId,`\u672A\u627E\u5230\u5339\u914D\u5230\u76F8\u5E94\u63D2\u4EF6: ${t.eventId}`);},xp=async(t,e,r)=>{if(!yt(e,t.bot.adapter.protocol)||!bt(e,r)||!wt(e,r))return true;t.logFnc=`[${e.pkg.name}][${e.file.method}]`;let n=logger.fnc(t.logFnc);e.log(t.selfId,`${n}${t.logText}`);let s=Date.now();try{let o=!1,i=await e.fnc(t,()=>{o=!0;});return o===!1&&i===!1&&(o=!0),o===!0?(logger.debug(`${t.logFnc} \u7EE7\u7EED\u5339\u914D\u4E0B\u4E00\u4E2A\u63D2\u4EF6`),!0):!1}catch(o){return m.emit("error",new Error(t.logFnc,{cause:o})),false}finally{e.log(t.selfId,`${n} \u5904\u7406\u5B8C\u6210 ${logger.green(Date.now()-s+"ms")}`);}};});var T,_a=c(()=>{De();v();Vt();_e();T=async t=>{let e=k(),r=me(t.groupId,t.selfId);S(t,e),B(t),Ee(t),ve(t,"group","\u7FA4\u901A\u77E5");let n=we(t,r,t.groupId);xe(t,e,r,n)&&ke(t,r);};});var Ke,Ea=c(()=>{Vt();De();v();_e();Ke=async t=>{let e=k(),r=de(t.userId,t.selfId);S(t,e),B(t),Ee(t),ve(t,"friend","\u597D\u53CB\u901A\u77E5");let n=we(t,r,t.userId);He(t,e,r,n)&&ke(t,r);};});var va=c(()=>{_a();Ea();});var io,ka=c(()=>{De();v();Vt();_e();io=async t=>{let e=k(),r=me(t.groupId,t.selfId);S(t,e),B(t),Ee(t),ve(t,"group","\u7FA4\u8BF7\u6C42");let n=we(t,r,t.groupId);xe(t,e,r,n)&&ke(t,r);};});var Ga,Ma=c(()=>{De();Vt();v();_e();Ga=async t=>{let e=k(),r=de(t.userId,t.selfId);S(t,e),B(t),Ee(t),ve(t,"friend","\u597D\u53CB\u8BF7\u6C42");let n=we(t,r,t.userId);He(t,e,r,n)&&ke(t,r);};});var $a=c(()=>{ka();Ma();});var Ge,zt=c(()=>{kr();Ne();Ne();Ge=class{#e;#t;#r;#s;#n;#o;#i;#a;#u;#c;reply;store;logFnc;logText;isMaster;isAdmin;constructor({event:e,subEvent:r,eventId:n,rawEvent:s,time:o,contact:i,sender:a,srcReply:u,bot:p}){this.#e=p.selfId,this.#t=e,this.#r=r,this.#s=n,this.#n=s,this.#o=o,this.#i=i,this.#a=a,this.#u=u,this.#c=p,this.store=new Map,this.logFnc="",this.logText="",this.isMaster=false,this.isAdmin=false,this.reply=async(g,d)=>{let w=Be(g),y=(d==null?undefined:d.at)??false,$=(d==null?undefined:d.reply)??false,L=(d==null?undefined:d.recallMsg)??0;y&&!this.isPrivate&&w.unshift(_.at(this.userId)),$&&"message_id"in this&&w.unshift(_.reply(this.message_id));let Je={messageId:"",time:0,messageTime:0,rawData:{},message_id:""},Tn=this.#u(w),{raw:Go}=ie(w);return this.isGroup?this.selfId!=="console"&&logger.bot("info",this.selfId,`${logger.green(`Send Group ${this.contact.peer}: `)}${Go.replace(/\n/g,"\\n")}`):this.selfId!=="console"&&logger.bot("info",this.selfId,`${logger.green(`Send private ${this.contact.peer}: `)}${Go.replace(/\n/g,"\\n")}`),Je=op.types.isPromise(Tn)?await Tn:Tn,Je.message_id=Je.messageId,L>0&&Je.messageId&&setTimeout(()=>{this.bot.recallMsg(this.contact,Je.messageId);},L*1e3),Je},Dt(this,"reply");}get self_id(){return this.#e}get user_id(){return this.userId}get selfId(){return this.#e}get userId(){return this.#a.userId}get event(){return this.#t}get subEvent(){return this.#r}get eventId(){return this.#s}get rawEvent(){return this.#n}get time(){return this.#o}get contact(){return this.#i}get sender(){return this.#a}get srcReply(){return this.#u}get bot(){return this.#c}get isPrivate(){return this.#i.scene==="friend"}get isFriend(){return this.isPrivate}get isGroup(){return this.#i.scene==="group"}get isGuild(){return this.#i.scene==="guild"}get isGroupTemp(){return this.#i.scene==="groupTemp"}get isDirect(){return this.#i.scene==="direct"}};});var We,Kr,Wr,Ur,Yr,Jr,ao=c(()=>{zt();We=class extends Ge{#e;#t;#r;#s;elements;msg;alias;rawMessage;constructor({subEvent:e,eventId:r,rawEvent:n,time:s,contact:o,sender:i,srcReply:a,bot:u,messageId:p,messageSeq:g,elements:d}){super({subEvent:e,eventId:r,rawEvent:n,time:s,contact:o,sender:i,srcReply:a,bot:u,event:"message"}),this.#e="message",this.#t=e,this.#r=p,this.#s=g,this.elements=d,this.msg="",this.alias="",this.rawMessage="";}get raw_message(){return this.rawMessage}get message_id(){return this.messageId}get message_seq(){return this.messageSeq}get event(){return this.#e}get subEvent(){return this.#t}get messageId(){return this.#r}get messageSeq(){return this.#s}get at(){return this.elements.filter(e=>e.type==="at").map(e=>e.targetId).filter(Boolean)}get atBot(){return this.at.includes(this.selfId)}get atAll(){return this.at.includes("all")}get image(){return this.elements.filter(e=>e.type==="image").map(e=>e.file).filter(Boolean)}get record(){let e=this.elements.find(r=>r.type==="record");return e?e.file:""}get replyId(){let e=this.elements.find(r=>r.type==="reply");return e?e.messageId:""}get reply_id(){return this.replyId}},Kr=class extends We{#e;#t;#r;constructor(e){super(Object.assign(e,{subEvent:"friend"})),this.#e="friend",this.#t=e.contact,this.#r=e.sender;}get contact(){return this.#t}get sender(){return this.#r}get subEvent(){return this.#e}get isPrivate(){return true}get isFriend(){return true}get isGroup(){return false}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},Wr=class extends We{#e;#t;#r;constructor(e){super(Object.assign(e,{subEvent:"group"})),this.#e="group",this.#t=e.contact,this.#r=e.sender;}get group_id(){return this.groupId}get groupId(){return this.contact.peer}get contact(){return this.#t}get sender(){return this.#r}get subEvent(){return this.#e}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},Ur=class extends We{#e;#t;#r;#s;constructor(e){super(Object.assign(e,{subEvent:"direct"})),this.#e="direct",this.#r=e.sender,this.#t=e.contact,this.#s=e.srcGuildId;}get srcGuildId(){return this.#s}get contact(){return this.#t}get sender(){return this.#r}get subEvent(){return this.#e}get isPrivate(){return true}get isFriend(){return false}get isGroup(){return false}get isGuild(){return false}get isDirect(){return true}get isGroupTemp(){return false}},Yr=class extends We{#e;#t;#r;constructor(e){super(Object.assign(e,{subEvent:"guild"})),this.#e="guild",this.#t=e.contact,this.#r=e.sender;}get guild_id(){return this.guildId}get channel_id(){return this.channelId}get guildId(){return this.#t.peer}get channelId(){return this.#t.subPeer}get contact(){return this.#t}get sender(){return this.#r}get subEvent(){return this.#e}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return false}get isGuild(){return true}get isDirect(){return false}get isGroupTemp(){return false}},Jr=class extends We{#e;#t;#r;constructor(e){super(Object.assign(e,{subEvent:"groupTemp"})),this.#e="groupTemp",this.#t=e.contact,this.#r=e.sender;}get group_id(){return this.groupId}get groupId(){return this.contact.peer}get contact(){return this.#t}get sender(){return this.#r}get subEvent(){return this.#e}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return false}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return true}};});var ue,Vr,zr,Qr,Xr,Zr,en,M,tn,rn,nn,sn,on,an,un,cn,pn,gn,ln,dn,mn,fn,hn,uo=c(()=>{zt();ue=class extends Ge{#e;#t;tips;content;constructor({subEvent:e,eventId:r,rawEvent:n,time:s,contact:o,sender:i,srcReply:a,bot:u}){super({subEvent:e,eventId:r,rawEvent:n,time:s,contact:o,sender:i,srcReply:a,bot:u,event:"notice"}),this.#e="notice",this.#t=e,this.tips="";}get event(){return this.#e}get subEvent(){return this.#t}},Vr=class extends ue{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"receiveLike"})),this.#e="receiveLike",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return true}get isFriend(){return true}get isGroup(){return false}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},zr=class extends ue{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"friendIncrease"})),this.#e="friendIncrease",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return true}get isFriend(){return true}get isGroup(){return false}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},Qr=class extends ue{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"friendDecrease"})),this.#e="friendDecrease",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return true}get isFriend(){return true}get isGroup(){return false}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},Xr=class extends ue{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"friendPoke"})),this.#e="friendPoke",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return true}get isFriend(){return true}get isGroup(){return false}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},Zr=class extends ue{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"friendRecall"})),this.#e="friendRecall",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return true}get isFriend(){return true}get isGroup(){return false}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},en=class extends ue{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"friendFileUploaded"})),this.#e="friendFileUploaded",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return true}get isFriend(){return true}get isGroup(){return false}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},M=class extends ue{get group_id(){return this.contact.peer}get groupId(){return this.contact.peer}},tn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupPoke"})),this.#e="groupPoke",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},rn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupRecall"})),this.#e="groupRecall",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},nn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupFileUploaded"})),this.#e="groupFileUploaded",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},sn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupCardChanged"})),this.#e="groupCardChanged",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},on=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupMemberTitleUpdate"})),this.#e="groupMemberTitleUpdate",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},an=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupHighlightsChange"})),this.#e="groupHighlightsChange",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},un=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupMemberAdd"})),this.#e="groupMemberAdd",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},cn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupMemberRemove"})),this.#e="groupMemberRemove",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},pn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupAdminChanged"})),this.#e="groupAdminChanged",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},gn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupSignIn"})),this.#e="groupSignIn",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},ln=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupMemberBan"})),this.#e="groupMemberBan",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},dn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupWholeBan"})),this.#e="groupWholeBan",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},mn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupMessageReaction"})),this.#e="groupMessageReaction",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},fn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupLuckyKing"})),this.#e="groupLuckyKing",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},hn=class extends M{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupHonorChange"})),this.#e="groupHonorChange",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}};});var Qt,yn,bn,wn,co=c(()=>{zt();Qt=class extends Ge{#e;#t;tips;content;constructor({subEvent:e,eventId:r,rawEvent:n,time:s,contact:o,sender:i,srcReply:a,bot:u}){super({subEvent:e,eventId:r,rawEvent:n,time:s,contact:o,sender:i,srcReply:a,bot:u,event:"request"}),this.#e="request",this.#t=e,this.tips="";}get event(){return this.#e}get subEvent(){return this.#t}},yn=class extends Qt{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"friendApply"})),this.#e="friendApply",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return true}get isFriend(){return true}get isGroup(){return false}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},bn=class extends Qt{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupApply"})),this.#e="groupApply",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get group_id(){return this.contact.peer}get groupId(){return this.contact.peer}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}},wn=class extends Qt{#e;#t;#r;content;constructor(e){super(Object.assign(e,{subEvent:"groupInvite"})),this.#e="groupInvite",this.#t=e.contact,this.#r=e.sender,this.content=e.content;}get group_id(){return this.contact.peer}get groupId(){return this.contact.peer}get subEvent(){return this.#e}get contact(){return this.#t}get sender(){return this.#r}get isPrivate(){return false}get isFriend(){return false}get isGroup(){return true}get isGuild(){return false}get isDirect(){return false}get isGroupTemp(){return false}};});var xn,_n,ay,uy,Ia,cy,Aa,py,Oa,Pa,gy,Ta,Sa,Ba,Ra,ly,Ca,Fa,Na,Da,dy,ja,my,po,qa,La,fy,hy,yy,Xt=c(()=>{xa();va();$a();ao();uo();co();xn=t=>{let e=new Kr(t);return fa(e),e},_n=t=>{let e=new Wr(t);return pa(e),e},ay=t=>{let e=new Yr(t);return la(e),e},uy=t=>{let e=new Ur(t);return ha(e),e},Ia=t=>{let e=new Jr(t);return ga(e),e},cy=t=>{let e=new Vr(t);return Ke(e),e},Aa=t=>{let e=new zr(t);return Ke(e),e},py=t=>{let e=new Qr(t);return Ke(e),e},Oa=t=>{let e=new Xr(t);return Ke(e),e},Pa=t=>{let e=new Zr(t);return Ke(e),e},gy=t=>{let e=new en(t);return Ke(e),e},Ta=t=>{let e=new tn(t);return T(e),e},Sa=t=>{let e=new rn(t);return T(e),e},Ba=t=>{let e=new nn(t);return T(e),e},Ra=t=>{let e=new sn(t);return T(e),e},ly=t=>{let e=new on(t);return T(e),e},Ca=t=>{let e=new an(t);return T(e),e},Fa=t=>{let e=new un(t);return T(e),e},Na=t=>{let e=new cn(t);return T(e),e},Da=t=>{let e=new pn(t);return T(e),e},dy=t=>{let e=new gn(t);return T(e),e},ja=t=>{let e=new ln(t);return T(e),e},my=t=>{let e=new dn(t);return T(e),e},po=t=>{let e=new mn(t);return T(e),e},qa=t=>{let e=new fn(t);return T(e),e},La=t=>{let e=new hn(t);return T(e),e},fy=t=>{let e=new bn(t);return io(e),e},hy=t=>{let e=new wn(t);return io(e),e},yy=t=>{let e=new yn(t);return Ga(e),e};});var ce,E,Ha=c(()=>{ce=(t,e="",r,n,s,o)=>(e||(e=""),{userId:t,nick:e,name:e,sex:r,age:n,uid:s,uin:o}),E=(t,e,r,n,s,o,i,a,u,p,g)=>{if(typeof t=="object"){let d=t.name||"";return {userId:t.userId,nick:d,name:d,role:t.role,card:t.card,area:t.area,level:t.level,title:t.title,sex:t.sex,age:t.age,uid:t.uid,uin:t.uin}}if(typeof t=="string")return {userId:t,nick:r||"",name:r||"",role:e||"unknown",card:o,area:i,level:a,title:u,sex:n,age:s,uid:p,uin:g};throw TypeError("\u63D0\u4F9B\u7684\u53C2\u6570\u7C7B\u578B\u9519\u8BEF")};});var Me,G,Ka,Wa=c(()=>{Me=(t,e="")=>({scene:"friend",peer:t,name:e}),G=(t,e="")=>({scene:"group",peer:t,name:e}),Ka=(t,e,r="")=>({scene:"groupTemp",peer:t,subPeer:e,name:r});});var Zt=c(()=>{zt();uo();Ha();Wa();ao();co();});var Ua,Y,En,Ya,Ja=c(()=>{jr();Se();lr();v();j();Xs();Ne();Xt();Zt();Ua=0,Y="console",En=class extends Fe{constructor(){super(),m.on("karin:adapter:open",()=>process.stdin.on("data",e=>this.createEvent(e))),m.on("karin:adapter:close",()=>process.stdin.removeAllListeners("data")),this.adapter.name="@karinjs/console",this.adapter.communication="other",this.adapter.platform="other",this.adapter.standard="other",this.adapter.version=process.env.karin_version,this.account.name=Y,this.account.uid=Y,this.account.uin=Y,this.account.selfId=Y,this.account.avatar="https://p.qlogo.cn/gh/967068507/967068507/0",m.emit("karin:adapter:open");}get selfId(){return this.account.selfId}createEvent(e){let r=e.toString().trim(),n=Math.floor(Math.random()*1e9),s=Date.now();if(r.startsWith("group")){let i=G("10010");_n({bot:this,contact:i,elements:[_.text(r.replace(/^group/,"").trim())],eventId:`${Y}${s}`,messageId:`${Y}${s}`,messageSeq:n,rawEvent:{data:e},sender:E(Y,"member"),time:s,srcReply:a=>this.sendMsg(i,a)});return}let o=Me(Y);xn({bot:this,contact:o,elements:[_.text(r.replace(/^group/,"").trim())],eventId:`${Y}.${s}`,messageId:`${Y}.${s}`,messageSeq:n,rawEvent:{data:e},sender:ce(Y,""),time:s,srcReply:i=>this.sendMsg(o,i)});}async sendMsg(e,r,n){let s=Date.now(),o=(++Ua).toString(),i={message_id:o,messageId:o,time:s,messageTime:s,rawData:{}},a=[];for(let u of r){if(u.type==="at"){a.push(`[at:${u.targetId}]`);continue}if(u.type==="text"){a.push(u.text);continue}if(u.type==="image"||u.type==="record"||u.type==="video"){let p=u.file.startsWith("http")?u.file:await this.getUrl(u.file,".png");a.push(`[${u.type}: ${logger.blue(p)} ]`);continue}a.push(JSON.stringify(u));}return e.scene==="group"?(a.unshift(logger.green("Send group message: ")),logger.info(a.join(""))):(a.unshift(logger.green("Send private message: ")),logger.info(a.join(""))),i}async getUrl(e,r){let n=X(),s=(++Ua).toString(),o=N.join(Ae,`${s}${r}`);return await A.promises.writeFile(o,await tt(e)),n.console.isLocal?`http://127.0.0.1:${n.port}/console/${s}${r}`:n.console.host?`${n.console.host}/console/${s}${r}?token=${n.console.token}`:`http://127.0.0.1:${n.port}/console/${s}${r}?token=${n.console.token}`}},Ya=new En;mt("other",Ya);});var Va,J,za,Qa,lo,Ue,kp,Gp,vn,kn,go,Xa,Mp,Za=c(()=>{Va=0,J=[],za=(t,e)=>{let r=++Va;return J.push({index:r,id:t,render:e}),logger.mark(`[render:${Va}] ${logger.green("\u6CE8\u518C\u6210\u529F")}: ${t}`),r},Qa=t=>{let e=J.find(r=>r.index===t);return e?(J.splice(J.findIndex(r=>r.index===t),1),logger.mark(`[render] ${logger.yellow("\u5378\u8F7D\u6210\u529F")}: ${e.id}`),true):(logger.error(`[render] \u5378\u8F7D\u5931\u8D25: \u4E0D\u5B58\u5728\u7D22\u5F15 ${t}`),false)},lo=t=>{if(J.length===0)throw new Error("[\u8C03\u7528\u6E32\u67D3\u5668\u5931\u8D25] \u6E32\u67D3\u5668\u5217\u8868\u4E3A\u7A7A");if(!t)return J[Math.floor(Math.random()*J.length)];if(typeof t=="number"){let r=J.find(n=>n.index===t);if(!r)throw new Error(`[\u8C03\u7528\u6E32\u67D3\u5668\u5931\u8D25] \u672A\u627E\u5230\u6E32\u67D3\u5668\uFF1A${t}`);return r}let e=J.find(r=>r.id===t);if(!e)throw new Error(`[\u8C03\u7528\u6E32\u67D3\u5668\u5931\u8D25] \u672A\u627E\u5230\u6E32\u67D3\u5668\uFF1A${t}`);return e},Ue=async(t,e)=>await lo(e).render(Object.assign(t,{encoding:"base64"})),kp=()=>J.length,Gp=()=>J.map(e=>e),vn=t=>Ue({file:t,name:"render",encoding:"base64",pageGotoParams:{waitUntil:"networkidle2"}}),kn=(t,e)=>(!e&&e!==0&&(e=true),Ue({file:t,name:"render",encoding:"base64",multiPage:e,pageGotoParams:{waitUntil:"networkidle2"}})),go=class{app(e){return za(e.id,e.render)}unapp(e){return Qa(e)}App(e=""){return lo(e)}async render(e,r){return Ue(e,r)}async renderHtml(e){return vn(e)}async renderMultiHtml(e,r){return kn(e,r)}},Xa=new go,Mp=Xa;});var Gn,mo,Ap,Op,Pp,Tp,eu=c(()=>{j();It();Gn=new Map,mo=new Map,Ap=t=>{if(t.data){if(t.file.startsWith("http"))throw TypeError("\u4ED6\u55B5\u7684 \u4E0D\u4F1A\u771F\u7684\u6709\u7B28\u6BD4\u4F20\u4E2Ahttp\u6765\u5F53\u505A\u6A21\u677F\u5427...");let e=N.resolve(t.file),r=Op(e),n=Ip.render(r,t.data),s=Pp(t.file,n,t.name);return A.writeFileSync(s,n),delete t.data,delete t.name,t.file=`file://${s}`,t}return !t.file.startsWith("http")&&!t.file.startsWith("file")&&(t.file=`file://${t.file}`),delete t.data,delete t.name,t},Op=t=>{let e=Gn.get(t);if(e)return e;let r=A.readFileSync(t,"utf-8");return Tp(t,r),r},Pp=(t,e,r)=>{let n=N.extname(t),s=N.basename(t,n),o=N.join(At,r||"render"),i=N.join(o,`${s}-${Date.now()}${n}`);return ze(o),A.writeFileSync(i,e),i},Tp=async(t,e)=>{if(Gn.set(t,e),mo.has(t))return;let r=Cu.watch(t);mo.set(t,r),r.on("change",()=>{Gn.set(t,A.readFileSync(t,"utf-8")),logger.info(`[\u6587\u4EF6\u53D8\u52A8] html\u6A21\u677F\u53D1\u9001\u53D8\u52A8: ${t}`);}),r.on("unlink",()=>{Gn.delete(t),r.close(),mo.delete(t),r.removeAllListeners(),logger.info(`[\u6587\u4EF6\u5220\u9664] html\u6A21\u677F\u88AB\u5220\u9664: ${t}`);});};});var tu=c(()=>{});var fo=c(()=>{Za();eu();tu();});var ru={};R(ru,{AdapterBase:()=>Fe,AdapterConsole:()=>En,Renderer:()=>Mp,adapter:()=>Ya,callRender:()=>Ue,getRender:()=>lo,getRenderCount:()=>kp,getRenderList:()=>Gp,registerRender:()=>za,render:()=>Xa,renderHtml:()=>vn,renderMultiHtml:()=>kn,renderTpl:()=>Ap,unregisterRender:()=>Qa});var ho=c(()=>{jr();Ja();fo();});var wu=Date.now(),Io=false,$o=()=>Io||process.env.karin_dev||process.argv.some(t=>t.includes("debug")),Ao=t=>{let e=i=>U.hex("#0cafff")(i),r=i=>{e=i;},n=(...i)=>{process.stderr.write(`${e(t)} ${op.format(...i)} ${e(`+${Date.now()-wu}ms`)}
|
|
11
|
+
`);},s=()=>{},o=$o()?n:s;return Object.assign(o,{chalk:U,setColor:r,enable:i=>{Io=i,o=$o()?n:s;}})};var xu=Ao("core");global.debug=xu;v();j();A.existsSync(Dn)||A.mkdirSync(Dn);var rp=(t={})=>{if(t.config)return Ns.configure(t.config);let{level:e="info",daysToKeep:r=7,overall:n=true,fragments:s=false,maxLogSize:o=30}=t.log4jsCfg||{},i={appenders:{console:{type:"console",layout:{type:"pattern",pattern:`%[[Karin][%d{hh:mm:ss.SSS}][%4.4p]%] ${process.env.karin_dev==="dev"?"[%f{3}:%l] ":""}%m`}}},categories:{default:{appenders:["console"],level:e,enableCallStack:process.env.karin_dev==="dev"}},levels:{handler:{value:15e3,colour:"cyan"}}};return n&&(i.categories.default.appenders.unshift("overall"),i.appenders.overall={type:"file",filename:"logs/logger",pattern:"yyyy-MM-dd.log",keepFileExt:true,alwaysIncludePattern:true,daysToKeep:n||7,layout:{type:"pattern",pattern:"[%d{hh:mm:ss.SSS}][%4.4p] %m"}}),s&&(i.categories.default.appenders.unshift("fragments"),i.appenders.fragments={type:"file",filename:"logs/app.log",pattern:"MM-dd.log",keepFileExt:true,alwaysIncludePattern:true,daysToKeep:r||7,maxLogSize:(o||30)*1024*1024,numBackups:9999999,layout:{type:"pattern",pattern:"[%d{hh:mm:ss.SSS}][%4.4p] %m"}}),Ns.configure(i)},np=(t,e)=>{let r=t;return r.chalk=U,r.red=U.red,r.green=U.green,r.yellow=U.yellow,r.blue=U.blue,r.magenta=U.magenta,r.cyan=U.cyan,r.white=U.white,r.gray=U.gray,r.violet=U.hex("#868ECC"),r.fnc=U.hex("#FFFF00"),r.bot=(n,s,...o)=>{switch(n){case "trace":return r.trace(r.violet(`[Bot:${s}]`),...o);case "debug":return r.debug(r.violet(`[Bot:${s}]`),...o);case "mark":return r.mark(r.violet(`[Bot:${s}]`),...o);case "info":return r.info(r.violet(`[Bot:${s}]`),...o);case "warn":return r.warn(r.violet(`[Bot:${s}]`),...o);case "error":return r.error(r.violet(`[Bot:${s}]`),...o);case "fatal":return r.fatal(r.violet(`[Bot:${s}]`),...o);default:return r.info(r.violet(`[Bot:${s}]`),...o)}},r},ji=(t={})=>{rp(t);let e=np(Ns.getLogger("default"));return global.logger=e,e};debug("debug: init logger");var dm=ji({log4jsCfg:k().log4jsCfg});v();Rr();Fs();Os();await Ps(Ut());var Sp=async()=>{let[{LoaderPlugin:t},{listen:e}]=await Promise.all([Promise.resolve().then(()=>(Hi(),Li)),Promise.resolve().then(()=>(Js(),ra)),Promise.resolve().then(()=>(ho(),ru))]);await Promise.all([new t().init(),e(Ut(),Ts())]);};Sp();Xs();var yo={};R(yo,{accept:()=>Rp,button:()=>Cp,command:()=>Np,ctx:()=>Dp,handler:()=>jp,render:()=>Fp,sendAdmin:()=>Lp,sendMaster:()=>qp,task:()=>Bp});Ce();var Bp=(t,e,r,n={})=>{if(!t)throw new Error("[task]: \u7F3A\u5C11\u53C2\u6570[name]");if(!e)throw new Error("[task]: \u7F3A\u5C11\u53C2\u6570[cron]");if(!r||typeof r!="function")throw new Error("[task]: \u7F3A\u5C11\u53C2\u6570\u6216\u7C7B\u578B\u9519\u8BEF[fnc]");return {name:t,cron:e,fnc:r,log:he(n.log,false),schedule:undefined,file:Z("task",n.name||"task"),pkg:ee()}};Ce();var Rp=(t,e,r={})=>{let n=r.dsbAdapter||r.notAdapter||[],s=Number(r.rank??r.priority);return {event:t,fnc:e,log:he(r.log,true),adapter:Array.isArray(r.adapter)?r.adapter:[],dsbAdapter:Array.isArray(n)?n:[],file:Z("accept",r.name||"accept"),pkg:ee(),priority:s??1e4}};Ce();var Cp=(t,e,r={})=>{let n=Number(r.rank??r.priority);return {fnc:e,reg:t instanceof RegExp?t:new RegExp(t),rank:isNaN(n)?1e4:n,file:Z("button",r.name||"button"),pkg:ee(),priority:n??1e4}};fo();var Fp=(t,e,r)=>t==="opt"?Ue(e,r):typeof t=="string"?e?kn(t,e):vn(t):Ue(t,e);Ce();var Np=(t,e,r={})=>{t=typeof t=="string"?new RegExp(t):t;let n=typeof e=="function"?e:async i=>{let a=typeof e=="number"?String(e):e;return await i.reply(a,{at:"at"in r&&r.at||false,reply:"reply"in r&&r.reply||false,recallMsg:"recallMsg"in r&&Number(r.recallMsg)||0}),!("stop"in r&&!r.stop)},s=r.dsbAdapter||r.notAdapter||[],o=Number(r.rank??r.priority);return {type:"fnc",event:r.event||"message",fnc:n,log:he(r.log,true),permission:r.perm||r.permission||"all",priority:isNaN(o)?1e4:o,reg:t,adapter:Array.isArray(r.adapter)?r.adapter:[],dsbAdapter:Array.isArray(s)?s:[],authFailMsg:r.authFailMsg||true,file:Z("command",r.name||"command"),pkg:ee()}};F();Hr();var Dp=async(t,e)=>{let r=(e==null?undefined:e.time)||120,n=(e==null?undefined:e.userId)||t.userId||t.user_id,s=t.contact.subPeer?`${t.contact.peer}:${t.contact.subPeer}:${n}`:`${t.contact.peer}:${n}`;return ht.set(s,t),new Promise((o,i)=>{let a=setTimeout(()=>{let u=ht.get(s);if((u==null?undefined:u.eventId)===t.eventId)return ht.delete(s),e!=null&&e.reply&&t.reply(e.replyMsg||"\u64CD\u4F5C\u8D85\u65F6\u5DF2\u53D6\u6D88"),m.removeAllListeners(`ctx:${s}`),i(new Error(`\u63A5\u6536\u4E0B\u6587\u4E8B\u4EF6\u8D85\u65F6\uFF0C\u5DF2\u53D6\u6D88\u4E0B\u6587\u76D1\u542C: ${s}`)),true},r*1e3);m.once(`ctx:${s}`,u=>{clearTimeout(a),o(u);});})};Ce();var jp=(t,e,r={})=>{if(!t)throw new Error("[handler]: \u7F3A\u5C11\u53C2\u6570[key]");if(!e)throw new Error("[handler]: \u7F3A\u5C11\u53C2\u6570[fnc]");return {key:t,fnc:e,priority:Number(r.rank??r.priority)||1e4,file:Z("handler",r.name||"handler"),pkg:ee()}};be();v();var qp=async(t,e,r,n={recallMsg:0,retryCount:1,mustMaster:false})=>{let s=(n==null?undefined:n.mustMaster)??false,o=Bs();if(s){if(!o.includes(`${t}@${e}`))throw new Error("\u53D1\u9001\u6D88\u606F\u5931\u8D25: \u76EE\u6807\u4E0D\u662FBot\u7684\u4E13\u5C5E\u4E3B\u4EBA")}else if(!o.includes(e))throw new Error("\u53D1\u9001\u6D88\u606F\u5931\u8D25: \u76EE\u6807\u4E0D\u662F\u4E3B\u4EBA");return qr(t,{peer:e,scene:"friend"},r,n)},Lp=async(t,e,r,n={recallMsg:0,retryCount:1,mustAdmin:false})=>{let s=(n==null?undefined:n.mustAdmin)??false,o=Rs();if(s){if(!o.includes(`${t}@${e}`))throw new Error("\u53D1\u9001\u6D88\u606F\u5931\u8D25: \u76EE\u6807\u4E0D\u662FBot\u7684\u4E13\u5C5E\u7BA1\u7406\u5458")}else if(!o.includes(e))throw new Error("\u53D1\u9001\u6D88\u606F\u5931\u8D25: \u76EE\u6807\u4E0D\u662F\u7BA1\u7406\u5458");return qr(t,{peer:e,scene:"friend"},r,n)};F();be();var bo=class extends EventEmitter{name="karin";contact(e,r,n,s){return e==="guild"||e==="direct"||e==="groupTemp"?{scene:e,peer:r,subPeer:n,name:s}:{scene:e,peer:r,subPeer:undefined,name:s}}contactGroup(e,r){return {scene:"group",peer:e,subPeer:undefined,name:r||""}}contactFriend(e,r){return {scene:"friend",peer:e,subPeer:undefined,name:r||""}}contactGuild(e,r,n,s){return {scene:"guild",peer:e,subPeer:r,name:n||"",subName:s||""}}contactGroupTemp(e,r,n){return {scene:"groupTemp",peer:e,subPeer:r,name:n||""}}friendSender(e,r,n="unknown",s,o,i){return {userId:String(e),nick:r,sex:n,age:s,uid:o,uin:i,name:r}}groupSender(e,r,n,s,o,i,a,u,p,g,d){return {userId:String(e),role:r||"unknown",nick:n||"",sex:s,age:o,card:i,area:a,level:u,title:p,uid:g,uin:d,name:n||""}}getBotByIndex(e){return Vs(e)}getBotCount(){return ia()}getBotAll(e){return e?oa():sa().map(r=>r)}},Kp=()=>{m.on("ws:connection",(t,e)=>{let r=`ws:connection:${e.url||"/"}`;if(debug(`on ws:connection host: ${e.headers.host} url: ${e.url}`),!tr.listenerCount(r)){t.close(),logger.warn(`[server][webSocket] \u8FDE\u63A5\u65AD\u5F00 \u672A\u627E\u5230\u7ED1\u5B9A\u7684\u8DEF\u7531: ${e.url||"/"}`);return}tr.emit(r,t,e);}),m.on("watch:file",(t,e,r)=>{tr.emit("file:change",t,e,r);});},tr=new bo;Kp();debug("debug: init karin");var nu=Object.assign(tr,yo),Rb=nu;V();var Nb=async(t,e)=>{let r=[];for(let n of l.button)if(n.reg.test(t))try{let o=!1,i=()=>{o=!0;},a=await n.fnc(i,e);if(a&&(Array.isArray(a)?r.push(...a):r.push(a)),!o)return r}catch(o){logger.error(`[Button][Error] ${n.pkg.name}:`),logger.error(o);}return r};ws();var su={};R(su,{Watch:()=>Ft,Watcher:()=>Nt,YamlEditor:()=>ne,absPath:()=>ur,applyComments:()=>Ct,base64:()=>gr,buffer:()=>tt,clearRequire:()=>Yo,clearRequireFile:()=>ge,comment:()=>Jn,copyConfig:()=>jo,copyConfigSync:()=>Do,copyFiles:()=>qn,copyFilesSync:()=>jn,createPluginDir:()=>cr,downFile:()=>ar,existToMkdir:()=>ir,existToMkdirSync:()=>ze,exists:()=>Sn,existsSync:()=>Po,file:()=>O,filesByExt:()=>rt,getFiles:()=>pr,getPluginInfo:()=>Bt,getRelPath:()=>fr,isDir:()=>or,isDirSync:()=>To,isFile:()=>Oo,isFileSync:()=>So,isPlugin:()=>wr,isStatic:()=>Qo,isSubPath:()=>yr,json:()=>Ko,key:()=>Mr,lock:()=>jt,lockMethod:()=>Qn,lockProp:()=>Dt,log:()=>Xn,logs:()=>Zn,mkdir:()=>Bn,mkdirSync:()=>$t,parseChangelog:()=>qt,pkgRoot:()=>br,range:()=>es,read:()=>st,readFile:()=>Ho,readJson:()=>Ln,readJsonSync:()=>Pt,requireFile:()=>K,requireFileSync:()=>q,rmSync:()=>Bo,save:()=>_r,sep:()=>pe,splitPath:()=>mr,stream:()=>Oe,urlToPath:()=>hr,watch:()=>Vn,watchAndMerge:()=>ti,write:()=>xr,writeJson:()=>Hn,writeJsonSync:()=>Tt,yaml:()=>Zo});Ir();Pe();Gr();Ir();var au={};R(au,{checkGitPluginUpdate:()=>Vp,checkPkgUpdate:()=>Up,errorToString:()=>Ku,exec:()=>x,ffmpeg:()=>ds,ffplay:()=>Qu,ffprobe:()=>ms,fileToUrl:()=>Qp,fileToUrlHandlerKey:()=>_o,formatTime:()=>hs,getCommit:()=>rr,getHash:()=>xo,getPid:()=>us,getPkgVersion:()=>nr,getRemotePkgVersion:()=>In,getRequestIp:()=>Vi,getTime:()=>ou,importModule:()=>Wp,isClass:()=>Ds,isDocker:()=>Vu,isIPv4Loop:()=>Ls,isIPv6Loop:()=>Ji,isLinux:()=>Yu,isLocalRequest:()=>Hs,isLoopback:()=>Yi,isMac:()=>Ju,isRoot:()=>zu,isWin:()=>Or,restart:()=>dp,restartDirect:()=>Ws,stringifyError:()=>os,updateAllGitPlugin:()=>zp,updateAllPkg:()=>Jp,updateGitPlugin:()=>iu,updatePkg:()=>Yp,uptime:()=>Xu});Ks();cs();le();ys();js();is();fs();var Wp=async(t,e=false)=>{try{return {status:!0,data:await import(`file://${t}${e?`?t=${Date.now()}`:""}`)}}catch(r){return {status:false,data:r}}};as();le();Pe();Pr();var wo=(t=false)=>K("package.json",{force:t}),Up=async t=>{let e=(global==null?undefined:global.logger)||console;try{let r=await nr(t),n=await In(t);return r===n?{status:"no",local:r}:{status:"yes",local:r,remote:n}}catch(r){return e.error(r),{status:"error",error:r}}},nr=async t=>{var a,u,p,g;let{status:e,stdout:r,error:n}=await x(`npm list ${t} --depth=0`);if(e)throw (a=n==null?undefined:n.stack)!=null&&a.toString().includes("empty")?new Error(`\u83B7\u53D6\u5931\u8D25\uFF0C${t} \u672A\u5B89\u88C5`):n;let o=new RegExp(`${t}@(\\d+\\.\\d+\\.\\d+)`,"gm").exec(r.toString());if(o!=null&&o[1])return o[1];let i=await wo();return ((u=i==null?undefined:i.dependencies)==null?undefined:u[t])||((p=i==null?undefined:i.devDependencies)==null?undefined:p[t])||((g=i==null?undefined:i.peerDependencies)==null?undefined:g[t])},In=async(t,e="latest")=>{var i;let r=e==="latest"?`npm show ${t} version`:`npm show ${t} dist-tags.${e}`,{status:n,stdout:s,error:o}=await x(r);if(n)throw (i=o==null?undefined:o.stack)!=null&&i.toString().includes("empty")?new Error(`\u83B7\u53D6\u5931\u8D25\uFF0C${t} \u672A\u5B89\u88C5`):o;return s.toString().trim()},Yp=async(t,e="latest")=>{let r=(global==null?undefined:global.logger)||console;try{let n=await nr(t),s=await In(t,e);if(n===s)return {status:"failed",data:`[${t}][\u65E0\u66F4\u65B0] ${n} => ${s}`};let o=`pnpm up ${t}@${s}`,{error:i}=await x(o);return i?{status:"failed",data:i}:await nr(t)!==s?{status:"failed",data:`[${t}][\u66F4\u65B0\u5931\u8D25] \u8BF7\u5C1D\u8BD5\u624B\u52A8\u66F4\u65B0 pnpm up ${t}@${s}`}:{status:"ok",data:`[${t}][\u66F4\u65B0\u6210\u529F] ${n} => ${s}`,local:n,remote:s}}catch(n){return r.error(n),{status:"failed",data:n}}},Jp=async()=>{let t=(global==null?undefined:global.logger)||console;try{let e=await oe("npm",!1);e.push("node-karin");let r={},n=[`
|
|
12
|
+
------- \u66F4\u65B0npm\u63D2\u4EF6 --------`],s=["pnpm up"],o=await wo(),i=[];if(await Promise.all(e.map(async g=>{let d=await nr(g),w=await In(g)||o.dependencies[g];if(d===w){n.push(`[${g}][\u65E0\u66F4\u65B0] ${d} => ${w}`);return}n.push(`\u66F4\u65B0${g} ${d} => ${w}`),s.push(`${g}@${w}`),r[g]={local:d,remote:w};})),s.length===1)return n.push("\u6CA1\u6709\u53EF\u66F4\u65B0\u7684\u63D2\u4EF6~"),n.push("---------------------------"),t.info(n.join(`
|
|
13
|
+
`)),"\u6CA1\u6709\u53EF\u66F4\u65B0\u7684\u63D2\u4EF6~";n.push("----------------------------"),t.info(n.join(`
|
|
14
|
+
`));let a=s.join(" ");t.info(`\u5F00\u59CB\u66F4\u65B0: ${a}`);let{error:u}=await x(a);if(u)return Object.keys(r).forEach(g=>{i.push(`[${g}][\u66F4\u65B0\u5931\u8D25] \u8BF7\u5C1D\u8BD5\u624B\u52A8\u66F4\u65B0 pnpm up ${g}@${r[g].remote}`);}),i.unshift(`[\u66F4\u65B0\u5931\u8D25] \u66F4\u65B0\u6570\u91CF: ${i.length}`),t.error(i.join(`
|
|
15
|
+
`)),t.error(u),i.join(`
|
|
16
|
+
`);let p=await wo(!0);return Object.keys(r).forEach(g=>{var w,y,$;(((w=p.dependencies)==null?void 0:w[g])||((y=p.devDependencies)==null?void 0:y[g])||(($=p.peerDependencies)==null?void 0:$[g]))!==r[g].remote?i.push(`[${g}][\u66F4\u65B0\u5931\u8D25] \u8BF7\u5C1D\u8BD5\u624B\u52A8\u66F4\u65B0 pnpm up ${g}@${r[g].remote}`):i.push(`[${g}][\u66F4\u65B0\u6210\u529F] ${r[g].local} => ${r[g].remote}`);}),i.sort((g,d)=>g.includes("\u6210\u529F")?-1:1),t.info(i.join(`
|
|
17
|
+
`)),i.join(`
|
|
18
|
+
`)}catch(e){return t.error(e),e.message||"\u66F4\u65B0\u5931\u8D25\uFF0C\u8BF7\u67E5\u770B\u65E5\u5FD7"}},Vp=async(t,e=120)=>{var n;let r=(global==null?undefined:global.logger)||console;try{if(!A.existsSync(t))return {status:"error",data:new Error("\u8DEF\u5F84\u4E0D\u5B58\u5728")};if(!A.existsSync(`${t}/.git`))return {status:"error",data:new Error("\u8BE5\u8DEF\u5F84\u4E0D\u662F\u4E00\u4E2Agit\u4ED3\u5E93")};let s=setTimeout(()=>({status:"failed",data:"\u6267\u884C\u8D85\u65F6"}),e*1e3),o={cwd:t},{error:i}=await x("git fetch origin",o);if(i)return {status:"error",data:i};let{stdout:a}=await x("git status -uno",o);if(clearTimeout(s),a.includes("Your branch is up to date with"))return {status:"no",data:`\u5F53\u524D\u7248\u672C\u5DF2\u662F\u6700\u65B0\u7248\u672C
|
|
19
|
+
\u6700\u540E\u66F4\u65B0\u65F6\u95F4\uFF1A${await ou(t)}`};let u=Number((n=a.match(/Your branch is behind '.*' by (\d+) commits/))==null?void 0:n[1])||1,p=await rr({path:t,count:u,branch:"origin"});return clearTimeout(s),{status:"yes",data:p,count:u}}catch(s){return r.error(s),{status:"error",data:s}}},rr=async t=>{let{path:e,count:r=1,hash:n,branch:s}=t,o=`git log -${r} --format="[%ad]%s %n" --date="format:%m-%d %H:%M"`;n&&(o=`git log ${n}..HEAD --format="[%ad] %s %n" --date="format:%m-%d %H:%M"`),s&&(o=`git log -${r} ${s} --format="[%ad] %s %n" --date="format:%m-%d %H:%M"`);let{stdout:i,error:a}=await x(o,{cwd:e});if(a)throw a;return i},xo=async(t,e=true)=>{let r=e?"git rev-parse --short HEAD":"git rev-parse HEAD",{stdout:n,error:s}=await x(r,{cwd:t});if(s)throw s;return n},ou=async t=>{let e='git log -1 --format=%cd --date=format:"%Y-%m-%d %H:%M:%S"',{stdout:r,error:n}=await x(e,{cwd:t});return n?"\u83B7\u53D6\u6700\u540E\u4E00\u6B21\u63D0\u4EA4\u65F6\u95F4\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u6216\u66F4\u65B0Git~":r},iu=async(t,e="git pull",r=120)=>{let n=(global==null?undefined:global.logger)||console;try{if(!A.existsSync(t))return {status:"failed",data:"\u8DEF\u5F84\u4E0D\u5B58\u5728"};if(!A.existsSync(`${t}/.git`))return {status:"failed",data:"\u8BE5\u8DEF\u5F84\u4E0D\u662F\u4E00\u4E2Agit\u4ED3\u5E93"};let s=setTimeout(()=>({status:"failed",data:"\u6267\u884C\u8D85\u65F6"}),r*1e3),o=await xo(t);e=e||"git pull";let{error:i}=await x(e,{cwd:t});if(i){let p=`
|
|
20
|
+
\u66F4\u65B0\u5931\u8D25
|
|
21
|
+
\u9519\u8BEF\u4FE1\u606F\uFF1A${(i==null?void 0:i.stack)||(i==null?void 0:i.message)}
|
|
22
|
+
\u8BF7\u89E3\u51B3\u9519\u8BEF\u540E\u91CD\u8BD5\u6216\u6267\u884C\u3010#\u5F3A\u5236\u66F4\u65B0\u3011`;return clearTimeout(s),{status:"failed",data:p}}let a=await xo(t);if(o===a){clearTimeout(s);let p=await rr({path:t,count:1});return {status:"failed",data:`
|
|
23
|
+
\u5F53\u524D\u7248\u672C\u5DF2\u662F\u6700\u65B0\u7248\u672C
|
|
24
|
+
\u6700\u540E\u66F4\u65B0\u65F6\u95F4\uFF1A${r}
|
|
25
|
+
\u66F4\u65B0\u8BE6\u60C5\uFF1A${p}`}}clearTimeout(s);let u=await rr({path:t,count:1});return {status:"ok",data:`
|
|
26
|
+
\u66F4\u65B0\u6210\u529F
|
|
27
|
+
\u66F4\u65B0\u65E5\u5FD7\uFF1A${rr({path:t,count:1})}`,commit:u}}catch(s){return n.error(s),{status:"failed",data:s}}},zp=async(t="git pull",e=120)=>{try{let r=(global==null?void 0:global.logger)||console,n=await oe("git",!1),s=[`
|
|
28
|
+
------- \u66F4\u65B0git\u63D2\u4EF6 --------`];if(!n.length)return s.push("\u6CA1\u6709\u53EF\u66F4\u65B0\u7684\u63D2\u4EF6~"),s.push("----------------------------"),r.info(s.join(`
|
|
29
|
+
`)),"\u6CA1\u6709\u53EF\u66F4\u65B0\u7684\u63D2\u4EF6~";let o=[];return await Promise.allSettled(n.map(async i=>{let a=`./plugins/${i}`,{status:u,data:p}=await iu(a,t,e);u==="ok"?(s.push(`[${i}][\u66F4\u65B0\u6210\u529F] ${p}`),o.push(`[${i}][\u66F4\u65B0\u6210\u529F] ${p}`)):(s.push(`[${i}][\u66F4\u65B0\u5931\u8D25] ${p}`),o.push(`[${i}][\u66F4\u65B0\u5931\u8D25] ${p}`));})),s.push("----------------------------"),r.info(s.join(`
|
|
30
|
+
`)),o.join(`
|
|
31
|
+
`)}catch(r){return logger.error(r),r.message||"\u66F4\u65B0\u5931\u8D25\uFF0C\u8BF7\u67E5\u770B\u65E5\u5FD7"}};Us();Qs();var _o="fileToUrl",Qp=async(t,e,r,n)=>{if(!zs.has(_o))throw new Error("[Handler][Error]: \u6CA1\u6709\u914D\u7F6E\u6587\u4EF6\u8F6C\u6362\u4E3Aurl\u7684\u5904\u7406\u5668");return zs(_o,{file:e,type:t,filename:r,args:n})};Ne();pt();v();Gr();Js();F();v();F();var _t=new Map,uu=(t,e)=>{e?_t.set(t,{token:e,isAuth:true}):_t.set(t,{token:null,isAuth:false}),logger.debug(`[service][onebot-post][\u6CE8\u518CBot] ${t}`);},Eo=t=>{_t.delete(t),logger.debug(`[service][onebot-post][\u5378\u8F7DBot] ${t}`);};var Xp=(t,e)=>{if(_t.get(t)){if(!e){_t.set(t,{token:null,isAuth:false});return}_t.set(t,{token:e,isAuth:true});}};m.on("watch:file",(t,e,r)=>{if(t==="server"){if(!r.onebotHttp||!Array.isArray(r.onebotHttp))return logger.debug("\u6CA1\u6709\u914D\u7F6EonebotHttp \u5DF2\u8DF3\u8FC7"),true;for(let{selfId:n,api:s,token:o}of r.onebotHttp)if(n!=="default"){if(n=String(n),o=String(o),!n||!s||!s.startsWith("http")){logger.bot("error",n,"\u8BF7\u914D\u7F6E\u6B63\u786E\u7684 onebot http \u4FE1\u606F");continue}Xp(n,o);}}});jr();var An=(f=>(f.sendPrivateMsg="send_private_msg",f.sendGroupMsg="send_group_msg",f.sendMsg="send_msg",f.deleteMsg="delete_msg",f.getMsg="get_msg",f.getForwardMsg="get_forward_msg",f.sendLike="send_like",f.setGroupKick="set_group_kick",f.setGroupBan="set_group_ban",f.setGroupAnonymousBan="set_group_anonymous_ban",f.setGroupWholeBan="set_group_whole_ban",f.setGroupAdmin="set_group_admin",f.setGroupAnonymous="set_group_anonymous",f.setGroupCard="set_group_card",f.setGroupName="set_group_name",f.setGroupLeave="set_group_leave",f.setGroupSpecialTitle="set_group_special_title",f.setFriendAddRequest="set_friend_add_request",f.setGroupAddRequest="set_group_add_request",f.getLoginInfo="get_login_info",f.getStrangerInfo="get_stranger_info",f.getFriendList="get_friend_list",f.getGroupInfo="get_group_info",f.getGroupList="get_group_list",f.getGroupMemberInfo="get_group_member_info",f.getGroupMemberList="get_group_member_list",f.getGroupHonorInfo="get_group_honor_info",f.getCookies="get_cookies",f.getCsrfToken="get_csrf_token",f.getCredentials="get_credentials",f.getRecord="get_record",f.getImage="get_image",f.canSendImage="can_send_image",f.canSendRecord="can_send_record",f.getStatus="get_status",f.getVersionInfo="get_version_info",f.getVersion="get_version",f.setRestart="set_restart",f.cleanCache="clean_cache",f.sendForwardMsg="send_forward_msg",f.sendGroupForwardMsg="send_group_forward_msg",f.sendPrivateForwardMsg="send_private_forward_msg",f.getFriendMsgHistory="get_friend_msg_history",f.getGroupMsgHistory="get_group_msg_history",f.setMsgEmojiLike="set_msg_emoji_like",f.uploadGroupFile="upload_group_file",f.uploadPrivateFile="upload_private_file",f.getEssenceMsgList="get_essence_msg_list",f.setEssenceMsg="set_essence_msg",f.deleteEssenceMsg="delete_essence_msg",f))(An||{});var Zp=(n=>(n.Male="male",n.Female="female",n.Unknown="unknown",n))(Zp||{}),vo=(o=>(o.Message="message",o.Notice="notice",o.Request="request",o.MetaEvent="meta_event",o.MessageSent="message_sent",o))(vo||{}),eg=(r=>(r.Private="private",r.Group="group",r))(eg||{}),tg=(i=>(i.Friend="friend",i.Group="group",i.Other="other",i.Normal="normal",i.Anonymous="anonymous",i.Notice="notice",i))(tg||{}),cu=(y=>(y.GroupUpload="group_upload",y.GroupAdmin="group_admin",y.GroupDecrease="group_decrease",y.GroupIncrease="group_increase",y.GroupBan="group_ban",y.FriendAdd="friend_add",y.GroupRecall="group_recall",y.FriendRecall="friend_recall",y.Notify="notify",y.GroupMsgEmojiLike="group_msg_emoji_like",y.GroupMsgEmojiLikeLagrange="reaction",y.GroupEssence="essence",y.GroupCard="group_card",y))(cu||{}),rg=(r=>(r.Friend="friend",r.Group="group",r))(rg||{});Ne();var Ye=(t,e,r,n)=>{if(n){let s=JSON.stringify(n,null,2).replace(/\\n/g,`
|
|
32
|
+
`);return new Error(`[${t}][sendApi] \u8BF7\u6C42\u9519\u8BEF:
|
|
33
|
+
action: ${e}
|
|
34
|
+
params: ${r}
|
|
35
|
+
error: ${s}}`)}logger.error(`[${t}][sendApi][\u8BF7\u6C42\u9519\u8BEF]:
|
|
36
|
+
action: ${e}
|
|
37
|
+
params: ${r}`);};function Et(t){let e=[];for(let r of t)switch(r.type){case "text":e.push(_.text(r.data.text));break;case "face":e.push(_.face(Number(r.data.id)));break;case "image":e.push(_.image(r.data.url||r.data.file,{fileType:r.data.type}));break;case "record":e.push(_.record(r.data.url||r.data.file,r.data.magic===1));break;case "video":e.push(_.video(r.data.url||r.data.file));break;case "at":e.push(_.at(r.data.qq,r.data.name));break;case "poke":break;case "contact":e.push(_.contact(r.data.type==="qq"?"friend":"group",r.data.id));break;case "location":e.push(_.location(Number(r.data.lat),Number(r.data.lon),r.data.title||"",r.data.content||""));break;case "reply":e.push(_.reply(r.data.id));break;case "forward":break;case "json":e.push(_.json(r.data.data));break;case "xml":e.push(_.xml(r.data.data));break;default:e.push(_.text(JSON.stringify(r)));}return e}var pu=(t,e)=>{if(!e||!t.startsWith("file://"))return t;let r=["127.0.0.1","localhost"],n=new URL(e);return r.includes(n.hostname)?t:`base64://${A.readFileSync(t.replace("file://","")).toString("base64")}`},ko=(t,e)=>{var n,s,o;let r=[];for(let i of t){let a=i.type;switch(i.type){case "text":r.push({type:a,data:{text:i.text}});break;case "face":r.push({type:a,data:{id:i.id}});break;case "at":r.push({type:a,data:{qq:String(i.targetId),name:i.name}});break;case "reply":r.push({type:a,data:{id:i.messageId}});break;case "image":case "video":{r.push({type:a,data:{file:pu(i.file,e.adapter.address)}});break}case "json":case "xml":{r.push({type:a,data:{data:i.data}});break}case "record":{r.push({type:a,data:{file:pu(i.file,e.adapter.address),magic:i.magic||false}});break}case "music":{if(i.platform==="custom"){let{url:u,audio:p,title:g,author:d,pic:w}=i;r.push({type:"music",data:{type:"custom",url:u,audio:p,title:g,content:d,image:w}});}else r.push({type:"music",data:{type:i.platform,id:i.id}});break}case "longMsg":case "basketball":case "dice":case "marketFace":case "rps":{r.push({type:i.type,data:{id:i.id}});break}case "gift":{r.push({type:"gift",data:{qq:i.qq,id:i.id}});break}case "share":{r.push({type:"share",data:{url:i.url,title:i.title,content:i.content,image:i.image}});break}case "weather":{r.push({type:"weather",data:{city:i.city,type:i.type}});break}case "raw":r.push(i.data);break;case "node":{i.subType==="messageID"?r.push({type:"forward",data:{id:i.messageId}}):r.push({type:"node",data:{user_id:i.userId||e.selfId,nickname:i.nickname||e.selfName,content:ko(i.message,e),prompt:(n=i==null?undefined:i.options)==null?undefined:n.prompt,summary:(s=i==null?undefined:i.options)==null?undefined:s.summary,source:(o=i==null?undefined:i.options)==null?undefined:o.source}});break}case "button":case "markdown":case "keyboard":default:{r.push(i);break}}}return r};Xt();Zt();var gu=(t,e)=>{debug("onebot:createMessage",t);let r=t.time;if(t.message_type==="private"){if(t.sub_type==="friend"){let n=t.sender.user_id+"",s=Me(n),o=ce(n,t.sender.nickname,t.sender.sex,t.sender.age);xn({bot:e,time:r,contact:s,sender:o,rawEvent:t,messageId:t.message_id+"",messageSeq:t.message_id,eventId:`message:${t.message_id}`,elements:Et(t.message),srcReply:i=>e.sendMsg(s,i)});return}if(t.sub_type==="group"){let n=t.group_id+""||t.temp_source+"",s=t.sender.user_id+"",o=Ka(n,s),i=ce(s,t.sender.nickname);Ia({bot:e,contact:o,elements:Et(t.message),eventId:`message:${t.message_id}`,messageId:t.message_id+"",messageSeq:t.message_id,rawEvent:t,sender:i,time:r,srcReply:a=>e.sendMsg(o,a)});}return}if(t.message_type==="group"&&t.sub_type==="normal"){let n=t.group_id+"",s=t.sender.user_id+"",{nickname:o,role:i,sex:a,age:u,card:p,area:g,level:d,title:w}=t.sender,y=G(n),$=E(s,i,o,a,u,p,g,d,w);_n({bot:e,contact:y,elements:Et(t.message),eventId:`message:${t.message_id}`,messageId:t.message_id+"",messageSeq:t.message_id,rawEvent:t,sender:$,time:r,srcReply:L=>e.sendMsg(y,L)});return}logger.warn(`[AdapterOneBot] \u6536\u5230\u672A\u77E5\u4E8B\u4EF6: ${JSON.stringify(t)}`);};Zt();Xt();var lu=(t,e)=>{let r=t.time;if(t.notice_type==="friend_recall"){let n=t.user_id+"",s=t.message_id+"",o=Me(n);Pa({bot:e,eventId:`notice:${n}.${t.time}`,rawEvent:t,time:r,contact:o,sender:ce(n),srcReply:i=>e.sendMsg(o,i),content:{messageId:s,operatorId:n,tips:""}});return}if(t.notice_type==="friend_add"){let n=t.user_id+"",s=Me(n);Aa({bot:e,eventId:`notice:${n}.${t.time}`,rawEvent:t,time:r,contact:s,sender:ce(n),srcReply:o=>e.sendMsg(s,o),content:{targetId:n}});return}if(t.notice_type==="notify"&&t.sub_type==="poke"&&t.group_id){let n=t.user_id+"",s=t.group_id+"",o=G(s);Ta({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{operatorId:n,targetId:t.target_id+"",action:"",actionImage:"",suffix:""}});return}if(t.notice_type==="notify"&&t.sub_type==="poke"){let n=t.user_id+"",s=Me(n);Oa({bot:e,eventId:`notice:${n}.${t.time}`,rawEvent:t,time:r,contact:s,sender:ce(n),srcReply:o=>e.sendMsg(s,o),content:{operatorId:n,targetId:t.target_id+"",action:"",actionImage:"",suffix:""}});return}if(t.notice_type==="notify"&&t.sub_type==="lucky_king"){let n=t.user_id+"",s=t.group_id+"",o=G(s);qa({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{userId:n,targetId:t.target_id+""}});return}if(t.notice_type==="notify"&&t.sub_type==="honor"){let n=t.user_id+"",s=t.group_id+"",o=G(s);La({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{honorType:t.honor_type}});return}if(t.notice_type==="group_recall"){let n=t.user_id+"",s=t.group_id+"",o=t.message_id+"",i=t.operator_id+"",a=G(s);Sa({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:a,sender:E(n),srcReply:u=>e.sendMsg(a,u),content:{messageId:o,operatorId:i,targetId:n,tip:""}});return}if(t.notice_type==="group_increase"){let n=t.user_id+"",s=t.group_id+"",o=G(s);Fa({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{operatorId:t.operator_id+"",targetId:n,type:t.sub_type}});return}if(t.notice_type==="group_decrease"){let n=t.user_id+"",s=t.group_id+"",o=G(s);Na({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{operatorId:t.operator_id+"",targetId:n,type:t.sub_type==="kick_me"?"kickBot":t.sub_type}});return}if(t.notice_type==="group_upload"){let n=t.user_id+"",s=t.group_id+"",o=G(s);Ba({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{fid:t.file.id,name:t.file.name,size:t.file.size,subId:t.file.busid}});return}if(t.notice_type==="group_admin"){let n=t.user_id+"",s=t.group_id+"",o=G(s);Da({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{targetId:n,isAdmin:t.sub_type==="set"}});return}if(t.notice_type==="group_ban"){let n=t.user_id+"",s=t.group_id+"",o=G(s);ja({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{operatorId:t.operator_id+"",targetId:n,duration:t.duration,isBan:t.sub_type==="ban"}});return}if(t.notice_type==="group_msg_emoji_like"){let n=t.user_id+"",s=t.group_id+"",o=G(s);po({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{count:t.likes[0].count,faceId:t.likes[0].emoji_id,isSet:true,messageId:t.message_id+""}});return}if(t.notice_type==="reaction"){let n=t.operator_id+"",s=t.group_id+"",o=G(s);po({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{count:t.count,faceId:Number(t.code),isSet:t.sub_type==="add",messageId:t.message_id+""}});return}if(t.notice_type==="essence"){let n=t.sender_id+"",s=t.group_id+"",o=G(s);Ca({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{isSet:t.sub_type==="add",messageId:t.message_id+"",operatorId:t.operator_id+"",senderId:n}});return}if(t.notice_type==="group_card"){let n=t.user_id+"",s=t.group_id+"",o=G(s);Ra({bot:e,eventId:`notice:${s}.${t.time}`,rawEvent:t,time:r,contact:o,sender:E(n),srcReply:i=>e.sendMsg(o,i),content:{newCard:t.card_new,operatorId:"",targetId:n}});return}logger.warn(`[AdapterOneBot] \u6536\u5230\u672A\u77E5\u4E8B\u4EF6: ${JSON.stringify(t)}`);};Zt();var vt=class extends Fe{constructor(){super(),this.adapter.platform="qq",this.adapter.standard="onebot11";}eventHandlers(e,r){if(debug("onebot",r),e.post_type==="message"||e.post_type==="message_sent"){debug("onebot:message",r),gu(e,this);return}if(e.post_type==="notice"){debug("onebot:notice",r),lu(e,this);return}if(e.post_type==="request"){debug("onebot:request",r);return}if(e.post_type==="meta_event"){if(debug("onebot:meta",r),e.meta_event_type==="lifecycle"){e.sub_type==="enable"&&logger.bot("debug",this.selfId,"OneBot\u542F\u7528"),e.sub_type==="disable"&&logger.bot("debug",this.selfId,"OneBot\u505C\u7528"),e.sub_type==="connect"&&logger.bot("debug",this.selfId,"WebSocket\u8FDE\u63A5\u6210\u529F");return}logger.bot("warn",this.selfId,`\u6536\u5230\u672A\u77E5\u5143\u4E8B\u4EF6: ${r}`);return}if(e.retcode){debug("onebot:retcode",r);let{retcode:n}=e;if(n===1401||n===1403){logger.error(`[oneBot11][\u9274\u6743\u5931\u8D25] address: ${this.adapter.address} event: ${r}`);return}logger.bot("error",this.selfId,`\u53D1\u751F\u672A\u77E5\u9519\u8BEF: ${r}`);}debug("onebot:unknown",r),logger.bot("warn",this.selfId,`\u6536\u5230\u672A\u77E5\u4E8B\u4EF6: ${r}`);}AdapterConvertKarin(e){return Et(e)}KarinConvertAdapter(e){return ko(e,this)}async getAvatarUrl(e=this.account.selfId,r=0){return Number(e)?`https://q1.qlogo.cn/g?b=qq&s=${r}&nk=${e}`:`https://q.qlogo.cn/qqapp/${e}/${e}/${r}`}async getGroupAvatarUrl(e,r=0,n=0){return `https://p.qlogo.cn/gh/${e}/${e}${n?"_"+n:""}/`+r}async sendMsg(e,r,n){try{let{scene:s,peer:o}=e,i;s==="group"?i=await this.sendApi("send_msg",{message_type:"group",group_id:Number(o),message:this.KarinConvertAdapter(r)}):s==="groupTemp"?i=await this.sendApi("send_private_msg",{user_id:Number(e.subPeer),group_id:Number(o),message:this.KarinConvertAdapter(r)}):i=await this.sendApi("send_msg",{message_type:"private",user_id:Number(o),message:this.KarinConvertAdapter(r)});let a=String(i.message_id),u=Date.now();return {messageId:a,messageTime:u,rawData:i,message_id:a,time:u}}catch(s){if(n&&n>0)return this.sendMsg(e,r,n-1);throw s}}async SendMessage(e,r,n){return this.sendMsg(e,r,n)}async sendLongMsg(e,r){let n,{scene:s,peer:o}=e;s==="group"?n=await this.sendApi("send_group_msg",{group_id:Number(o),message:[{type:"forward",data:{id:r}}]}):n=await this.sendApi("send_private_msg",{user_id:Number(o),message:[{type:"forward",data:{id:r}}]});let i=String(n.message_id),a=Date.now();return {messageId:i,messageTime:a,rawData:n,message_id:i,message_time:a,time:a}}async SendMessageByResId(e,r){return this.sendLongMsg(e,r)}async recallMsg(e,r){try{return await this.sendApi("delete_msg",{message_id:Number(r)}),!0}catch{return false}}async RecallMessage(e,r){return this.recallMsg(e,r)}async getMsg(e,r){let n=await this.sendApi("get_msg",{message_id:Number(r)}),s=n.sender.user_id+"",o=n.message_seq||n.message_id,i=n.message_id+"";return {time:n.time,messageId:i,message_id:i,message_seq:o,messageSeq:o,contact:{scene:n.message_type==="group"?"group":"friend",peer:e.peer,sub_peer:null,name:""},sender:{userId:s,uid:s,uin:n.sender.user_id,nick:n.sender.nickname,role:"unknown",name:n.sender.nickname},elements:this.AdapterConvertKarin(n.message)}}async GetMessage(e,r){return this.getMsg(e,r)}async getHistoryMsg(e,r,n){var a,u,p,g;let s;this.adapter.name==="Lagrange.OneBot"?s={message_id:Number(r),count:n}:s={message_seq:(await this.getMsg(e,r)).message_seq,count:n};let o;e.scene==="group"?(s.group_id=Number(e.peer),o=await this.sendApi("get_group_msg_history",s)):(s.user_id=Number(e.peer),o=await this.sendApi("get_friend_msg_history",s));let i=[];for(let d of o.messages){let w=d.sender.user_id+""||"",y=String(d.message_id)||"",$=d.message_seq||0,L={time:Date.now(),messageId:y,messageSeq:$,message_id:y,message_seq:$,contact:e,sender:{userId:w,uid:w,uin:d.sender.user_id,nick:((a=d==null?undefined:d.sender)==null?undefined:a.nickname)||"",name:((u=d==null?undefined:d.sender)==null?undefined:u.nickname)||"",role:((p=d==null?undefined:d.sender)==null?undefined:p.role)||"unknown",card:e.scene==="group"&&((g=d==null?undefined:d.sender)==null?undefined:g.card)||""},elements:this.AdapterConvertKarin(d.message)};i.push(L);}return i}async GetHistoryMessage(e,r,n=1){return this.getHistoryMsg(e,r,n)}async sendLike(e,r){try{return await this.sendApi("send_like",{user_id:Number(e),times:r}),!0}catch{return false}}async VoteUser(e,r=10){return this.sendLike(e,r)}async groupKickMember(e,r,n,s){try{return await this.sendApi("set_group_kick",{group_id:Number(e),user_id:Number(r),reject_add_request:n}),!0}catch{return false}}async KickMember(e,r,n=false,s=""){return this.groupKickMember(e,r,n,s)}async setGroupMute(e,r,n){try{return await this.sendApi("set_group_ban",{group_id:Number(e),user_id:Number(r),duration:n}),!0}catch{return false}}async BanMember(e,r,n){return this.setGroupMute(e,r,n)}async setGroupAllMute(e,r){try{return await this.sendApi("set_group_whole_ban",{group_id:Number(e),enable:r}),!0}catch{return false}}async SetGroupWholeBan(e,r=true){return this.setGroupAllMute(e,r)}async setGroupAdmin(e,r,n){try{return await this.sendApi("set_group_admin",{group_id:Number(e),user_id:Number(r),enable:n}),!0}catch{return false}}async SetGroupAdmin(e,r,n){return this.setGroupAdmin(e,r,n)}async setGroupMemberCard(e,r,n){try{return await this.sendApi("set_group_card",{group_id:Number(e),user_id:Number(r),card:n}),!0}catch{return false}}async ModifyMemberCard(e,r,n){return this.setGroupMemberCard(e,r,n)}async setGroupName(e,r){try{return await this.sendApi("set_group_name",{group_id:Number(e),group_name:r}),!0}catch{return false}}async ModifyGroupName(e,r){return this.setGroupName(e,r)}async setGroupQuit(e,r){try{return await this.sendApi("set_group_leave",{group_id:Number(e),is_dismiss:r}),!0}catch{return false}}async LeaveGroup(e,r=false){return this.setGroupQuit(e,r)}async setGroupMemberTitle(e,r,n){try{return await this.sendApi("set_group_special_title",{group_id:Number(e),user_id:Number(r),special_title:n}),!0}catch{return false}}async SetGroupUniqueTitle(e,r,n){return this.setGroupMemberTitle(e,r,n)}async GetCurrentAccount(){let e=await this.sendApi("get_login_info",{});return {account_uid:e.user_id+"",account_uin:e.user_id+"",account_name:e.nickname}}async getStrangerInfo(e){let r=await this.sendApi("get_stranger_info",{user_id:Number(e[0]),no_cache:true});return {...r,userId:e,user_id:e,uid:r.uid||"",uin:e,qid:r.qid||"",nick:r.nickname,remark:"",level:0,birthday:"",login_day:r.login_days||0,vote_cnt:0,is_school_verified:undefined,age:r.age,sex:r.sex||"unknown",big_vip:undefined,hollywood_vip:undefined,qq_vip:r.is_vip,super_vip:undefined,voted:undefined}}async getFriendList(e){return (await this.sendApi("get_friend_list",{})).map(n=>{let s=n.user_id+"";return {...n,userId:s,user_id:s,uid:n.uid||"",uin:s,qid:n.qid||"",nick:n.nickname,remark:"",level:0,birthday:"",login_day:n.login_days||0,vote_cnt:0,is_school_verified:undefined,age:n.age,sex:n.sex||"unknown",big_vip:undefined,hollywood_vip:undefined,qq_vip:n.is_vip,super_vip:undefined,voted:undefined}})}async GetStrangerProfileCard(e){return this.getStrangerInfo(e[0])}async GetFriendList(){return this.getFriendList()}async getGroupInfo(e,r){let n=await this.sendApi("get_group_info",{group_id:Number(e),no_cache:r}),s=n.group_name;return {groupId:e,groupName:s,groupRemark:s,maxMemberCount:n.max_member_count,memberCount:n.member_count,groupDesc:"",group_name:s,group_remark:s,max_member_count:n.max_member_count,member_count:n.member_count,group_uin:e,admins:[],owner:""}}async GetGroupInfo(e,r=false){return this.getGroupInfo(e,r)}async getGroupList(e){return (await this.sendApi("get_group_list",{no_cache:e})).map(n=>{let s=n.group_id+"",o=n.group_name;return {groupId:s,groupName:o,groupRemark:o,maxMemberCount:n.max_member_count,memberCount:n.member_count,groupDesc:"",group_name:o,group_remark:o,max_member_count:n.max_member_count,member_count:n.member_count,group_uin:s,admins:[],owner:""}})}async GetGroupList(){return this.getGroupList()}async getGroupMemberInfo(e,r,n){let s=Number(r),o=await this.sendApi("get_group_member_info",{group_id:Number(e),user_id:s,no_cache:n});return {...o,userId:r,uid:r,uin:r,nick:o.nickname,role:o.role,age:o.age,uniqueTitle:o.title,card:o.card,joinTime:o.join_time,lastActiveTime:o.last_sent_time,level:Number(o.level)||0,shutUpTime:0,distance:undefined,honors:[],unfriendly:o.unfriendly,sex:o.sex,get sender(){return E(this.userId,this.role,this.nick,this.sex,this.age,this.card,this.area,this.level,this.title)}}}async GetGroupMemberInfo(e,r,n=false){return this.getGroupMemberInfo(e,r,n)}async getGroupMemberList(e,r){return (await this.sendApi("get_group_member_list",{group_id:Number(e),no_cache:r})).map(s=>{let o=s.user_id+"";return {...s,userId:o,uid:o,uin:o,nick:s.nickname,role:s.role,age:s.age,uniqueTitle:s.title,card:s.card,joinTime:s.join_time,lastActiveTime:s.last_sent_time,level:Number(s.level)||0,shutUpTime:0,distance:undefined,honors:[],unfriendly:s.unfriendly,sex:s.sex,get sender(){return E(o,s.role,s.nickname,s.sex,s.age,s.card,s.area,Number(s.level),s.title)}}})}async GetGroupMemberList(e,r=false){return this.getGroupMemberList(e,r)}async getGroupHonor(e){let r=await this.sendApi("get_group_honor_info",{group_id:Number(e),type:"all"}),n=[];return r.talkative_list.forEach(s=>{let o=s.user_id+"";n.push({userId:o,nick:s.nickname,honorName:"\u5386\u53F2\u9F99\u738B",id:0,avatar:s.avatar,description:s.description});}),r.performer_list.forEach(s=>{let o=s.user_id+"";n.push({userId:o,nick:s.nickname,honorName:"\u7FA4\u804A\u4E4B\u706B",avatar:s.avatar,id:0,description:s.description});}),r.legend_list.forEach(s=>{let o=s.user_id+"";n.push({userId:o,nick:s.nickname,honorName:"\u7FA4\u804A\u70BD\u7130",avatar:s.avatar,id:0,description:s.description});}),r.strong_newbie_list.forEach(s=>{let o=s.user_id+"";n.push({userId:o,nick:s.nickname,honorName:"\u5192\u5C16\u5C0F\u6625\u7B0B",avatar:s.avatar,id:0,description:s.description});}),r.emotion_list.forEach(s=>{let o=s.user_id+"";n.push({userId:o,nick:s.nickname,honorName:"\u5FEB\u4E50\u4E4B\u6E90",avatar:s.avatar,id:0,description:s.description});}),n}async GetGroupHonor(e,r=false){return this.getGroupHonor(e)}async setMsgReaction(e,r,n,s){try{return await this.sendApi("set_msg_emoji_like",{message_id:r,emoji_id:n,is_set:s}),!0}catch{return false}}async ReactMessageWithEmoji(e,r,n,s=true){return this.setMsgReaction(e,r,n,s)}async GetVersion(){let e=await this.sendApi("get_version_info",{});return {name:e.app_name,app_name:e.app_name,version:e.app_version,protocol:e.protocol_version}}async DownloadForwardMessage(e){throw new Error("Method not implemented.")}async getGroupHighlights(e,r,n){let s=[],o=await this.sendApi("get_essence_msg_list",{group_id:Number(e)});for(let i of o){let{message_seq:a,elements:u}=await this.getMsg({scene:"group",peer:e,name:""},i.message_id+""),p=i.sender_id+"",g=i.operator_id+"";s.push({groupId:e,senderId:p,operatorId:g,senderName:i.sender_nick,operatorName:i.operator_nick,operationTime:i.operator_time,messageTime:i.sender_time,messageSeq:a,messageId:i.message_id+"",jsonElements:JSON.stringify(u),group_id:e,sender_uid:p,sender_uin:p,sender_nick:i.sender_nick,operator_uid:g,operator_uin:g,operator_nick:i.operator_nick,operation_time:i.operator_time,message_time:i.sender_time,message_id:i.message_id+"",message_seq:a,json_elements:JSON.stringify(u)});}return s}async GetEssenceMessageList(e,r,n){return this.getGroupHighlights(e,r,n)}async uploadFile(e,r,n,s){try{return e.scene==="group"?await this.sendApi("upload_group_file",{group_id:Number(e.peer),file:r,name:n,folder:s}):await this.sendApi("upload_private_file",{user_id:Number(e.peer),file:r,name:n}),!0}catch{return false}}async UploadGroupFile(e,r,n,s){return this.uploadFile({scene:"group",peer:e,name:""},r,n,s)}async UploadPrivateFile(e,r,n){return this.uploadFile({scene:"friend",peer:e,name:""},r,n)}async setGgroupHighlights(e,r,n){try{return await this.sendApi(n?"set_essence_msg":"delete_essence_msg",{message_id:Number(r)}),!0}catch{return false}}async SetEssenceMessage(e,r){return this.setGgroupHighlights(e,r,true)}async DeleteEssenceMessage(e,r){return this.setGgroupHighlights(e,r,false)}async PokeMember(e,r){throw new Error("Method not implemented.")}async setFriendApplyResult(e,r,n){try{return await this.sendApi("set_friend_add_request",{flag:e,approve:r,remark:n}),!0}catch{return false}}async SetFriendApplyResult(e,r,n){return this.setFriendApplyResult(e,r,n)}async setGroupApplyResult(e,r,n){try{return await this.sendApi("set_group_add_request",{flag:e,approve:r,sub_type:"add",reason:n}),!0}catch{return false}}async SetGroupApplyResult(e,r,n){try{return await this.sendApi("set_group_add_request",{flag:e,approve:r,sub_type:"add",reason:n}),!0}catch{return false}}async setInvitedJoinGroupResult(e,r){try{return await this.sendApi("set_group_add_request",{flag:e,approve:r,sub_type:"invite"}),!0}catch{return false}}async SetInvitedJoinGroupResult(e,r,n){return this.setInvitedJoinGroupResult(e,r)}forwardKarinConvertAdapter(e){let r=[];for(let n of e)if(n.subType==="messageID")r.push({type:"node",data:{id:n.messageId}});else {let s={type:"node",data:{user_id:n.userId,nickname:n.nickname,content:this.KarinConvertAdapter(n.message)}};typeof n.options=="object"&&(n.options.prompt&&(s.data.prompt=n.options.prompt),n.options.summary&&(s.data.summary=n.options.summary),n.options.source&&(s.data.source=n.options.source)),r.push(s);}return r}async sendForwardMsg(e,r,n){if(e.scene==="group"){let s=await this.sendApi("send_group_forward_msg",{group_id:Number(e.peer),messages:this.forwardKarinConvertAdapter(r),...n}),o=String(s.message_id);return {messageId:o,forwardId:s.forward_id,message_id:o}}if(e.scene==="friend"){let s=await this.sendApi("send_private_forward_msg",{user_id:Number(e.peer),messages:this.forwardKarinConvertAdapter(r),...n}),o=String(s.message_id);return {messageId:o,forwardId:s.forward_id,message_id:o}}throw TypeError(`\u4E0D\u652F\u6301\u7684\u573A\u666F\u7C7B\u578B: ${e.scene}`)}async sendForwardMessage(e,r){return this.sendForwardMsg(e,r)}async sendApi(e,r,n=120){throw new Error("tips: \u8BF7\u5728\u5B50\u7C7B\u4E2D\u5B9E\u73B0\u6B64\u65B9\u6CD5")}async SendApi(e,r,n=0){return this.sendApi(e,r,n)}};be();var kt=class extends vt{seq;socket;constructor(e){super(),this.seq=0,this.socket=e;}async init(e,r,n){this.account.uid=e,this.account.uin=e,this.account.selfId=e,this.adapter.address=r;try{this.adapter.communication=n,this.onEvent(),await Promise.all([this.setBotInfo(),this.setAdapterInfo()]),logger.bot("info",this.selfId,`[onebot11][${n}] \u8FDE\u63A5\u6210\u529F: ${r}`),this.adapter.index=mt(n,this);}catch{throw this.socket.close(),new Error(`[onebot11][${n}] \u8FDE\u63A5\u5931\u8D25: ${r}`)}}onEvent(){this.socket.on("message",e=>{let r=e.toString(),n=JSON.parse(r),s=n;if(n.echo)return logger.bot("debug",this.selfId,`Api\u8C03\u7528\u56DE\u5E94: ${r}`),this.socket.emit(n.echo,n);if(s.post_type==="meta_event"&&s.meta_event_type==="heartbeat"){logger.bot("trace",this.selfId,"\u5FC3\u8DF3");return}logger.bot("debug",this.selfId,`\u6536\u5230\u4E0A\u62A5\u4E8B\u4EF6: ${r}`),this.eventHandlers(s,r);});}async setAdapterInfo(){let e=await this.sendApi("get_version_info",{});this.adapter.name=e.app_name,this.adapter.version=e.app_version;}async setBotInfo(){let e=await this.sendApi("get_login_info",{});this.account.name=e.nickname,this.account.selfId=e.user_id+"",this.account.avatar=`https://q1.qlogo.cn/g?b=qq&s=0&nk=${e.user_id}`;}async sendApi(e,r,n=120){n||(n=Q.timeout());let s=++this.seq+"",o=JSON.stringify({echo:s,action:e,params:r});return logger.bot("debug",this.selfId,`\u53D1\u9001Api\u8BF7\u6C42 ${e}: ${o}`),new Promise((i,a)=>{let u=setTimeout(()=>{a(Ye(this.selfId,e,o,"\u8BF7\u6C42\u8D85\u65F6"));},n*1e3);this.socket.send(o),this.socket.once(s,p=>{clearTimeout(u),p.status==="ok"?i(p.data):a(Ye(this.selfId,e,o,p));});})}};Se();be();var On=class extends vt{#e;constructor(e,r,n){super(),this.account.selfId=e,this.adapter.address=r,this.adapter.communication="http",this.#e=n;}async init(){if(!await this.firstRequest())throw Eo(this.selfId),new Error(`[onebot11][${this.adapter.communication}] \u8FDE\u63A5\u5931\u8D25: ${this.adapter.address}`);await this.setBotInfo(),logger.bot("info",this.selfId,`[onebot11][${this.adapter.communication}] \u8FDE\u63A5\u6210\u529F: ${this.adapter.address}`),this.adapter.index=mt(this.adapter.communication,this);let r=setInterval(async()=>{await this.firstRequest()||(logger.bot("info",this.selfId,`[onebot11][${this.adapter.communication}] \u8FDE\u63A5\u5173\u95ED: ${this.adapter.address}`),dt("index",this.adapter.index),Eo(this.selfId),clearInterval(r));},60*1e3);m.on(`onebot:${this.selfId}`,n=>{let s=JSON.stringify(n);this.eventHandlers(n,s);});}async firstRequest(){try{return await this.setAdapterInfo(),!0}catch{return false}}async setAdapterInfo(){let e=await this.sendApi("get_version_info",{});this.adapter.name=e.app_name,this.adapter.version=e.app_version;}async setBotInfo(){let e=await this.sendApi("get_login_info",{});this.account.name=e.nickname,this.account.selfId=e.user_id+"",this.account.avatar=`https://q1.qlogo.cn/g?b=qq&s=0&nk=${e.user_id}`;}async sendApi(e,r,n=120){n||(n=Q.timeout());let s=JSON.stringify(r);logger.bot("debug",this.selfId,`\u53D1\u9001Api\u8BF7\u6C42 ${e}: ${s}`);try{let o=this.#e?{Authorization:`Bearer ${this.#e}`}:{},{data:i}=await qo.post(`${this.adapter.address}/${e}`,r,{headers:o,timeout:n*1e3});if(i.status==="ok")return i.data;throw Ye(this.selfId,e,s,i)}catch(o){throw qo.isAxiosError(o)&&o.code==="ECONNABORTED"?Ye(this.selfId,e,s,"\u8BF7\u6C42\u8D85\u65F6"):(Ye(this.selfId,e,s),o)}}};be();var sr=class t extends kt{token;constructor(e,r){super(e),this.token=r,this.socket.on("close",()=>{try{this.socket.removeAllListeners(),dt("index",this.adapter.index),logger.bot("info",this.selfId,`\u8FDE\u63A5\u5173\u95ED\uFF0C\u5C06\u57285\u79D2\u540E\u91CD\u8FDE: ${this.adapter.address}`);}finally{setTimeout(()=>{t.init(this.adapter.address,this.token);},5e3);}});}static async init(e,r){let n=r?`Bearer ${r}`:undefined,s=n?new fu(e,{headers:{authorization:n}}):new fu(e);s.on("open",async()=>{await new t(s,r).init("\u83B7\u53D6\u4E2D...",e,"webSocketClient");}),s.on("error",o=>{logger.error(`[onebot][webSocketClient]\u8FDE\u63A5\u5931\u8D25: ${e}`),logger.error(o);});}};be();var Pn=class extends kt{socket;request;constructor(e,r){super(e),this.socket=e,this.request=r;}async init(){let e=`ws://${this.request.headers.host}${this.request.url}`,r=String(this.request.headers["x-self-id"]);this.auth(r)&&(super.init(r,e,"webSocketServer"),this.socket.on("close",()=>{this.socket.removeAllListeners(),dt("index",this.adapter.index),logger.bot("info",this.selfId,"\u8FDE\u63A5\u5173\u95ED");}));}auth(e){let r=Q.server();if(!r.reverseWsToken)return logger.bot("debug",e,"\u672A\u8BBE\u7F6E\u53CD\u5411ws\u9274\u6743\u79D8\u94A5\uFF0C\u8DF3\u8FC7\u9274\u6743"),true;let n=this.request.headers.authorization;return n!==`Bearer ${r.reverseWsToken}`?(logger.bot("error",e,`[oneBot11][\u9274\u6743\u5931\u8D25] address: ${this.adapter.address} token: ${n}`),this.socket.close(),false):(logger.bot("debug",e,`\u9274\u6743\u6210\u529F: ${n}`),true)}};var sg=async()=>{m.on("ws:connection:onebot",(t,e)=>{new Pn(t,e).init();}),m.once("online",()=>{logger.info(`[server] onebot: ${logger.green(`ws://127.0.0.1:${process.env.karin_port}`)}`),logger.info(`[server] onebot: ${logger.green(`ws://127.0.0.1:${process.env.karin_port}/onebot/v11/ws`)}`);});},og=async()=>{let t=X();if(t.forwardWs)for(let e of t.forwardWs)typeof e=="string"?sr.init(e):sr.init(e.url,e.token);},ig=async()=>{let t=X();if(!(!t.onebotHttp||!Array.isArray(t.onebotHttp)))for(let{selfId:e,api:r,token:n}of t.onebotHttp)try{if(e==="default")continue;if(e=String(e),n=String(n),!e||!r||!r.startsWith("http")){logger.bot("error",e,"\u8BF7\u914D\u7F6E\u6B63\u786E\u7684 onebot http \u4FE1\u606F");continue}uu(e,n),await new On(e,r,n).init();}catch(s){logger.error(s);}};og();sg();ig();Xt();ho();j();var hu=class{name;rule;desc;event;priority;e;next;reply;constructor(e){let{name:r,rule:n}=e;this.name=r,this.rule=n,this.desc=e.desc||"\u65E0\u63CF\u8FF0",this.event=e.event||"message",this.priority=e.priority||1e4,this.reply=this.e.reply.bind(this.e);}async replyForward(e){let r=await this.e.bot.sendForwardMsg(this.e.contact,e);return {...r,message_id:r.messageId}}};
|
|
38
|
+
export{Fe as AdapterBase,En as AdapterConsole,Rb as Bot,An as OB11ApiAction,vo as OB11Event,tg as OB11MessageSubType,eg as OB11MessageType,cu as OB11NoticeType,rg as OB11RequestType,Zp as OB11Sex,hu as Plugin,Mp as Renderer,Ft as Watch,Nt as Watcher,ne as YamlEditor,ur as absPath,Ya as adapter,D as app,Ct as applyComments,gr as base64,Ie as basePath,tt as buffer,Nb as buttonHandle,Ue as callRender,ni as changelog,Vp as checkGitPluginUpdate,Up as checkPkgUpdate,Yo as clearRequire,ge as clearRequireFile,Jn as comment,Co as commentPath,Gi as common,Q as config,Xe as configPath,Ae as consolePath,jo as copyConfig,Do as copyConfigSync,qn as copyFiles,jn as copyFilesSync,uy as createDirectMessage,py as createFriendDecreaseNotice,Aa as createFriendIncreaseNotice,xn as createFriendMessage,Da as createGroupAdminChangedNotice,fy as createGroupApplyRequest,Ra as createGroupCardChangedNotice,Ba as createGroupFileUploadedNotice,Ca as createGroupHlightsChangedNotice,La as createGroupHonorChangedNotice,hy as createGroupInviteRequest,qa as createGroupLuckKingNotice,Fa as createGroupMemberAddNotice,ja as createGroupMemberBanNotice,Na as createGroupMemberDelNotice,ly as createGroupMemberTitleUpdatedNotice,_n as createGroupMessage,po as createGroupMessageReactionNotice,Ta as createGroupPokeNotice,Sa as createGroupRecallNotice,dy as createGroupSignInNotice,Ia as createGroupTempMessage,my as createGroupWholeBanNotice,ay as createGuildMessage,ji as createLogger,cr as createPluginDir,yy as createPrivateApplyRequest,gy as createPrivateFileUploadedNotice,Oa as createPrivatePokeNotice,Pa as createPrivateRecallNotice,ie as createRawMessage,cy as createReceiveLikeNotice,Fn as dataPath,Fo as dbPath,nu as default,Cn as defaultConfigPath,xg as defaultViewPath,ar as downFile,Ku as errorToString,x as exec,ir as existToMkdir,ze as existToMkdirSync,Sn as exists,Po as existsSync,ds as ffmpeg,Qu as ffplay,ms as ffprobe,O as file,Qp as fileToUrl,_o as fileToUrlHandlerKey,rt as filesByExt,hs as formatTime,su as fs,sa as getAllBot,If as getAllBotID,oa as getAllBotList,Vs as getBot,ia as getBotCount,rr as getCommit,pr as getFiles,xo as getHash,us as getPid,nr as getPkgVersion,Bt as getPluginInfo,fr as getRelPath,In as getRemotePkgVersion,lo as getRender,kp as getRenderCount,Gp as getRenderList,Vi as getRequestIp,ou as getTime,zs as handler,At as htmlPath,Wp as importModule,Ds as isClass,or as isDir,To as isDirSync,Vu as isDocker,Oo as isFile,So as isFileSync,Ls as isIPv4Loop,Ji as isIPv6Loop,Yu as isLinux,Hs as isLocalRequest,Yi as isLoopback,Ju as isMac,wg as isPkg,wr as isPlugin,zu as isRoot,Qo as isStatic,yr as isSubPath,Or as isWin,Ko as json,nu as karin,$e as karinDir,bs as karinToQQBot,Mr as key,zc as level,No as levelPath,pp as listen,jt as lock,Qn as lockMethod,Dt as lockProp,Xn as log,dm as logger,Zn as logs,Dn as logsPath,Ei as makeForward,Be as makeMessage,Bn as mkdir,$t as mkdirSync,qt as parseChangelog,br as pkgRoot,Qe as pluginDir,_g as pm2Path,_i as qqbotToKarin,es as range,st as read,Ho as readFile,Ln as readJson,Pt as readJsonSync,Si as redis,Nn as redisLevelPath,mt as registerBot,za as registerRender,Xa as render,vn as renderHtml,kn as renderMultiHtml,Ap as renderTpl,K as requireFile,q as requireFileSync,dp as restart,Ws as restartDirect,Bo as rmSync,_r as save,_ as segment,qr as sendMsg,pe as sep,Nr as server,mr as splitPath,Oe as stream,os as stringifyError,au as system,Ze as tempPath,dt as unregisterBot,Qa as unregisterRender,zp as updateAllGitPlugin,Jp as updateAllPkg,iu as updateGitPlugin,Yp as updatePkg,Xu as uptime,hr as urlToPath,Vn as watch,ti as watchAndMerge,xr as write,Hn as writeJson,Tt as writeJsonSync,Ys as wss,Zo as yaml};
|