mirai-js 2.4.1 → 2.5.0
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/demo.js +92 -14
- package/dist/browser/mirai-js.js +1 -1
- package/dist/node/BaseType.d.ts +57 -0
- package/dist/node/Bot.d.ts +2 -1
- package/dist/node/Bot.js +7 -5
- package/dist/node/Message.d.ts +5 -2
- package/dist/node/Message.js +31 -1
- package/dist/node/Middleware.js +1 -1
- package/dist/node/core/sendFriendMessage.js +68 -0
- package/package.json +1 -1
- package/src/BaseType.d.ts +57 -0
- package/src/Bot.d.ts +2 -1
- package/src/Bot.js +5 -4
- package/src/Message.d.ts +5 -2
- package/src/Message.js +79 -1
- package/src/Middleware.js +1 -1
- /package/src/core/{sendFirendMessage.js → sendFriendMessage.js} +0 -0
package/demo.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
const { Bot, Message } = require('./src');
|
1
|
+
const { Bot, Message, Middleware } = require('./src');
|
2
2
|
|
3
3
|
(async () => {
|
4
4
|
try {
|
5
|
-
const baseUrl = 'http://
|
6
|
-
const verifyKey = '
|
5
|
+
const baseUrl = 'http://localhost:8080';
|
6
|
+
const verifyKey = '123456789';
|
7
7
|
const qq = 3070539027;
|
8
8
|
const bot = new Bot();
|
9
9
|
|
@@ -19,19 +19,97 @@ const { Bot, Message } = require('./src');
|
|
19
19
|
verifyKey,
|
20
20
|
});
|
21
21
|
|
22
|
-
//
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
22
|
+
// 监听好友消息事件
|
23
|
+
bot.on('FriendMessage', async ({
|
24
|
+
messageChain,
|
25
|
+
sender: {
|
26
|
+
id: fromQQ,
|
27
|
+
nickname: fromQQNickName,
|
28
|
+
remark
|
29
|
+
}
|
30
|
+
}) => {
|
31
|
+
console.log({ fromQQ, fromQQNickName, remark });
|
32
|
+
const { id: messageId } = messageChain[0];
|
33
|
+
|
34
|
+
bot.sendMessage({
|
35
|
+
friend: fromQQ,
|
36
|
+
quote: messageId,
|
37
|
+
message: new Message().addText('hello world!'),
|
38
|
+
});
|
39
|
+
});
|
40
|
+
|
41
|
+
// 监听群消息事件
|
42
|
+
bot.on('GroupMessage', async ({
|
43
|
+
messageChain,
|
44
|
+
sender: {
|
45
|
+
id: fromQQ,
|
46
|
+
memberName: fromNickname,
|
47
|
+
permission: fromQQPermission,
|
48
|
+
group: {
|
49
|
+
id: fromGroup,
|
50
|
+
name: groupName,
|
51
|
+
permission: botPermission
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}) => {
|
55
|
+
console.log({ fromQQ, fromNickname, fromQQPermission });
|
56
|
+
console.log({ fromGroup, groupName, botPermission });
|
57
|
+
|
58
|
+
// 复读机 ;)
|
59
|
+
const { id: messageId } = messageChain[0];
|
60
|
+
|
61
|
+
bot.sendMessage({
|
62
|
+
group: fromGroup,
|
63
|
+
quote: messageId,
|
64
|
+
messageChain
|
65
|
+
});
|
66
|
+
|
67
|
+
// 你可以像这样来判断群成员的权限
|
68
|
+
switch (fromQQPermission) {
|
69
|
+
case Bot.groupPermission.OWNER:
|
70
|
+
// 群主
|
71
|
+
break;
|
72
|
+
case Bot.groupPermission.ADMINISTRATOR:
|
73
|
+
// 管理员
|
74
|
+
break;
|
75
|
+
case Bot.groupPermission.MEMBER:
|
76
|
+
// 普通群成员
|
77
|
+
break;
|
78
|
+
}
|
32
79
|
});
|
33
80
|
|
34
|
-
|
81
|
+
|
82
|
+
// 使用中间件
|
83
|
+
// 过滤分类 message
|
84
|
+
bot.on('FriendMessage', new Middleware()
|
85
|
+
.messageProcessor(['Plain', 'Image'])
|
86
|
+
.textProcessor().done(({
|
87
|
+
// 第一个中间件,分类过的 messageChain
|
88
|
+
classified,
|
89
|
+
// 第二个中间件,文本部分
|
90
|
+
text,
|
91
|
+
|
92
|
+
messageChain,
|
93
|
+
sender: {
|
94
|
+
id: fromQQ,
|
95
|
+
nickname: fromQQNickName,
|
96
|
+
remark
|
97
|
+
}
|
98
|
+
}) => {
|
99
|
+
console.log({ fromQQ, fromQQNickName, remark, messageChain, classified, text });
|
100
|
+
|
101
|
+
bot.sendMessage({
|
102
|
+
friend: fromQQ,
|
103
|
+
message: new Message().addText(text),
|
104
|
+
});
|
105
|
+
}));
|
106
|
+
|
107
|
+
// 自动重新登陆
|
108
|
+
bot.on('BotOfflineEventForce',
|
109
|
+
new Middleware()
|
110
|
+
.autoReLogin({ password: 'your password' })
|
111
|
+
.done()
|
112
|
+
);
|
35
113
|
} catch (err) {
|
36
114
|
console.log(err);
|
37
115
|
}
|
package/dist/browser/mirai-js.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
(()=>{var e={9669:(e,r,t)=>{e.exports=t(1609)},5448:(e,r,t)=>{"use strict";var s=t(4867),o=t(6026),n=t(4372),a=t(5327),i=t(4097),c=t(4109),h=t(7985),d=t(5061),l=t(5655),u=t(5263);e.exports=function(e){return new Promise((function(r,t){var p,f=e.data,m=e.headers,g=e.responseType;function w(){e.cancelToken&&e.cancelToken.unsubscribe(p),e.signal&&e.signal.removeEventListener("abort",p)}s.isFormData(f)&&delete m["Content-Type"];var y=new XMLHttpRequest;if(e.auth){var b=e.auth.username||"",v=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";m.Authorization="Basic "+btoa(b+":"+v)}var x=i(e.baseURL,e.url);function E(){if(y){var s="getAllResponseHeaders"in y?c(y.getAllResponseHeaders()):null,n={data:g&&"text"!==g&&"json"!==g?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:s,config:e,request:y};o((function(e){r(e),w()}),(function(e){t(e),w()}),n),y=null}}if(y.open(e.method.toUpperCase(),a(x,e.params,e.paramsSerializer),!0),y.timeout=e.timeout,"onloadend"in y?y.onloadend=E:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(E)},y.onabort=function(){y&&(t(d("Request aborted",e,"ECONNABORTED",y)),y=null)},y.onerror=function(){t(d("Network Error",e,null,y)),y=null},y.ontimeout=function(){var r=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",s=e.transitional||l.transitional;e.timeoutErrorMessage&&(r=e.timeoutErrorMessage),t(d(r,e,s.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},s.isStandardBrowserEnv()){var U=(e.withCredentials||h(x))&&e.xsrfCookieName?n.read(e.xsrfCookieName):void 0;U&&(m[e.xsrfHeaderName]=U)}"setRequestHeader"in y&&s.forEach(m,(function(e,r){void 0===f&&"content-type"===r.toLowerCase()?delete m[r]:y.setRequestHeader(r,e)})),s.isUndefined(e.withCredentials)||(y.withCredentials=!!e.withCredentials),g&&"json"!==g&&(y.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&y.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(p=function(e){y&&(t(!e||e&&e.type?new u("canceled"):e),y.abort(),y=null)},e.cancelToken&&e.cancelToken.subscribe(p),e.signal&&(e.signal.aborted?p():e.signal.addEventListener("abort",p))),f||(f=null),y.send(f)}))}},1609:(e,r,t)=>{"use strict";var s=t(4867),o=t(1849),n=t(321),a=t(7185),i=function e(r){var t=new n(r),i=o(n.prototype.request,t);return s.extend(i,n.prototype,t),s.extend(i,t),i.create=function(t){return e(a(r,t))},i}(t(5655));i.Axios=n,i.Cancel=t(5263),i.CancelToken=t(4972),i.isCancel=t(6502),i.VERSION=t(7288).version,i.all=function(e){return Promise.all(e)},i.spread=t(8713),i.isAxiosError=t(6268),e.exports=i,e.exports.default=i},5263:e=>{"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},4972:(e,r,t)=>{"use strict";var s=t(5263);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var r;this.promise=new Promise((function(e){r=e}));var t=this;this.promise.then((function(e){if(t._listeners){var r,s=t._listeners.length;for(r=0;r<s;r++)t._listeners[r](e);t._listeners=null}})),this.promise.then=function(e){var r,s=new Promise((function(e){t.subscribe(e),r=e})).then(e);return s.cancel=function(){t.unsubscribe(r)},s},e((function(e){t.reason||(t.reason=new s(e),r(t.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},o.prototype.unsubscribe=function(e){if(this._listeners){var r=this._listeners.indexOf(e);-1!==r&&this._listeners.splice(r,1)}},o.source=function(){var e;return{token:new o((function(r){e=r})),cancel:e}},e.exports=o},6502:e=>{"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},321:(e,r,t)=>{"use strict";var s=t(4867),o=t(5327),n=t(782),a=t(3572),i=t(7185),c=t(4875),h=c.validators;function d(e){this.defaults=e,this.interceptors={request:new n,response:new n}}d.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=i(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;void 0!==r&&c.assertOptions(r,{silentJSONParsing:h.transitional(h.boolean),forcedJSONParsing:h.transitional(h.boolean),clarifyTimeoutError:h.transitional(h.boolean)},!1);var t=[],s=!0;this.interceptors.request.forEach((function(r){"function"==typeof r.runWhen&&!1===r.runWhen(e)||(s=s&&r.synchronous,t.unshift(r.fulfilled,r.rejected))}));var o,n=[];if(this.interceptors.response.forEach((function(e){n.push(e.fulfilled,e.rejected)})),!s){var d=[a,void 0];for(Array.prototype.unshift.apply(d,t),d=d.concat(n),o=Promise.resolve(e);d.length;)o=o.then(d.shift(),d.shift());return o}for(var l=e;t.length;){var u=t.shift(),p=t.shift();try{l=u(l)}catch(e){p(e);break}}try{o=a(l)}catch(e){return Promise.reject(e)}for(;n.length;)o=o.then(n.shift(),n.shift());return o},d.prototype.getUri=function(e){return e=i(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},s.forEach(["delete","get","head","options"],(function(e){d.prototype[e]=function(r,t){return this.request(i(t||{},{method:e,url:r,data:(t||{}).data}))}})),s.forEach(["post","put","patch"],(function(e){d.prototype[e]=function(r,t,s){return this.request(i(s||{},{method:e,url:r,data:t}))}})),e.exports=d},782:(e,r,t)=>{"use strict";var s=t(4867);function o(){this.handlers=[]}o.prototype.use=function(e,r,t){return this.handlers.push({fulfilled:e,rejected:r,synchronous:!!t&&t.synchronous,runWhen:t?t.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){s.forEach(this.handlers,(function(r){null!==r&&e(r)}))},e.exports=o},4097:(e,r,t)=>{"use strict";var s=t(1793),o=t(7303);e.exports=function(e,r){return e&&!s(r)?o(e,r):r}},5061:(e,r,t)=>{"use strict";var s=t(481);e.exports=function(e,r,t,o,n){var a=new Error(e);return s(a,r,t,o,n)}},3572:(e,r,t)=>{"use strict";var s=t(4867),o=t(8527),n=t(6502),a=t(5655),i=t(5263);function c(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new i("canceled")}e.exports=function(e){return c(e),e.headers=e.headers||{},e.data=o.call(e,e.data,e.headers,e.transformRequest),e.headers=s.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),s.forEach(["delete","get","head","post","put","patch","common"],(function(r){delete e.headers[r]})),(e.adapter||a.adapter)(e).then((function(r){return c(e),r.data=o.call(e,r.data,r.headers,e.transformResponse),r}),(function(r){return n(r)||(c(e),r&&r.response&&(r.response.data=o.call(e,r.response.data,r.response.headers,e.transformResponse))),Promise.reject(r)}))}},481:e=>{"use strict";e.exports=function(e,r,t,s,o){return e.config=r,t&&(e.code=t),e.request=s,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e}},7185:(e,r,t)=>{"use strict";var s=t(4867);e.exports=function(e,r){r=r||{};var t={};function o(e,r){return s.isPlainObject(e)&&s.isPlainObject(r)?s.merge(e,r):s.isPlainObject(r)?s.merge({},r):s.isArray(r)?r.slice():r}function n(t){return s.isUndefined(r[t])?s.isUndefined(e[t])?void 0:o(void 0,e[t]):o(e[t],r[t])}function a(e){if(!s.isUndefined(r[e]))return o(void 0,r[e])}function i(t){return s.isUndefined(r[t])?s.isUndefined(e[t])?void 0:o(void 0,e[t]):o(void 0,r[t])}function c(t){return t in r?o(e[t],r[t]):t in e?o(void 0,e[t]):void 0}var h={url:a,method:a,data:a,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c};return s.forEach(Object.keys(e).concat(Object.keys(r)),(function(e){var r=h[e]||n,o=r(e);s.isUndefined(o)&&r!==c||(t[e]=o)})),t}},6026:(e,r,t)=>{"use strict";var s=t(5061);e.exports=function(e,r,t){var o=t.config.validateStatus;t.status&&o&&!o(t.status)?r(s("Request failed with status code "+t.status,t.config,null,t.request,t)):e(t)}},8527:(e,r,t)=>{"use strict";var s=t(4867),o=t(5655);e.exports=function(e,r,t){var n=this||o;return s.forEach(t,(function(t){e=t.call(n,e,r)})),e}},5655:(e,r,t)=>{"use strict";var s=t(4155),o=t(4867),n=t(6016),a=t(481),i={"Content-Type":"application/x-www-form-urlencoded"};function c(e,r){!o.isUndefined(e)&&o.isUndefined(e["Content-Type"])&&(e["Content-Type"]=r)}var h,d={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==s&&"[object process]"===Object.prototype.toString.call(s))&&(h=t(5448)),h),transformRequest:[function(e,r){return n(r,"Accept"),n(r,"Content-Type"),o.isFormData(e)||o.isArrayBuffer(e)||o.isBuffer(e)||o.isStream(e)||o.isFile(e)||o.isBlob(e)?e:o.isArrayBufferView(e)?e.buffer:o.isURLSearchParams(e)?(c(r,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):o.isObject(e)||r&&"application/json"===r["Content-Type"]?(c(r,"application/json"),function(e,r,t){if(o.isString(e))try{return(0,JSON.parse)(e),o.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var r=this.transitional||d.transitional,t=r&&r.silentJSONParsing,s=r&&r.forcedJSONParsing,n=!t&&"json"===this.responseType;if(n||s&&o.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw a(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};o.forEach(["delete","get","head"],(function(e){d.headers[e]={}})),o.forEach(["post","put","patch"],(function(e){d.headers[e]=o.merge(i)})),e.exports=d},7288:e=>{e.exports={version:"0.24.0"}},1849:e=>{"use strict";e.exports=function(e,r){return function(){for(var t=new Array(arguments.length),s=0;s<t.length;s++)t[s]=arguments[s];return e.apply(r,t)}}},5327:(e,r,t)=>{"use strict";var s=t(4867);function o(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,r,t){if(!r)return e;var n;if(t)n=t(r);else if(s.isURLSearchParams(r))n=r.toString();else{var a=[];s.forEach(r,(function(e,r){null!=e&&(s.isArray(e)?r+="[]":e=[e],s.forEach(e,(function(e){s.isDate(e)?e=e.toISOString():s.isObject(e)&&(e=JSON.stringify(e)),a.push(o(r)+"="+o(e))})))})),n=a.join("&")}if(n){var i=e.indexOf("#");-1!==i&&(e=e.slice(0,i)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e}},7303:e=>{"use strict";e.exports=function(e,r){return r?e.replace(/\/+$/,"")+"/"+r.replace(/^\/+/,""):e}},4372:(e,r,t)=>{"use strict";var s=t(4867);e.exports=s.isStandardBrowserEnv()?{write:function(e,r,t,o,n,a){var i=[];i.push(e+"="+encodeURIComponent(r)),s.isNumber(t)&&i.push("expires="+new Date(t).toGMTString()),s.isString(o)&&i.push("path="+o),s.isString(n)&&i.push("domain="+n),!0===a&&i.push("secure"),document.cookie=i.join("; ")},read:function(e){var r=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return r?decodeURIComponent(r[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:e=>{"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},6268:e=>{"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},7985:(e,r,t)=>{"use strict";var s=t(4867);e.exports=s.isStandardBrowserEnv()?function(){var e,r=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");function o(e){var s=e;return r&&(t.setAttribute("href",s),s=t.href),t.setAttribute("href",s),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return e=o(window.location.href),function(r){var t=s.isString(r)?o(r):r;return t.protocol===e.protocol&&t.host===e.host}}():function(){return!0}},6016:(e,r,t)=>{"use strict";var s=t(4867);e.exports=function(e,r){s.forEach(e,(function(t,s){s!==r&&s.toUpperCase()===r.toUpperCase()&&(e[r]=t,delete e[s])}))}},4109:(e,r,t)=>{"use strict";var s=t(4867),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var r,t,n,a={};return e?(s.forEach(e.split("\n"),(function(e){if(n=e.indexOf(":"),r=s.trim(e.substr(0,n)).toLowerCase(),t=s.trim(e.substr(n+1)),r){if(a[r]&&o.indexOf(r)>=0)return;a[r]="set-cookie"===r?(a[r]?a[r]:[]).concat([t]):a[r]?a[r]+", "+t:t}})),a):a}},8713:e=>{"use strict";e.exports=function(e){return function(r){return e.apply(null,r)}}},4875:(e,r,t)=>{"use strict";var s=t(7288).version,o={};["object","boolean","number","function","string","symbol"].forEach((function(e,r){o[e]=function(t){return typeof t===e||"a"+(r<1?"n ":" ")+e}}));var n={};o.transitional=function(e,r,t){function o(e,r){return"[Axios v"+s+"] Transitional option '"+e+"'"+r+(t?". "+t:"")}return function(t,s,a){if(!1===e)throw new Error(o(s," has been removed"+(r?" in "+r:"")));return r&&!n[s]&&(n[s]=!0,console.warn(o(s," has been deprecated since v"+r+" and will be removed in the near future"))),!e||e(t,s,a)}},e.exports={assertOptions:function(e,r,t){if("object"!=typeof e)throw new TypeError("options must be an object");for(var s=Object.keys(e),o=s.length;o-- >0;){var n=s[o],a=r[n];if(a){var i=e[n],c=void 0===i||a(i,n,e);if(!0!==c)throw new TypeError("option "+n+" must be "+c)}else if(!0!==t)throw Error("Unknown option "+n)}},validators:o}},4867:(e,r,t)=>{"use strict";var s=t(1849),o=Object.prototype.toString;function n(e){return"[object Array]"===o.call(e)}function a(e){return void 0===e}function i(e){return null!==e&&"object"==typeof e}function c(e){if("[object Object]"!==o.call(e))return!1;var r=Object.getPrototypeOf(e);return null===r||r===Object.prototype}function h(e){return"[object Function]"===o.call(e)}function d(e,r){if(null!=e)if("object"!=typeof e&&(e=[e]),n(e))for(var t=0,s=e.length;t<s;t++)r.call(null,e[t],t,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&r.call(null,e[o],o,e)}e.exports={isArray:n,isArrayBuffer:function(e){return"[object ArrayBuffer]"===o.call(e)},isBuffer:function(e){return null!==e&&!a(e)&&null!==e.constructor&&!a(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:i,isPlainObject:c,isUndefined:a,isDate:function(e){return"[object Date]"===o.call(e)},isFile:function(e){return"[object File]"===o.call(e)},isBlob:function(e){return"[object Blob]"===o.call(e)},isFunction:h,isStream:function(e){return i(e)&&h(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:d,merge:function e(){var r={};function t(t,s){c(r[s])&&c(t)?r[s]=e(r[s],t):c(t)?r[s]=e({},t):n(t)?r[s]=t.slice():r[s]=t}for(var s=0,o=arguments.length;s<o;s++)d(arguments[s],t);return r},extend:function(e,r,t){return d(r,(function(r,o){e[o]=t&&"function"==typeof r?s(r,t):r})),e},trim:function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}}},6230:e=>{e.exports="object"==typeof self?self.FormData:window.FormData},6470:(e,r,t)=>{"use strict";var s=t(4155);function o(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,r){for(var t,s="",o=0,n=-1,a=0,i=0;i<=e.length;++i){if(i<e.length)t=e.charCodeAt(i);else{if(47===t)break;t=47}if(47===t){if(n===i-1||1===a);else if(n!==i-1&&2===a){if(s.length<2||2!==o||46!==s.charCodeAt(s.length-1)||46!==s.charCodeAt(s.length-2))if(s.length>2){var c=s.lastIndexOf("/");if(c!==s.length-1){-1===c?(s="",o=0):o=(s=s.slice(0,c)).length-1-s.lastIndexOf("/"),n=i,a=0;continue}}else if(2===s.length||1===s.length){s="",o=0,n=i,a=0;continue}r&&(s.length>0?s+="/..":s="..",o=2)}else s.length>0?s+="/"+e.slice(n+1,i):s=e.slice(n+1,i),o=i-n-1;n=i,a=0}else 46===t&&-1!==a?++a:a=-1}return s}var a={resolve:function(){for(var e,r="",t=!1,a=arguments.length-1;a>=-1&&!t;a--){var i;a>=0?i=arguments[a]:(void 0===e&&(e=s.cwd()),i=e),o(i),0!==i.length&&(r=i+"/"+r,t=47===i.charCodeAt(0))}return r=n(r,!t),t?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(o(e),0===e.length)return".";var r=47===e.charCodeAt(0),t=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&t&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return o(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var t=arguments[r];o(t),t.length>0&&(void 0===e?e=t:e+="/"+t)}return void 0===e?".":a.normalize(e)},relative:function(e,r){if(o(e),o(r),e===r)return"";if((e=a.resolve(e))===(r=a.resolve(r)))return"";for(var t=1;t<e.length&&47===e.charCodeAt(t);++t);for(var s=e.length,n=s-t,i=1;i<r.length&&47===r.charCodeAt(i);++i);for(var c=r.length-i,h=n<c?n:c,d=-1,l=0;l<=h;++l){if(l===h){if(c>h){if(47===r.charCodeAt(i+l))return r.slice(i+l+1);if(0===l)return r.slice(i+l)}else n>h&&(47===e.charCodeAt(t+l)?d=l:0===l&&(d=0));break}var u=e.charCodeAt(t+l);if(u!==r.charCodeAt(i+l))break;47===u&&(d=l)}var p="";for(l=t+d+1;l<=s;++l)l!==s&&47!==e.charCodeAt(l)||(0===p.length?p+="..":p+="/..");return p.length>0?p+r.slice(i+d):(i+=d,47===r.charCodeAt(i)&&++i,r.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(o(e),0===e.length)return".";for(var r=e.charCodeAt(0),t=47===r,s=-1,n=!0,a=e.length-1;a>=1;--a)if(47===(r=e.charCodeAt(a))){if(!n){s=a;break}}else n=!1;return-1===s?t?"/":".":t&&1===s?"//":e.slice(0,s)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');o(e);var t,s=0,n=-1,a=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var i=r.length-1,c=-1;for(t=e.length-1;t>=0;--t){var h=e.charCodeAt(t);if(47===h){if(!a){s=t+1;break}}else-1===c&&(a=!1,c=t+1),i>=0&&(h===r.charCodeAt(i)?-1==--i&&(n=t):(i=-1,n=c))}return s===n?n=c:-1===n&&(n=e.length),e.slice(s,n)}for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!a){s=t+1;break}}else-1===n&&(a=!1,n=t+1);return-1===n?"":e.slice(s,n)},extname:function(e){o(e);for(var r=-1,t=0,s=-1,n=!0,a=0,i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47!==c)-1===s&&(n=!1,s=i+1),46===c?-1===r?r=i:1!==a&&(a=1):-1!==r&&(a=-1);else if(!n){t=i+1;break}}return-1===r||-1===s||0===a||1===a&&r===s-1&&r===t+1?"":e.slice(r,s)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,r){var t=r.dir||r.root,s=r.base||(r.name||"")+(r.ext||"");return t?t===r.root?t+s:t+"/"+s:s}(0,e)},parse:function(e){o(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var t,s=e.charCodeAt(0),n=47===s;n?(r.root="/",t=1):t=0;for(var a=-1,i=0,c=-1,h=!0,d=e.length-1,l=0;d>=t;--d)if(47!==(s=e.charCodeAt(d)))-1===c&&(h=!1,c=d+1),46===s?-1===a?a=d:1!==l&&(l=1):-1!==a&&(l=-1);else if(!h){i=d+1;break}return-1===a||-1===c||0===l||1===l&&a===c-1&&a===i+1?-1!==c&&(r.base=r.name=0===i&&n?e.slice(1,c):e.slice(i,c)):(0===i&&n?(r.name=e.slice(1,a),r.base=e.slice(1,c)):(r.name=e.slice(i,a),r.base=e.slice(i,c)),r.ext=e.slice(a,c)),i>0?r.dir=e.slice(0,i-1):n&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,e.exports=a},4155:e=>{var r,t,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function a(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{t="function"==typeof clearTimeout?clearTimeout:n}catch(e){t=n}}();var i,c=[],h=!1,d=-1;function l(){h&&i&&(h=!1,i.length?c=i.concat(c):d=-1,c.length&&u())}function u(){if(!h){var e=a(l);h=!0;for(var r=c.length;r;){for(i=c,c=[];++d<r;)i&&i[d].run();d=-1,r=c.length}i=null,h=!1,function(e){if(t===clearTimeout)return clearTimeout(e);if((t===n||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(e);try{t(e)}catch(r){try{return t.call(null,e)}catch(r){return t.call(this,e)}}}(e)}}function p(e,r){this.fun=e,this.array=r}function f(){}s.nextTick=function(e){var r=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)r[t-1]=arguments[t];c.push(new p(e,r)),1!==c.length||h||a(u)},p.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=f,s.addListener=f,s.once=f,s.off=f,s.removeListener=f,s.removeAllListeners=f,s.emit=f,s.prependListener=f,s.prependOnceListener=f,s.listeners=function(e){return[]},s.binding=function(e){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(e){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}},9900:(e,r,t)=>{var s=t(4155);const o=t(1623),n=t(2942),a=t(3305),i=t(7701),c=t(2841),h=t(8731),d=t(6993),l=t(1402),u=t(4684),p=t(3400),f=t(8535),m=t(3911),g=t(1968),w=t(6732),y=t(4316),b=t(9113),v=t(3178),x=t(3849),E=t(7906),U=t(9964),K=t(1367),C=t(7015),M=t(6818),I=t(5997),j=t(4801),S=t(447),q=t(9095),R=t(5320),$=t(719),A=t(7321),P=t(3231),F=t(984),L=t(5858),{wsStartListening:T,wsStopListening:O}=t(9864),_=t(1743)(0,2e16),k=t(4482),N=t(7351),{promisify:B}=t(7790),{Waiter:D}=t(5862),{FileManager:G}=t(7312),{errCodeEnum:J}=t(7117),{MessageChainGetable:z,BotConfigGetable:W}=t(8024);class V extends W{constructor(){super(),this.waiter=new D(this),this.config=void 0,this.eventProcessorMap={},this.wsConnection=void 0}getBaseUrl(){return this.config.baseUrl}getQQ(){return this.config.qq}getVerifyKey(){return this.config.verifyKey}getSessionKey(){return this.config.sessionKey}async open({baseUrl:e,qq:r,verifyKey:t}={}){if(this.config&&await this.close({keepProcessor:!0,keepConfig:!0}),this.config={baseUrl:this.config?.baseUrl??e,qq:this.config?.qq??r,verifyKey:this.config?.verifyKey??t,sessionKey:this.config?.sessionKey??""},this.eventProcessorMap=this.eventProcessorMap??{},({baseUrl:e,qq:r,verifyKey:t}=this.config),!this.config.baseUrl||!this.config.qq||!this.config.verifyKey)throw new Error(`open 缺少必要的 ${k({baseUrl:e,qq:r,verifyKey:t})} 参数`);const s=this.config.sessionKey=await n({baseUrl:e,verifyKey:t});await a({baseUrl:e,sessionKey:s,qq:r}),await this.__wsListen()}async __wsListen(){const{baseUrl:e,sessionKey:r,verifyKey:t}=this.config;this.wsConnection=await T({baseUrl:e,sessionKey:r,verifyKey:t,message:e=>{if(e.type in this.eventProcessorMap)return e.bot=this,Object.values(this.eventProcessorMap[e.type]).forEach((r=>r(e)))},error:e=>{if("error"in this.eventProcessorMap)return e.bot=this,Object.values(this.eventProcessorMap.error).forEach((r=>r(e)));try{console.log(`ws error\n${JSON.stringify(e)}`)}catch(e){}},close:e=>{if("close"in this.eventProcessorMap)return e.bot=this,Object.values(this.eventProcessorMap.close).forEach((r=>r(e)));try{console.log(`ws close\n${JSON.stringify(e)}`)}catch(e){}},unexpectedResponse:e=>{const r="unexpected-response";if(r in this.eventProcessorMap)return e.bot=this,Object.values(this.eventProcessorMap[r]).forEach((r=>r(e)));try{console.log(`ws unexpectedResponse\n${JSON.stringify(e)}`)}catch(e){}}})}async close({keepProcessor:e=!1,keepConfig:r=!1}={}){if(!this.config)throw new Error("close 请先调用 open,建立一个会话");const{baseUrl:t,sessionKey:s,qq:n}=this.config;await O(this.wsConnection),await o({baseUrl:t,sessionKey:s,qq:n}),e||(this.eventProcessorMap={}),r||(this.config=void 0),this.wsConnection=void 0}async sendMessage({temp:e=!1,friend:r,group:t,quote:s,message:o,messageChain:n}){if(!this.config)throw new Error("sendMessage 请先调用 open,建立一个会话");if(!r&&!t|!o&&!n)throw new Error(`sendMessage 缺少必要的 ${k({"friend 或 group":r||t,"message 或 messageChain":o||n})} 参数`);n&&console.log("warning: 现在 sendMessage 方法的 message 参数可以同时接收 Message 实例或 messageChain,messageChain 参数将在未来被移除");const{baseUrl:a,sessionKey:i}=this.config;if((n=n??o)instanceof z?n=n.getMessageChain():"string"==typeof n&&(n=[{type:"Plain",text:n}]),e)return await d({baseUrl:a,sessionKey:i,qq:r,group:t,quote:s,messageChain:n});if(r)return await c({baseUrl:a,sessionKey:i,target:r,quote:s,messageChain:n});if(t)return await h({baseUrl:a,sessionKey:i,target:t,quote:s,messageChain:n});throw{message:"sendGroupMessage 缺少必要的 qq 或 group 参数"}}async sendNudge({friend:e,group:r,target:t}){if(!this.config)throw new Error("sendNudge 请先调用 open,建立一个会话");if(!r&&!e||!t)throw new Error(`sendNudge 缺少必要的 ${k({"group 或 friend":r||e,target:t})} 参数`);const{baseUrl:s,sessionKey:o}=this.config;r?await l({baseUrl:s,sessionKey:o,target:t,subject:r,kind:"Group"}):e&&await l({baseUrl:s,sessionKey:o,target:t,subject:e,kind:"Friend"})}on(e,r){if(!this.config)throw new Error("on 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`on 缺少必要的 ${k({eventType:e,callback:r})} 参数`);if(Array.isArray(e))return e.map((e=>this.on(e,r)));e in this.eventProcessorMap||(this.eventProcessorMap[e]={});let t=_();for(;t in this.eventProcessorMap[e];)t=_();let s=r;return this.eventProcessorMap[e][t]=s,t}one(e,r,t=!1){if(!this.config)throw new Error("one 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`one 缺少必要的 ${k({eventType:e,callback:r})} 参数`);if(Array.isArray(e))return void e.map((e=>this.one(e,r)));e in this.eventProcessorMap||(this.eventProcessorMap[e]={});let s=_();for(;s in this.eventProcessorMap[e];)s=_();this.eventProcessorMap[e][s]=async o=>{t?(await r(o),s in this.eventProcessorMap[e]&&delete this.eventProcessorMap[e][s]):(s in this.eventProcessorMap[e]&&delete this.eventProcessorMap[e][s],r(o))}}off(e,r){if(!this.config)throw new Error("off 请先调用 open,建立一个会话");if(!e)throw new Error("off 缺少必要的 eventType 参数");r?r.forEach?r.forEach((r=>{r in this.eventProcessorMap[e]&&delete this.eventProcessorMap[e][r]})):r in this.eventProcessorMap[e]&&delete this.eventProcessorMap[e][r]:e in this.eventProcessorMap&&delete this.eventProcessorMap[e]}offAll(e){if(!this.config)throw new Error("offAll 请先调用 open,建立一个会话");e?e.forEach?e.forEach((e=>{e in this.eventProcessorMap&&delete this.eventProcessorMap[e]})):e in this.eventProcessorMap&&delete this.eventProcessorMap[e]:this.eventProcessorMap={}}async getSessionConfig(){if(!this.config)throw new Error("getConfig 请先调用 open,建立一个会话");const{baseUrl:e,sessionKey:r}=this.config;return await u({baseUrl:e,sessionKey:r})}async setSessionConfig({cacheSize:e,enableWebsocket:r}){if(!this.config)throw new Error("setConfig 请先调用 open,建立一个会话");const{baseUrl:t,sessionKey:s}=this.config;await p({baseUrl:t,sessionKey:s,cacheSize:e,enableWebsocket:r})}async recall({messageId:e}){if(!this.config)throw new Error("recall 请先调用 open,建立一个会话");if(!e)throw new Error("recall 缺少必要的 messageId 参数");const{baseUrl:r,sessionKey:t}=this.config;await M({baseUrl:r,sessionKey:t,target:e})}async uploadImage({type:e="group",img:r,filename:t}){if(!this.config)throw new Error("uploadImage 请先调用 open,建立一个会话");if(s.browser&&t)throw new Error("uploadImage 浏览器端不支持 filename 参数");if(!r&&!t)throw new Error("uploadImage 缺少必要的 img 或 filename 参数");t&&(r=r??await B(N.readFile)(t));const{baseUrl:o,sessionKey:n}=this.config;return await f({baseUrl:o,sessionKey:n,type:e,img:r})}async uploadVoice({type:e="group",voice:r,filename:t}){if(!this.config)throw new Error("uploadVoice 请先调用 open,建立一个会话");if(s.browser&&t)throw new Error("uploadVoice 浏览器端不支持 filename 参数");if(!r&&!t)throw new Error("uploadVoice 缺少必要的 voice 或 filename 参数");t&&(r=r??await B(N.readFile)(t));const{baseUrl:o,sessionKey:n}=this.config;return await m({baseUrl:o,sessionKey:n,type:e,voice:r})}async getFriendList(){if(!this.config)throw new Error("getFriendList 请先调用 open,建立一个会话");const{baseUrl:e,sessionKey:r}=this.config,t=await g({baseUrl:e,sessionKey:r});return t.map((e=>{e.name=e.nickname,delete e.nickname})),t}async getGroupList(){if(!this.config)throw new Error("getGroupList 请先调用 open,建立一个会话");const{baseUrl:e,sessionKey:r}=this.config;return await w({baseUrl:e,sessionKey:r})}async getMemberList({group:e}){if(!this.config)throw new Error("getMemberList 请先调用 open,建立一个会话");if(!e)throw new Error("getMemberList 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config,s=await y({baseUrl:r,sessionKey:t,target:e});return s.map((e=>{e.name=e.memberName,delete e.group,delete e.memberName})),s}async getMemberInfo({group:e,qq:r}){if(!this.config)throw new Error("getMemberInfo 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`getMemberInfo 缺少必要的 ${k({group:e,qq:r})} 参数`);const{baseUrl:t,sessionKey:s}=this.config,o=await b({baseUrl:t,sessionKey:s,target:e,memberId:r});return o.title=o.specialTitle,delete o.specialTitle,o}async getUserProfile({qq:e}){if(!this.config)throw new Error("getUserProfile 请先调用 open,建立一个会话");if(!e)throw new Error("getUserProfile 缺少必要的 qq 参数");const{baseUrl:r,sessionKey:t}=this.config;return await v({baseUrl:r,sessionKey:t,target:e})}async setMemberInfo({group:e,qq:r,name:t,title:s,permission:o}){if(!this.config)throw new Error("setMemberInfo 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`setMemberInfo 缺少必要的 ${k({group:e,qq:r})} 参数`);if(null!=o&&o!=V.groupPermission.ADMINISTRATOR&&o!=V.groupPermission.MEMBER)throw new Error("setMemberInfo admin 参数只能是 Bot.groupPermission.ADMINISTRATOR 或 Bot.groupPermission.Member");const{baseUrl:n,sessionKey:a}=this.config;null==t&&null==s||await x({baseUrl:n,sessionKey:a,target:e,memberId:r,name:t,specialTitle:s}),null!=o&&await E({baseUrl:n,sessionKey:a,target:e,memberId:r,assign:o==V.groupPermission.ADMINISTRATOR})}async*getAnnoIter({group:e}){if(!this.config)throw new Error("getAnno 请先调用 open,建立一个会话");if(!e)throw new Error("getAnno 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config;let s=0,o=await U({baseUrl:r,sessionKey:t,id:e,offset:s,size:10});for(;o.length>0;){for(const e of o)yield e;s+=10,o=await U({baseUrl:r,sessionKey:t,id:e,offset:s,size:10})}}async publishAnno({group:e,content:r,pinned:t}){if(!this.config)throw new Error("publishAllo 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`publishAllo 缺少必要的 ${k({group:e,content:r})} 参数`);const{baseUrl:s,sessionKey:o}=this.config;await K({baseUrl:s,sessionKey:o,target:e,content:r,pinned:t})}async deleteAnno({group:e,fid:r}){if(!this.config)throw new Error("deleteAnno 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`deleteAnno 缺少必要的 ${k({group:e,fid:r})} 参数`);const{baseUrl:t,sessionKey:s}=this.config;await C({baseUrl:t,sessionKey:s,id:e,fid:r})}async mute({group:e,qq:r,time:t}){if(!this.config)throw new Error("mute 请先调用 open,建立一个会话");if(!e||!r||!t)throw new Error(`mute 缺少必要的 ${k({group:e,qq:r,time:t})} 参数`);const{baseUrl:s,sessionKey:o}=this.config;await I({baseUrl:s,sessionKey:o,target:e,memberId:r,time:t})}async muteAll({group:e}){if(!this.config)throw new Error("muteAll 请先调用 open,建立一个会话");if(!e)throw new Error("muteAll 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config;await j({baseUrl:r,sessionKey:t,target:e})}async unmute({group:e,qq:r}){if(!this.config)throw new Error("unmute 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`unmute 缺少必要的 ${k({group:e,qq:r})} 参数`);const{baseUrl:t,sessionKey:s}=this.config;await S({baseUrl:t,sessionKey:s,target:e,memberId:r})}async unmuteAll({group:e}){if(!this.config)throw new Error("unmute 请先调用 open,建立一个会话");if(!e)throw new Error("unmute 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config;await q({baseUrl:r,sessionKey:t,target:e})}async removeMember({group:e,qq:r,message:t=""}){if(!this.config)throw new Error("removeMember 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`removeMember 缺少必要的 ${k({group:e,qq:r})} 参数`);const{baseUrl:s,sessionKey:o}=this.config;await R({baseUrl:s,sessionKey:o,target:e,memberId:r,msg:t})}async removeFriend({qq:e}){if(!this.config)throw new Error("removeFriend 请先调用 open,建立一个会话");if(!e)throw new Error("removeFriend 缺少必要的 qq 参数");const{baseUrl:r,sessionKey:t}=this.config;await $({baseUrl:r,sessionKey:t,target:e})}async quitGroup({group:e}){if(!this.config)throw new Error("quitGroup 请先调用 open,建立一个会话");if(!e)throw new Error("quitGroup 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config;await A({baseUrl:r,sessionKey:t,target:e})}async getGroupConfig({group:e}){if(!this.config)throw new Error("getGroupConfig 请先调用 open,建立一个会话");if(!e)throw new Error("getGroupConfig 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config;return await P({baseUrl:r,sessionKey:t,target:e})}async setGroupConfig({group:e,name:r,announcement:t,confessTalk:s,allowMemberInvite:o,autoApprove:n,anonymousChat:a}){if(!this.config)throw new Error("setGroupConfig 请先调用 open,建立一个会话");if(!e)throw new Error("setGroupConfig 缺少必要的 group 参数");const{baseUrl:i,sessionKey:c}=this.config;await F({baseUrl:i,sessionKey:c,target:e,name:r,announcement:t,confessTalk:s,allowMemberInvite:o,autoApprove:n,anonymousChat:a})}fileManager({group:e}){return new G({bot:this,group:e})}async setEssence({messageId:e}){if(!this.config)throw new Error("setEssence 请先调用 open,建立一个会话");if(!e)throw new Error("setEssence 缺少必要的 messageId 参数");const{baseUrl:r,sessionKey:t}=this.config;await L({baseUrl:r,sessionKey:t,target:e})}async sendCommand({command:e}){if(!this.config)throw new Error("setEssence 请先调用 open,建立一个会话");if(!e)throw new Error(`sendCommand 缺少必要的 ${k({command:e})} 参数`);const{Message:r}=t(4122),{baseUrl:s,sessionKey:o}=this.config;return await i({baseUrl:s,sessionKey:o,command:e.map((e=>e?.toString()??"")).reduce(((e,r)=>e.addText(r)),new r).messageChain})}static async isBotLoggedIn({baseUrl:e,verifyKey:r,qq:t}){if(!e||!r||!t)throw new Error(`isBotLoggedIn 缺少必要的 ${k({baseUrl:e,verifyKey:r,qq:t})} 参数`);const s=await n({baseUrl:e,verifyKey:r}),{code:i}=await a({baseUrl:e,sessionKey:s,qq:t,throwable:!1});return i!=J.BOT_NOT_FOUND&&(o({baseUrl:e,sessionKey:s,qq:t}),!0)}}V.groupPermission={get OWNER(){return"OWNER"},get ADMINISTRATOR(){return"ADMINISTRATOR"},get MEMBER(){return"MEMBER"}},e.exports={Bot:V}},7312:(e,r,t)=>{var s=t(4155);const o=t(7351),n=t(6470),{promisify:a}=t(7790);e.exports={FileManager:class{constructor({bot:e,group:r}){const i=e.getBaseUrl(),c=e.sessionKey();this._getGroupFileList=({dir:e})=>t(7698)({baseUrl:i,sessionKey:c,target:r,dir:e}),this._getGroupFileInfo=({id:e})=>t(8646)({baseUrl:i,sessionKey:c,target:r,id:e}),this._uploadFileAndSend=({type:e,path:s,file:o})=>t(6677)({baseUrl:i,sessionKey:c,type:e,target:r,path:s,file:o}),this._groupFileDelete=({id:e})=>t(2005)({baseUrl:i,sessionKey:c,target:r,id:e}),this._makeGroupDir=({dir:e})=>t(2339)({baseUrl:i,sessionKey:c,target:r,dir:e}),this._groupFileRename=({id:e,rename:s})=>t(6674)({baseUrl:i,sessionKey:c,target:r,id:e,rename:s}),this._groupFileMove=({id:e,movePath:s})=>t(9029)({baseUrl:i,sessionKey:c,target:r,id:e,movePath:s});let h=this;this.File=class{constructor(e){this._details={name:e?.name,id:e?.id,path:e?.path,isFile:e?.isFile}}async delete(){return await h._groupFileDelete({id:this._details.id}),this}async move(e){if(!e)throw new Error("Bot.FileManager.File.move 缺少必要的 path 参数");return await h._groupFileMove({id:this._details.id,movePath:e}),await this._requestFields(),this}async rename(e){if(!e)throw new Error("Bot.FileManager.File.rename 缺少必要的 name 参数");return await h._groupFileRename({id:this._details.id,rename:e}),await this._requestFields(),this}async _requestFields(){return Object.assign(this._details,await h._getGroupFileInfo({id:await this.id()}))}async _getField(e){return this._details[e]||await this._requestFields(),this._details[e]}async allFields(){return await this._requestFields()}async isDir(){return!await this._getField("isFile")}async isFile(){return await this._getField("isFile")}async name(){return await this._getField("name")}async path(){return await this._getField("path")}async id(){return await this._getField("id")}async length(){return await this._getField("length")}async downloadTimes(){return await this._getField("downloadTimes")}async uploaderId(){return await this._getField("uploaderId")}async uploadTime(){return await this._getField("uploadTime")}async lastModifyTime(){return await this._getField("lastModifyTime")}async downloadUrl(){return await this._getField("downloadUrl")}async sha1(){return await this._getField("sha1")}async md5(){return await this._getField("md5")}},this.Directory=class{constructor(e){this._details={name:e?.name,id:e?.id,path:e?.path,isFile:e?.isFile}}async _getField(e){return this._details[e]}async allFields(){return await this._details}async isDir(){return!await this._getField("isFile")}async isFile(){return await this._getField("isFile")}async name(){return await this._getField("name")}async path(){return await this._getField("path")}async id(){return await this._getField("id")}async getFileList(e=this._details.path){return(await h._getGroupFileList({dir:e})).map((e=>h._getInstance(e)))}async upload({file:e,filePath:r,filename:t}){if(s.browser&&r)throw new Error("Bot.FileManager.Directory.upload 浏览器端不支持 filePath 参数");if(!e&&!r)throw new Error("Bot.FileManager.Directory.upload 缺少必要的 file 或 filePath 参数");t&&(e=e??await a(o.readFile)(t)),await this._uploadFileAndSend({file:e,type:"group",path:await this.path()+t??n.parse(r).base})}}}_getInstance(e){return!0===e?.isFile?new this.File(e):!1===e?.isFile?new this.Directory(e):void 0}async getFileList(e){return(await this._getGroupFileList({dir:e})).map((e=>this._getInstance(e)))}async uploadTo({uploadPath:e,file:r,filePath:t}){if(s.browser&&t)throw new Error("Bot.FileManager.uploadTo 浏览器端不支持 filePath 参数");if(!r&&!t)throw new Error("Bot.FileManager.uploadTo 缺少必要的 file 或 filePath 参数");t&&(r=r??await a(o.readFile)(t)),await this._uploadFileAndSend({type:"Group",path:e,file:r})}}}},4122:(e,r,t)=>{const{MessageChainGetable:s}=t(8024);class o{constructor({type:e}){this.type=e}}class n extends o{constructor({text:e}){super({type:"Plain"}),this.text=e}}class a extends o{constructor({text:e}){super({type:"Plain"}),this.text=e}}class i extends o{constructor({target:e,display:r}){super({type:"At"}),this.target=e,this.display=r}}class c extends o{constructor(){super({type:"AtAll"})}}class h extends o{constructor({imageId:e,url:r,path:t}){super({type:"Image"}),this.imageId=e,this.url=r,this.path=t}}class d extends o{constructor({imageId:e,url:r,path:t}){super({type:"FlashImage"}),this.imageId=e,this.url=r,this.path=t}}class l extends o{constructor({voiceId:e,url:r,path:t}){super({type:"Voice"}),this.voiceId=e,this.url=r,this.path=t}}class u extends o{constructor({xml:e}){super({type:"Xml"}),this.xml=e}}class p extends o{constructor({json:e}){super({type:"Json"}),this.json=e}}class f extends o{constructor({content:e}){super({type:"App"}),this.content=e}}e.exports={Message:class extends s{constructor(){super(),this.messageChain=[]}addText(e){return this.messageChain.push(new a({text:e})),this}addPlain(e){return this.messageChain.push(new n({text:e})),this}addAt(e){return this.messageChain.push(new i({target:e})),this}addAtAll(){return this.messageChain.push(new c),this}addImageId(e){return this.messageChain.push(new h({imageId:e})),this}addImageUrl(e){return this.messageChain.push(new h({url:e})),this}addImagePath(e){return this.messageChain.push(new h({path:e})),this}addFlashImageId(e){return this.messageChain.push(new d({imageId:e})),this}addFlashImageUrl(e){return this.messageChain.push(new d({url:e})),this}addFlashImagePath(e){return this.messageChain.push(new d({path:e})),this}addVoiceId(e){return this.messageChain.push(new l({voiceId:e})),this}addVoiceUrl(e){return this.messageChain.push(new l({url:e})),this}addVoicePath(e){return this.messageChain.push(new l({path:e})),this}addXml(e){return this.messageChain.push(new u({xml:e})),this}addJson(e){return this.messageChain.push(new p({json:e})),this}addApp(e){return this.messageChain.push(new f({content:e})),this}getMessageChain(){return this.messageChain}}}},8522:(e,r,t)=>{const s=t(8090),o=t(6068),n=t(2861);class a{constructor(){this.middleware=[],this.catcher=void 0}autoReLogin({password:e}){return this.middleware.push((async(r,t)=>{try{await r.bot.sendCommand({command:["/login",r.qq,e]}),await r.bot.open(),await t()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}autoReconnection(){return this.middleware.push((async(e,r)=>{try{await e.bot.open(),await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}messageProcessor(e){return this.middleware.push((async(r,t)=>{try{const s={};e.forEach((e=>{s[e]=r.messageChain.filter((r=>r.type==e))})),r.classified=s,await t()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}textProcessor(){return this.middleware.push((async(e,r)=>{try{e.text=e.messageChain.filter((e=>"Plain"==e.type)).map((e=>e.text)).join(""),await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}messageIdProcessor(){return this.middleware.push((async(e,r)=>{try{e.messageId=Array.isArray(e.messageChain)?e.messageChain[0]?.id:void 0,await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}groupFilter(e,r=!0){const t=new Set(e);return this.middleware.push((async(e,s)=>{try{if(!e?.sender?.group?.id)throw new Error("Middleware.groupFilter 消息格式出错");if(t.has(e.sender.group.id))return r&&s();!r&&await s()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}friendFilter(e,r=!0){const t=new Set(e);return this.middleware.push((async(e,s)=>{try{if(!e?.sender?.id)throw new Error("Middleware.friendFilter 消息格式出错");if(t.has(e.sender.id))return r&&await s();!r&&await s()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}groupMemberFilter(e,r=!0){for(const r in e)e[r]=new Set(e[r]);return this.middleware.push((async(t,s)=>{try{if(!t?.sender?.id)throw new Error("Middleware.friendFilter 消息格式出错");if(!t.sender.group)return;if(t.sender.group.id in e&&e[t.sender.group.id].has(t.sender.id))return r&&await s();!r&&await s()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}memberLock({autoUnlock:e=!1}={}){const r={};return this.middleware.push((async(t,s)=>{try{if(!t.sender?.group?.id)throw new Error("Middleware.memberLock 消息格式出错");if(r[t.sender?.group?.id]instanceof Set||(r[t.sender?.group?.id]=new Set),r[t.sender?.group?.id].has(t.sender?.id))return;{r[t.sender?.group?.id].add(t.sender?.id);let o=!0;const n=()=>{r[t.sender?.group?.id].delete(t.sender?.id),o=!1};t.unlock=n,await s(),e&&o&&n()}}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}friendLock({autoUnlock:e=!1}={}){const r=new Set;return this.middleware.push((async(t,s)=>{try{if(!t.sender?.id)throw new Error("Middleware.memberLock 消息格式出错");if(r.has(t.sender?.id))return;{r.add(t.sender?.id);let o=!0;const n=()=>{r.delete(t.sender?.id),o=!1};t.unlock=n,await s(),e&&o&&n()}}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}atFilter(e,r=!0){const t=new Set(e);return this.middleware.push((async(e,s)=>{try{if(!e?.messageChain)throw new Error("Middleware.atFilter 消息格式出错");for(const o of e.messageChain)if("At"==o?.type&&t.has(o?.target))return r&&await s();!r&&await s()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}friendRequestProcessor(){return this.middleware.push((async(e,r)=>{try{if("NewFriendRequestEvent"!=e.type)throw new Error("Middleware.NewFriendRequestEvent 消息格式出错");const t=e.bot.getBaseUrl(),o=e.bot.getSessionKey(),{eventId:n,fromId:a,groupId:i}=e;e.agree=async e=>{await s({baseUrl:t,sessionKey:o,eventId:n,fromId:a,groupId:i,message:e,operate:0})},e.refuse=async e=>{await s({baseUrl:t,sessionKey:o,eventId:n,fromId:a,groupId:i,message:e,operate:1})},e.refuseAndAddBlacklist=async e=>{await s({baseUrl:t,sessionKey:o,eventId:n,fromId:a,groupId:i,message:e,operate:2})},await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}memberJoinRequestProcessor(){return this.middleware.push((async(e,r)=>{try{if("MemberJoinRequestEvent"!=e.type)throw new Error("Middleware.memberJoinRequestProcessor 消息格式出错");const t=e.bot.getBaseUrl(),s=e.bot.getSessionKey(),{eventId:n,fromId:a,groupId:i}=e;e.agree=async e=>{await o({baseUrl:t,sessionKey:s,eventId:n,fromId:a,groupId:i,message:e,operate:0})},e.refuse=async e=>{await o({baseUrl:t,sessionKey:s,eventId:n,fromId:a,groupId:i,message:e,operate:1})},e.ignore=async e=>{await o({baseUrl:t,sessionKey:s,eventId:n,fromId:a,groupId:i,message:e,operate:2})},e.refuseAndAddBlacklist=async e=>{await o({baseUrl:t,sessionKey:s,eventId:n,fromId:a,groupId:i,message:e,operate:3})},e.ignoreAndAddBlacklist=async e=>{await o({baseUrl:t,sessionKey:s,eventId:n,fromId:a,groupId:i,message:e,operate:4})},await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}invitedJoinGroupRequestProcessor(){return this.middleware.push((async(e,r)=>{try{if("BotInvitedJoinGroupRequestEvent"!=e.type)throw new Error("Middleware.invitedJoinGroupRequestProcessor 消息格式出错");const t=e.bot.getBaseUrl(),s=e.bot.getSessionKey(),{eventId:o,fromId:a,groupId:i}=e;e.agree=async e=>{await n({baseUrl:t,sessionKey:s,eventId:o,fromId:a,groupId:i,message:e,operate:0})},e.refuse=async e=>{await n({baseUrl:t,sessionKey:s,eventId:o,fromId:a,groupId:i,message:e,operate:1})},await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}syncWrapper(){return this.middleware.push((async(e,r)=>{try{if("GroupMessage"!=e.type&&"FriendMessage"!=e.type)throw new Error("Middleware.syncWrapper 消息格式出错");const t=async r=>{if(null==(r=r??e?.sender?.id))throw new Error("Middleware.syncWrapper 消息格式出错");do{var{messageChain:t,id:s}=await(e.bot?.waiter?.wait(e.type,(({messageChain:e,sender:{id:r}})=>({messageChain:e,id:r}))))??{}}while(r!=s);return t},s=async r=>{if(null==(r=r??e?.sender?.id))throw new Error("Middleware.syncWrapper 消息格式出错");do{var{text:t,id:s}=await(e.bot?.waiter?.wait(e.type,(new a).textProcessor().done((({text:e,sender:{id:r}})=>({text:e,id:r})))))??{}}while(r!=s);return t},o=async(e,r)=>{if(null==(e=e??t?.sender?.id))throw new Error("Middleware.syncWrapper 消息格式出错");do{var t=await(t.bot?.waiter?.wait(t.type,(new a).textProcessor().done((e=>e))))}while(e!=t?.sender?.id);return await r(t)};e.waitFor={groupMember:e=>({messageChain:()=>t(e),text:()=>s(e),custom:r=>o(e,r)}),friend:e=>({messageChain:()=>t(e),text:()=>s(e),custom:r=>o(e,r)}),messageChain:()=>t(e.sender.id),text:()=>s(e.sender.id),custom:r=>o(e.sender.id,r)},await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}use(e){return this.middleware.push((async(r,t)=>{try{await e(r,t)}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}catch(e){return this.catcher=e,this}done(e){return r=>new Promise((t=>{this.middleware.reduceRight(((e,t)=>async()=>await t(r,e)),(async()=>{let s=e instanceof Function?await e(r):void 0;t(s)}))()}))}}e.exports={Middleware:a}},5862:e=>{e.exports={Waiter:class{constructor(e){this.bot=e}async wait(e,r){return new Promise((t=>{this.bot.one(e,(async e=>t(await r(e))),!0)}))}}}},7015:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,fid:s})=>{try{const i=new a("/anno/delete",e).toString(),h=await n.post(i,{sessionKey:r,id:t,fid:s});try{var{data:{msg:c,code:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in o)throw new Error(c);return{message:c,code:d}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},9964:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,offset:s,size:c=10})=>{try{const i=new a("/anno/list",e).toString(),h=await n.get(i,{params:{sessionKey:r,id:t,offset:s,size:c}});try{var{data:{msg:d,code:l,data:u}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(d);return u}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},1367:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,content:s,pinned:c})=>{try{const i=new a("/anno/publish",e).toString(),h=await n.post(i,{sessionKey:r,target:t,content:s,pinned:c});try{var{data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(d);return{message:d,code:l}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},2942:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,verifyKey:r})=>{try{const i=new a("/verify",e).toString(),h=await n.post(i,{verifyKey:r});try{var{data:{msg:t,code:s,session:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in o)throw new Error(t);return c}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},2005:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,path:s,group:c})=>{try{const i=new a("/file/delete",e).toString(),h=await n.post(i,{sessionKey:r,id:t,path:s,target:c,group:c});try{var{data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(d);return{message:d,code:l}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8646:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,path:s,group:c,withDownloadInfo:d})=>{try{const i=new a("/file/info",e).toString(),h=await n.get(i,{params:{sessionKey:r,id:t,path:s,target:c,group:c,withDownloadInfo:d}});try{var{data:{msg:l,code:u,data:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in o)throw new Error(l);return p}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},7698:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,path:s,group:c,withDownloadInfo:d,offset:l,size:u})=>{try{const i=new a("/file/list",e).toString(),h=await n.get(i,{params:{sessionKey:r,id:t,path:s,target:c,group:c,withDownloadInfo:d,offset:l,size:u}});try{var{data:{msg:p,code:f,data:m}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(f in o)throw new Error(p);return m}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},2339:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,rename:s,path:c,group:d,withDownloadInfo:l})=>{try{const i=new a("/file/mkdir",e).toString(),h=await n.post(i,{sessionKey:r,id:t,rename:s,path:c,group:d,withDownloadInfo:l});try{var{data:{msg:u,code:p,data:f}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(p in o)throw new Error(u);return f}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},9029:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,path:s,group:c,moveTo:d,moveToPath:l})=>{try{const i=new a("/file/move",e).toString(),h=await n.post(i,{sessionKey:r,id:t,path:s,target:c,group:c,moveTo:d,moveToPath:l});try{var{data:{msg:u,code:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(p in o)throw new Error(u);return{message:u,code:p}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6674:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,path:s,group:c,renameTo:d})=>{try{const i=new a("/file/rename",e).toString(),h=await n.post(i,{sessionKey:r,id:t,path:s,target:c,group:c,renameTo:d});try{var{data:{msg:l,code:u}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in o)throw new Error(l);return{message:l,code:u}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6677:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`,d=t(6230);e.exports=async({baseUrl:e,sessionKey:r,type:t,target:s,path:c,file:l})=>{try{const i=new a("/file/upload",e).toString(),h=new d;h.append("sessionKey",r),h.append("type",t),h.append("target",s),h.append("path",c),h.append("file",l,{filename:"payload"});const m=await n.post(i,h,{headers:h.getHeaders()});try{var{data:{msg:u,code:p,id:f}}=m}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(p in o)throw new Error(u);return f}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},1968:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r})=>{try{const i=new a("/friendList",e).toString(),h=await n.get(i,{params:{sessionKey:r}});try{var{data:{msg:t,code:s,data:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in o)throw new Error(t);return c}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3231:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/groupConfig",e).toString(),h=await n.get(i,{params:{sessionKey:r,target:t}});try{var{data:s,data:{msg:c,code:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in o)throw new Error(c);return s}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6732:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r})=>{try{const i=new a("/groupList",e).toString(),h=await n.get(i,{params:{sessionKey:r}});try{var{data:t,data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in o)throw new Error(s);return t}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},9113:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s})=>{try{const i=new a("/memberInfo",e).toString(),h=await n.get(i,{params:{sessionKey:r,target:t,memberId:s}});try{var{data:c,data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(d);return c}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},4316:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/memberList",e).toString(),h=await n.get(i,{params:{sessionKey:r,target:t}});try{var{data:s,data:{msg:c,code:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in o)throw new Error(c);return s}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},4684:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r})=>{try{const i=new a("/config",e).toString(),h=await n.get(i,{params:{sessionKey:r}});try{var{data:{data:{msg:t,code:s,cacheSize:c,enableWebsocket:d}}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in o)throw new Error(t);return{cacheSize:c,enableWebsocket:d}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3178:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s})=>{try{const i=new a("/userProfile",e).toString(),h=await n.get(i,{params:{sessionKey:r,target:t,memberId:s}});try{var{data:{msg:c,code:d,nickname:l,email:u,age:p,level:f,sign:m,sex:g}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in o)throw new Error(c);return{nickname:l,email:u,age:p,level:f,sign:m,sex:g}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},5997:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s,time:c})=>{try{const i=new a("/mute",e).toString(),h=await n.post(i,{sessionKey:r,target:t,memberId:s,time:c});try{var{data:{code:d,msg:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in o)throw new Error(l);return{message:l,code:d}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},4801:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/muteAll",e).toString(),h=await n.post(i,{sessionKey:r,target:t});try{var{data:{code:s,msg:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in o)throw new Error(c);return{message:c,code:s}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},7321:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/quit",e).toString(),h=await n.post(i,{sessionKey:r,target:t});try{var{data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in o)throw new Error(s);return{message:s,code:c}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6818:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/recall",e).toString(),h=await n.post(i,{sessionKey:r,target:t});try{var{data:{code:s,msg:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in o)throw new Error(c);return{message:c,code:s}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},1623:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,qq:t})=>{try{const i=new a("/release",e).toString(),h=await n.post(i,{sessionKey:r,qq:t});try{var{data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in o)throw new Error(s);return{message:s,code:c}}catch(e){console.error(`mirai-js: error ${h}`),console.error(`mirai-js: error ${h}`),i(e)}}},719:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/deleteFriend",e).toString(),h=await n.post(i,{sessionKey:r,target:t});try{var{data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in o)throw new Error(s);return{message:s,code:c}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},5320:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s,msg:c})=>{try{const i=new a("/kick",e).toString(),h=await n.post(i,{sessionKey:r,target:t,memberId:s,msg:c});try{var{data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(d);return{message:d,code:l}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},2861:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l=""})=>{try{const i=new a("/resp/botInvitedJoinGroupRequestEvent",e).toString(),h=await n.post(i,{sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l});try{var{data:{code:u,msg:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in o)throw new Error(p)}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8090:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l=""})=>{try{const i=new a("/resp/newFriendRequestEvent",e).toString(),h=await n.post(i,{sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l});try{var{data:{code:u,msg:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in o)throw new Error(p)}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6068:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l=""})=>{try{const i=new a("/resp/memberJoinRequestEvent",e).toString(),h=await n.post(i,{sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l});try{var{data:{code:u,msg:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in o)throw new Error(p)}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},7701:(e,r,t)=>{var s="/index.js";const o=t(9669).default,{errCodeMap:n}=t(7117),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,command:t})=>{try{const i=new a("/cmd/execute",e).toString(),h=await o.post(i,{sessionKey:r,command:t});try{var{data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in n)throw new Error(s);return{message:s,code:c}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},2841:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,quote:s,messageChain:c})=>{try{const i=new a("/sendFriendMessage",e).toString(),h=await n.post(i,{sessionKey:r,target:t,quote:s,messageChain:c});try{var{data:{msg:d,code:l,messageId:u}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(d);return u}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8731:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,quote:s,messageChain:c})=>{try{const i=new a("/sendGroupMessage",e).toString(),h=await n.post(i,{sessionKey:r,target:t,quote:s,messageChain:c});try{var{data:{msg:d,code:l,messageId:u}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(d);return u}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},1402:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,subject:s,kind:c})=>{try{const i=new a("/sendNudge",e).toString(),h=await n.post(i,{sessionKey:r,target:t,subject:s,kind:c});try{var{data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(d);return{message:d,code:l}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6993:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,qq:t,group:s,quote:c,messageChain:d})=>{try{const i=new a("/sendTempMessage",e).toString();if(!t||!s)throw new Error("sendTempMessage 缺少必要的 qq 和 group 参数");const h=await n.post(i,{sessionKey:r,qq:t,group:s,quote:c,messageChain:d});try{var{data:{msg:l,code:u,messageId:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in o)throw new Error(l);return p}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},5858:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/setEssence",e).toString(),h=await n.post(i,{sessionKey:r,target:t});try{var{data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in o)throw new Error(s);return{message:s,code:c}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},984:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,name:s,announcement:c,confessTalk:d,allowMemberInvite:l,autoApprove:u,anonymousChat:p})=>{try{const i=new a("/groupConfig",e).toString(),h=await n.post(i,{sessionKey:r,target:t,config:{name:s,announcement:c,confessTalk:d,allowMemberInvite:l,autoApprove:u,anonymousChat:p}});try{var{data:{msg:f,code:m}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(m in o)throw new Error(f);return{message:f,code:m}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},7906:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s,assign:c})=>{try{const i=new a("/memberAdmin",e).toString(),h=await n.post(i,{sessionKey:r,target:t,memberId:s,assign:c});try{var{data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(d);return{message:d,code:l}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3849:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s,name:c,specialTitle:d})=>{try{const i=new a("/memberInfo",e).toString(),h=await n.post(i,{sessionKey:r,target:t,memberId:s,info:{name:c,specialTitle:d}});try{var{data:{msg:l,code:u}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in o)throw new Error(l);return{message:l,code:u}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3400:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,cacheSize:t,enableWebsocket:s})=>{try{const i=new a("/config",e).toString(),h=await n.post(i,{sessionKey:r,cacheSize:t,enableWebsocket:s});try{var{data:{msg:c,code:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in o)throw new Error(c);return{message:c,code:d}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8200:(e,r,t)=>{var s="/index.js";const o=window.WebSocket,{URL:n}=t(3489),a=t(1714),i=t(6470),c=`core.${i.basename(s,i.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,verifyKey:t,message:s,error:i,close:h})=>{try{let a=new n(`/all?sessionKey=${r}&verifyKey=${t}`,e);a.protocol="ws",a=a.toString();const c=new o(a);return c.onopen=()=>{const e=setInterval((()=>{c.send(1)}),1e4);c.onmessage=({data:e})=>{try{s(JSON.parse(e)?.data)}catch(e){}},c.onerror=e=>{i(e)},c.onclose=({code:r,reason:t})=>{clearInterval(e),h({code:r,reason:t})}},c}catch(i){console.error(`mirai-js: error ${c}`),a(i)}}},4696:(e,r,t)=>{var s="/index.js";const o=t(8083),{URL:n}=t(3489),a=t(1714),i=t(6470),c=`core.${i.basename(s,i.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,verifyKey:t,message:s,error:i,close:h,unexpectedResponse:d})=>{try{let a=new n(`/all?sessionKey=${r}&verifyKey=${t}`,e);a.protocol="ws",a=a.toString();const c=new o(a);return c.on("open",(()=>{const e=setInterval((()=>{c.ping((e=>{if(e)try{console.log(`ws ping error\n${JSON.stringify(e)}`)}catch(e){}}))}),6e4);c.on("message",(e=>{try{s(JSON.parse(e)?.data)}catch(e){}})),c.on("error",(e=>{i(e)})),c.on("close",((r,t)=>{clearInterval(e),h({code:r,reason:t})})),c.on("unexpectedResponse",(({req:e,res:r})=>{d({req:e,res:r})}))})),c}catch(i){console.error(`mirai-js: error ${c}`),a(i)}}},475:(e,r,t)=>{var s="/index.js";const o=t(1714),n=t(6470),a=`core.${n.basename(s,n.extname(s))}`;e.exports=async e=>{try{e.readyState==e.CONNECTING?await new Promise((r=>{e.onopen=()=>{e.close(1e3),r(void 0)}})):e.readyState==e.OPEN&&e.close(1e3)}catch(e){console.error(`mirai-js: error ${a}`),o(e)}}},1031:(e,r,t)=>{var s="/index.js";const o=t(1714),n=t(6470),a=`core.${n.basename(s,n.extname(s))}`;e.exports=async e=>{try{e.readyState==e.CONNECTING?await new Promise((r=>{e.on("open",(()=>{e.close(1e3),r(void 0)}))})):e.readyState==e.OPEN&&e.close(1e3)}catch(e){console.error(`mirai-js: error ${a}`),o(e)}}},447:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s})=>{try{const i=new a("/unmute",e).toString(),h=await n.post(i,{sessionKey:r,target:t,memberId:s});try{var{data:{code:c,msg:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in o)throw new Error(d);return{message:d,code:c}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},9095:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/unmuteAll",e).toString(),h=await n.post(i,{sessionKey:r,target:t});try{var{data:{code:s,msg:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in o)throw new Error(c);return{message:c,code:s}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8535:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`,d=t(6230);e.exports=async({baseUrl:e,sessionKey:r,type:t,img:s})=>{try{const i=new a("/uploadImage",e).toString(),h=new d;h.append("sessionKey",r),h.append("type",t),h.append("img",s,{filename:"img.jpg"});const m=await n.post(i,h,{headers:h.getHeaders()});try{var{data:{msg:c,code:l,imageId:u,url:p,path:f}}=m}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(c);return{imageId:u,url:p,path:f}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3911:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`,d=t(6230);e.exports=async({baseUrl:e,sessionKey:r,type:t,voice:s})=>{try{const i=new a("/uploadVoice",e).toString(),h=new d;h.append("sessionKey",r),h.append("type",t),h.append("voice",s,{filename:"voice.mp3"});const m=await n.post(i,h,{headers:h.getHeaders()});try{var{data:{msg:c,code:l,voiceId:u,url:p,path:f}}=m}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in o)throw new Error(c);return{voiceId:u,url:p,path:f}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3305:(e,r,t)=>{var s="/index.js";const{errCodeMap:o}=t(7117),n=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,qq:t,throwable:s=!0})=>{try{const i=new a("/bind",e).toString(),h=await n.post(i,{sessionKey:r,qq:t});try{var{data:{msg:c,code:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in o&&s)throw new Error(c);return{message:c,code:d}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8138:(e,r,t)=>{var s=t(4155);const{Bot:o}=t(9900),{Message:n}=t(4122),{Middleware:a}=t(8522);s.browser?window.miraiJs={Bot:o,Message:n,Middleware:a}:e.exports={Bot:o,Message:n,Middleware:a}},8024:e=>{e.exports={MessageChainGetable:class{getMessageChain(){}},BotConfigGetable:class{getBaseUrl(){}getQQ(){}getVerifyKey(){}getSessionKey(){}}}},3489:(e,r,t)=>{var s=t(4155);e.exports={URL:s.browser?window.URL:t(4968).URL}},9864:(e,r,t)=>{var s=t(4155);e.exports={wsStartListening:s.browser?t(8200):t(4696),wsStopListening:s.browser?t(475):t(1031)}},7117:e=>{let r={get BOT_NOT_FOUND(){return 2}};e.exports={errCodeMap:{1:"错误的 auth key",2:"指定的 Bot 不存在",3:"Session 失效或不存在",4:"Session未认证(未激活)",5:"发送消息目标不存在(指定对象不存在)",6:"指定文件不存在,出现于发送本地图片",10:"无操作权限,指 Bot 没有对应操作的限权",20:"Bot 被禁言,指 Bot 当前无法向指定群发送消息",30:"消息过长",400:"错误的访问,可能是参数错误"},errCodeEnum:r}},1714:e=>{e.exports=e=>{let r,t,s;({message:r}=e);const{response:o}=e;throw o?.data&&({msg:t,resMessage:s}=o.data),r??t??s??o?.data?new Error([r,t,s,o?.data].filter((e=>"string"==typeof e)).join("\n")):e}},4482:e=>{e.exports=e=>Object.keys(e).filter((r=>void 0===e[r])).join(" ")},1743:e=>{e.exports=(e,r)=>()=>Math.floor(Math.random()*(r-e+1)+e)},8083:e=>{"use strict";e.exports=ws},4968:()=>{},7351:()=>{},7790:()=>{}},r={};!function t(s){var o=r[s];if(void 0!==o)return o.exports;var n=r[s]={exports:{}};return e[s](n,n.exports,t),n.exports}(8138)})();
|
1
|
+
(()=>{var e={9669:(e,r,t)=>{e.exports=t(1609)},5448:(e,r,t)=>{"use strict";var s=t(4867),n=t(6026),o=t(4372),a=t(5327),i=t(4097),c=t(4109),h=t(7985),d=t(5061),l=t(5655),u=t(5263);e.exports=function(e){return new Promise((function(r,t){var p,f=e.data,m=e.headers,g=e.responseType;function w(){e.cancelToken&&e.cancelToken.unsubscribe(p),e.signal&&e.signal.removeEventListener("abort",p)}s.isFormData(f)&&delete m["Content-Type"];var y=new XMLHttpRequest;if(e.auth){var b=e.auth.username||"",v=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";m.Authorization="Basic "+btoa(b+":"+v)}var x=i(e.baseURL,e.url);function E(){if(y){var s="getAllResponseHeaders"in y?c(y.getAllResponseHeaders()):null,o={data:g&&"text"!==g&&"json"!==g?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:s,config:e,request:y};n((function(e){r(e),w()}),(function(e){t(e),w()}),o),y=null}}if(y.open(e.method.toUpperCase(),a(x,e.params,e.paramsSerializer),!0),y.timeout=e.timeout,"onloadend"in y?y.onloadend=E:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(E)},y.onabort=function(){y&&(t(d("Request aborted",e,"ECONNABORTED",y)),y=null)},y.onerror=function(){t(d("Network Error",e,null,y)),y=null},y.ontimeout=function(){var r=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",s=e.transitional||l.transitional;e.timeoutErrorMessage&&(r=e.timeoutErrorMessage),t(d(r,e,s.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},s.isStandardBrowserEnv()){var U=(e.withCredentials||h(x))&&e.xsrfCookieName?o.read(e.xsrfCookieName):void 0;U&&(m[e.xsrfHeaderName]=U)}"setRequestHeader"in y&&s.forEach(m,(function(e,r){void 0===f&&"content-type"===r.toLowerCase()?delete m[r]:y.setRequestHeader(r,e)})),s.isUndefined(e.withCredentials)||(y.withCredentials=!!e.withCredentials),g&&"json"!==g&&(y.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&y.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(p=function(e){y&&(t(!e||e&&e.type?new u("canceled"):e),y.abort(),y=null)},e.cancelToken&&e.cancelToken.subscribe(p),e.signal&&(e.signal.aborted?p():e.signal.addEventListener("abort",p))),f||(f=null),y.send(f)}))}},1609:(e,r,t)=>{"use strict";var s=t(4867),n=t(1849),o=t(321),a=t(7185),i=function e(r){var t=new o(r),i=n(o.prototype.request,t);return s.extend(i,o.prototype,t),s.extend(i,t),i.create=function(t){return e(a(r,t))},i}(t(5655));i.Axios=o,i.Cancel=t(5263),i.CancelToken=t(4972),i.isCancel=t(6502),i.VERSION=t(7288).version,i.all=function(e){return Promise.all(e)},i.spread=t(8713),i.isAxiosError=t(6268),e.exports=i,e.exports.default=i},5263:e=>{"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},4972:(e,r,t)=>{"use strict";var s=t(5263);function n(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var r;this.promise=new Promise((function(e){r=e}));var t=this;this.promise.then((function(e){if(t._listeners){var r,s=t._listeners.length;for(r=0;r<s;r++)t._listeners[r](e);t._listeners=null}})),this.promise.then=function(e){var r,s=new Promise((function(e){t.subscribe(e),r=e})).then(e);return s.cancel=function(){t.unsubscribe(r)},s},e((function(e){t.reason||(t.reason=new s(e),r(t.reason))}))}n.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},n.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},n.prototype.unsubscribe=function(e){if(this._listeners){var r=this._listeners.indexOf(e);-1!==r&&this._listeners.splice(r,1)}},n.source=function(){var e;return{token:new n((function(r){e=r})),cancel:e}},e.exports=n},6502:e=>{"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},321:(e,r,t)=>{"use strict";var s=t(4867),n=t(5327),o=t(782),a=t(3572),i=t(7185),c=t(4875),h=c.validators;function d(e){this.defaults=e,this.interceptors={request:new o,response:new o}}d.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=i(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;void 0!==r&&c.assertOptions(r,{silentJSONParsing:h.transitional(h.boolean),forcedJSONParsing:h.transitional(h.boolean),clarifyTimeoutError:h.transitional(h.boolean)},!1);var t=[],s=!0;this.interceptors.request.forEach((function(r){"function"==typeof r.runWhen&&!1===r.runWhen(e)||(s=s&&r.synchronous,t.unshift(r.fulfilled,r.rejected))}));var n,o=[];if(this.interceptors.response.forEach((function(e){o.push(e.fulfilled,e.rejected)})),!s){var d=[a,void 0];for(Array.prototype.unshift.apply(d,t),d=d.concat(o),n=Promise.resolve(e);d.length;)n=n.then(d.shift(),d.shift());return n}for(var l=e;t.length;){var u=t.shift(),p=t.shift();try{l=u(l)}catch(e){p(e);break}}try{n=a(l)}catch(e){return Promise.reject(e)}for(;o.length;)n=n.then(o.shift(),o.shift());return n},d.prototype.getUri=function(e){return e=i(this.defaults,e),n(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},s.forEach(["delete","get","head","options"],(function(e){d.prototype[e]=function(r,t){return this.request(i(t||{},{method:e,url:r,data:(t||{}).data}))}})),s.forEach(["post","put","patch"],(function(e){d.prototype[e]=function(r,t,s){return this.request(i(s||{},{method:e,url:r,data:t}))}})),e.exports=d},782:(e,r,t)=>{"use strict";var s=t(4867);function n(){this.handlers=[]}n.prototype.use=function(e,r,t){return this.handlers.push({fulfilled:e,rejected:r,synchronous:!!t&&t.synchronous,runWhen:t?t.runWhen:null}),this.handlers.length-1},n.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},n.prototype.forEach=function(e){s.forEach(this.handlers,(function(r){null!==r&&e(r)}))},e.exports=n},4097:(e,r,t)=>{"use strict";var s=t(1793),n=t(7303);e.exports=function(e,r){return e&&!s(r)?n(e,r):r}},5061:(e,r,t)=>{"use strict";var s=t(481);e.exports=function(e,r,t,n,o){var a=new Error(e);return s(a,r,t,n,o)}},3572:(e,r,t)=>{"use strict";var s=t(4867),n=t(8527),o=t(6502),a=t(5655),i=t(5263);function c(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new i("canceled")}e.exports=function(e){return c(e),e.headers=e.headers||{},e.data=n.call(e,e.data,e.headers,e.transformRequest),e.headers=s.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),s.forEach(["delete","get","head","post","put","patch","common"],(function(r){delete e.headers[r]})),(e.adapter||a.adapter)(e).then((function(r){return c(e),r.data=n.call(e,r.data,r.headers,e.transformResponse),r}),(function(r){return o(r)||(c(e),r&&r.response&&(r.response.data=n.call(e,r.response.data,r.response.headers,e.transformResponse))),Promise.reject(r)}))}},481:e=>{"use strict";e.exports=function(e,r,t,s,n){return e.config=r,t&&(e.code=t),e.request=s,e.response=n,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e}},7185:(e,r,t)=>{"use strict";var s=t(4867);e.exports=function(e,r){r=r||{};var t={};function n(e,r){return s.isPlainObject(e)&&s.isPlainObject(r)?s.merge(e,r):s.isPlainObject(r)?s.merge({},r):s.isArray(r)?r.slice():r}function o(t){return s.isUndefined(r[t])?s.isUndefined(e[t])?void 0:n(void 0,e[t]):n(e[t],r[t])}function a(e){if(!s.isUndefined(r[e]))return n(void 0,r[e])}function i(t){return s.isUndefined(r[t])?s.isUndefined(e[t])?void 0:n(void 0,e[t]):n(void 0,r[t])}function c(t){return t in r?n(e[t],r[t]):t in e?n(void 0,e[t]):void 0}var h={url:a,method:a,data:a,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c};return s.forEach(Object.keys(e).concat(Object.keys(r)),(function(e){var r=h[e]||o,n=r(e);s.isUndefined(n)&&r!==c||(t[e]=n)})),t}},6026:(e,r,t)=>{"use strict";var s=t(5061);e.exports=function(e,r,t){var n=t.config.validateStatus;t.status&&n&&!n(t.status)?r(s("Request failed with status code "+t.status,t.config,null,t.request,t)):e(t)}},8527:(e,r,t)=>{"use strict";var s=t(4867),n=t(5655);e.exports=function(e,r,t){var o=this||n;return s.forEach(t,(function(t){e=t.call(o,e,r)})),e}},5655:(e,r,t)=>{"use strict";var s=t(4155),n=t(4867),o=t(6016),a=t(481),i={"Content-Type":"application/x-www-form-urlencoded"};function c(e,r){!n.isUndefined(e)&&n.isUndefined(e["Content-Type"])&&(e["Content-Type"]=r)}var h,d={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==s&&"[object process]"===Object.prototype.toString.call(s))&&(h=t(5448)),h),transformRequest:[function(e,r){return o(r,"Accept"),o(r,"Content-Type"),n.isFormData(e)||n.isArrayBuffer(e)||n.isBuffer(e)||n.isStream(e)||n.isFile(e)||n.isBlob(e)?e:n.isArrayBufferView(e)?e.buffer:n.isURLSearchParams(e)?(c(r,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):n.isObject(e)||r&&"application/json"===r["Content-Type"]?(c(r,"application/json"),function(e,r,t){if(n.isString(e))try{return(0,JSON.parse)(e),n.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var r=this.transitional||d.transitional,t=r&&r.silentJSONParsing,s=r&&r.forcedJSONParsing,o=!t&&"json"===this.responseType;if(o||s&&n.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(o){if("SyntaxError"===e.name)throw a(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};n.forEach(["delete","get","head"],(function(e){d.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){d.headers[e]=n.merge(i)})),e.exports=d},7288:e=>{e.exports={version:"0.24.0"}},1849:e=>{"use strict";e.exports=function(e,r){return function(){for(var t=new Array(arguments.length),s=0;s<t.length;s++)t[s]=arguments[s];return e.apply(r,t)}}},5327:(e,r,t)=>{"use strict";var s=t(4867);function n(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,r,t){if(!r)return e;var o;if(t)o=t(r);else if(s.isURLSearchParams(r))o=r.toString();else{var a=[];s.forEach(r,(function(e,r){null!=e&&(s.isArray(e)?r+="[]":e=[e],s.forEach(e,(function(e){s.isDate(e)?e=e.toISOString():s.isObject(e)&&(e=JSON.stringify(e)),a.push(n(r)+"="+n(e))})))})),o=a.join("&")}if(o){var i=e.indexOf("#");-1!==i&&(e=e.slice(0,i)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}},7303:e=>{"use strict";e.exports=function(e,r){return r?e.replace(/\/+$/,"")+"/"+r.replace(/^\/+/,""):e}},4372:(e,r,t)=>{"use strict";var s=t(4867);e.exports=s.isStandardBrowserEnv()?{write:function(e,r,t,n,o,a){var i=[];i.push(e+"="+encodeURIComponent(r)),s.isNumber(t)&&i.push("expires="+new Date(t).toGMTString()),s.isString(n)&&i.push("path="+n),s.isString(o)&&i.push("domain="+o),!0===a&&i.push("secure"),document.cookie=i.join("; ")},read:function(e){var r=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return r?decodeURIComponent(r[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:e=>{"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},6268:e=>{"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},7985:(e,r,t)=>{"use strict";var s=t(4867);e.exports=s.isStandardBrowserEnv()?function(){var e,r=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");function n(e){var s=e;return r&&(t.setAttribute("href",s),s=t.href),t.setAttribute("href",s),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return e=n(window.location.href),function(r){var t=s.isString(r)?n(r):r;return t.protocol===e.protocol&&t.host===e.host}}():function(){return!0}},6016:(e,r,t)=>{"use strict";var s=t(4867);e.exports=function(e,r){s.forEach(e,(function(t,s){s!==r&&s.toUpperCase()===r.toUpperCase()&&(e[r]=t,delete e[s])}))}},4109:(e,r,t)=>{"use strict";var s=t(4867),n=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var r,t,o,a={};return e?(s.forEach(e.split("\n"),(function(e){if(o=e.indexOf(":"),r=s.trim(e.substr(0,o)).toLowerCase(),t=s.trim(e.substr(o+1)),r){if(a[r]&&n.indexOf(r)>=0)return;a[r]="set-cookie"===r?(a[r]?a[r]:[]).concat([t]):a[r]?a[r]+", "+t:t}})),a):a}},8713:e=>{"use strict";e.exports=function(e){return function(r){return e.apply(null,r)}}},4875:(e,r,t)=>{"use strict";var s=t(7288).version,n={};["object","boolean","number","function","string","symbol"].forEach((function(e,r){n[e]=function(t){return typeof t===e||"a"+(r<1?"n ":" ")+e}}));var o={};n.transitional=function(e,r,t){function n(e,r){return"[Axios v"+s+"] Transitional option '"+e+"'"+r+(t?". "+t:"")}return function(t,s,a){if(!1===e)throw new Error(n(s," has been removed"+(r?" in "+r:"")));return r&&!o[s]&&(o[s]=!0,console.warn(n(s," has been deprecated since v"+r+" and will be removed in the near future"))),!e||e(t,s,a)}},e.exports={assertOptions:function(e,r,t){if("object"!=typeof e)throw new TypeError("options must be an object");for(var s=Object.keys(e),n=s.length;n-- >0;){var o=s[n],a=r[o];if(a){var i=e[o],c=void 0===i||a(i,o,e);if(!0!==c)throw new TypeError("option "+o+" must be "+c)}else if(!0!==t)throw Error("Unknown option "+o)}},validators:n}},4867:(e,r,t)=>{"use strict";var s=t(1849),n=Object.prototype.toString;function o(e){return"[object Array]"===n.call(e)}function a(e){return void 0===e}function i(e){return null!==e&&"object"==typeof e}function c(e){if("[object Object]"!==n.call(e))return!1;var r=Object.getPrototypeOf(e);return null===r||r===Object.prototype}function h(e){return"[object Function]"===n.call(e)}function d(e,r){if(null!=e)if("object"!=typeof e&&(e=[e]),o(e))for(var t=0,s=e.length;t<s;t++)r.call(null,e[t],t,e);else for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.call(null,e[n],n,e)}e.exports={isArray:o,isArrayBuffer:function(e){return"[object ArrayBuffer]"===n.call(e)},isBuffer:function(e){return null!==e&&!a(e)&&null!==e.constructor&&!a(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:i,isPlainObject:c,isUndefined:a,isDate:function(e){return"[object Date]"===n.call(e)},isFile:function(e){return"[object File]"===n.call(e)},isBlob:function(e){return"[object Blob]"===n.call(e)},isFunction:h,isStream:function(e){return i(e)&&h(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:d,merge:function e(){var r={};function t(t,s){c(r[s])&&c(t)?r[s]=e(r[s],t):c(t)?r[s]=e({},t):o(t)?r[s]=t.slice():r[s]=t}for(var s=0,n=arguments.length;s<n;s++)d(arguments[s],t);return r},extend:function(e,r,t){return d(r,(function(r,n){e[n]=t&&"function"==typeof r?s(r,t):r})),e},trim:function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}}},6230:e=>{e.exports="object"==typeof self?self.FormData:window.FormData},6470:(e,r,t)=>{"use strict";var s=t(4155);function n(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function o(e,r){for(var t,s="",n=0,o=-1,a=0,i=0;i<=e.length;++i){if(i<e.length)t=e.charCodeAt(i);else{if(47===t)break;t=47}if(47===t){if(o===i-1||1===a);else if(o!==i-1&&2===a){if(s.length<2||2!==n||46!==s.charCodeAt(s.length-1)||46!==s.charCodeAt(s.length-2))if(s.length>2){var c=s.lastIndexOf("/");if(c!==s.length-1){-1===c?(s="",n=0):n=(s=s.slice(0,c)).length-1-s.lastIndexOf("/"),o=i,a=0;continue}}else if(2===s.length||1===s.length){s="",n=0,o=i,a=0;continue}r&&(s.length>0?s+="/..":s="..",n=2)}else s.length>0?s+="/"+e.slice(o+1,i):s=e.slice(o+1,i),n=i-o-1;o=i,a=0}else 46===t&&-1!==a?++a:a=-1}return s}var a={resolve:function(){for(var e,r="",t=!1,a=arguments.length-1;a>=-1&&!t;a--){var i;a>=0?i=arguments[a]:(void 0===e&&(e=s.cwd()),i=e),n(i),0!==i.length&&(r=i+"/"+r,t=47===i.charCodeAt(0))}return r=o(r,!t),t?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(n(e),0===e.length)return".";var r=47===e.charCodeAt(0),t=47===e.charCodeAt(e.length-1);return 0!==(e=o(e,!r)).length||r||(e="."),e.length>0&&t&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return n(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var t=arguments[r];n(t),t.length>0&&(void 0===e?e=t:e+="/"+t)}return void 0===e?".":a.normalize(e)},relative:function(e,r){if(n(e),n(r),e===r)return"";if((e=a.resolve(e))===(r=a.resolve(r)))return"";for(var t=1;t<e.length&&47===e.charCodeAt(t);++t);for(var s=e.length,o=s-t,i=1;i<r.length&&47===r.charCodeAt(i);++i);for(var c=r.length-i,h=o<c?o:c,d=-1,l=0;l<=h;++l){if(l===h){if(c>h){if(47===r.charCodeAt(i+l))return r.slice(i+l+1);if(0===l)return r.slice(i+l)}else o>h&&(47===e.charCodeAt(t+l)?d=l:0===l&&(d=0));break}var u=e.charCodeAt(t+l);if(u!==r.charCodeAt(i+l))break;47===u&&(d=l)}var p="";for(l=t+d+1;l<=s;++l)l!==s&&47!==e.charCodeAt(l)||(0===p.length?p+="..":p+="/..");return p.length>0?p+r.slice(i+d):(i+=d,47===r.charCodeAt(i)&&++i,r.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(n(e),0===e.length)return".";for(var r=e.charCodeAt(0),t=47===r,s=-1,o=!0,a=e.length-1;a>=1;--a)if(47===(r=e.charCodeAt(a))){if(!o){s=a;break}}else o=!1;return-1===s?t?"/":".":t&&1===s?"//":e.slice(0,s)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');n(e);var t,s=0,o=-1,a=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var i=r.length-1,c=-1;for(t=e.length-1;t>=0;--t){var h=e.charCodeAt(t);if(47===h){if(!a){s=t+1;break}}else-1===c&&(a=!1,c=t+1),i>=0&&(h===r.charCodeAt(i)?-1==--i&&(o=t):(i=-1,o=c))}return s===o?o=c:-1===o&&(o=e.length),e.slice(s,o)}for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!a){s=t+1;break}}else-1===o&&(a=!1,o=t+1);return-1===o?"":e.slice(s,o)},extname:function(e){n(e);for(var r=-1,t=0,s=-1,o=!0,a=0,i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47!==c)-1===s&&(o=!1,s=i+1),46===c?-1===r?r=i:1!==a&&(a=1):-1!==r&&(a=-1);else if(!o){t=i+1;break}}return-1===r||-1===s||0===a||1===a&&r===s-1&&r===t+1?"":e.slice(r,s)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,r){var t=r.dir||r.root,s=r.base||(r.name||"")+(r.ext||"");return t?t===r.root?t+s:t+"/"+s:s}(0,e)},parse:function(e){n(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var t,s=e.charCodeAt(0),o=47===s;o?(r.root="/",t=1):t=0;for(var a=-1,i=0,c=-1,h=!0,d=e.length-1,l=0;d>=t;--d)if(47!==(s=e.charCodeAt(d)))-1===c&&(h=!1,c=d+1),46===s?-1===a?a=d:1!==l&&(l=1):-1!==a&&(l=-1);else if(!h){i=d+1;break}return-1===a||-1===c||0===l||1===l&&a===c-1&&a===i+1?-1!==c&&(r.base=r.name=0===i&&o?e.slice(1,c):e.slice(i,c)):(0===i&&o?(r.name=e.slice(1,a),r.base=e.slice(1,c)):(r.name=e.slice(i,a),r.base=e.slice(i,c)),r.ext=e.slice(a,c)),i>0?r.dir=e.slice(0,i-1):o&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,e.exports=a},4155:e=>{var r,t,s=e.exports={};function n(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(r===setTimeout)return setTimeout(e,0);if((r===n||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:n}catch(e){r=n}try{t="function"==typeof clearTimeout?clearTimeout:o}catch(e){t=o}}();var i,c=[],h=!1,d=-1;function l(){h&&i&&(h=!1,i.length?c=i.concat(c):d=-1,c.length&&u())}function u(){if(!h){var e=a(l);h=!0;for(var r=c.length;r;){for(i=c,c=[];++d<r;)i&&i[d].run();d=-1,r=c.length}i=null,h=!1,function(e){if(t===clearTimeout)return clearTimeout(e);if((t===o||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(e);try{t(e)}catch(r){try{return t.call(null,e)}catch(r){return t.call(this,e)}}}(e)}}function p(e,r){this.fun=e,this.array=r}function f(){}s.nextTick=function(e){var r=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)r[t-1]=arguments[t];c.push(new p(e,r)),1!==c.length||h||a(u)},p.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=f,s.addListener=f,s.once=f,s.off=f,s.removeListener=f,s.removeAllListeners=f,s.emit=f,s.prependListener=f,s.prependOnceListener=f,s.listeners=function(e){return[]},s.binding=function(e){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(e){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}},9900:(e,r,t)=>{var s=t(4155);const n=t(1623),o=t(2942),a=t(3305),i=t(7701),c=t(6532),h=t(8731),d=t(6993),l=t(1402),u=t(4684),p=t(3400),f=t(8535),m=t(3911),g=t(1968),w=t(6732),y=t(4316),b=t(9113),v=t(3178),x=t(3849),E=t(7906),U=t(9964),K=t(1367),C=t(7015),M=t(6818),I=t(5997),j=t(4801),S=t(447),q=t(9095),R=t(5320),$=t(719),A=t(7321),P=t(3231),F=t(984),L=t(5858),{wsStartListening:T,wsStopListening:O}=t(9864),_=t(1743)(0,2e16),k=t(4482),N=t(7351),{promisify:B}=t(7790),{Waiter:D}=t(5862),{FileManager:G}=t(7312),{errCodeEnum:J}=t(7117),{MessageChainGetable:z,BotConfigGetable:W}=t(8024);class V extends W{constructor(){super(),this.waiter=new D(this),this.config=void 0,this.eventProcessorMap={},this.wsConnection=void 0}getBaseUrl(){return this.config.baseUrl}getQQ(){return this.config.qq}getVerifyKey(){return this.config.verifyKey}getSessionKey(){return this.config.sessionKey}async open({baseUrl:e,qq:r,verifyKey:t,singleMode:s}={}){if(this.config&&await this.close({keepProcessor:!0,keepConfig:!0}),this.config={baseUrl:this.config?.baseUrl??e,qq:this.config?.qq??r,verifyKey:this.config?.verifyKey??t,sessionKey:this.config?.sessionKey??""},this.eventProcessorMap=this.eventProcessorMap??{},({baseUrl:e,qq:r,verifyKey:t}=this.config),!this.config.baseUrl||!this.config.qq||!this.config.verifyKey)throw new Error(`open 缺少必要的 ${k({baseUrl:e,qq:r,verifyKey:t})} 参数`);const n=this.config.sessionKey=await o({baseUrl:e,verifyKey:t});!s&&await a({baseUrl:e,sessionKey:n,qq:r}),await this.__wsListen()}async __wsListen(){const{baseUrl:e,sessionKey:r,verifyKey:t}=this.config;this.wsConnection=await T({baseUrl:e,sessionKey:r,verifyKey:t,message:e=>{if(e.type in this.eventProcessorMap)return e.bot=this,Object.values(this.eventProcessorMap[e.type]).forEach((r=>r(e)))},error:e=>{if("error"in this.eventProcessorMap)return e.bot=this,Object.values(this.eventProcessorMap.error).forEach((r=>r(e)));try{console.log(`ws error\n${JSON.stringify(e)}`)}catch(e){}},close:e=>{if("close"in this.eventProcessorMap)return e.bot=this,Object.values(this.eventProcessorMap.close).forEach((r=>r(e)));try{console.log(`ws close\n${JSON.stringify(e)}`)}catch(e){}},unexpectedResponse:e=>{const r="unexpected-response";if(r in this.eventProcessorMap)return e.bot=this,Object.values(this.eventProcessorMap[r]).forEach((r=>r(e)));try{console.log(`ws unexpectedResponse\n${JSON.stringify(e)}`)}catch(e){}}})}async close({keepProcessor:e=!1,keepConfig:r=!1}={}){if(!this.config)throw new Error("close 请先调用 open,建立一个会话");const{baseUrl:t,sessionKey:s,qq:o}=this.config;await O(this.wsConnection),await n({baseUrl:t,sessionKey:s,qq:o}),e||(this.eventProcessorMap={}),r||(this.config=void 0),this.wsConnection=void 0}async sendMessage({temp:e=!1,friend:r,group:t,quote:s,message:n,messageChain:o}){if(!this.config)throw new Error("sendMessage 请先调用 open,建立一个会话");if(!r&&!t|!n&&!o)throw new Error(`sendMessage 缺少必要的 ${k({"friend 或 group":r||t,"message 或 messageChain":n||o})} 参数`);o&&console.log("warning: 现在 sendMessage 方法的 message 参数可以同时接收 Message 实例或 messageChain,messageChain 参数将在未来被移除");const{baseUrl:a,sessionKey:i}=this.config;if((o=o??n)instanceof z?o=o.getMessageChain():"string"==typeof o&&(o=[{type:"Plain",text:o}]),e)return await d({baseUrl:a,sessionKey:i,qq:r,group:t,quote:s,messageChain:o});if(r)return await c({baseUrl:a,sessionKey:i,target:r,quote:s,messageChain:o});if(t)return await h({baseUrl:a,sessionKey:i,target:t,quote:s,messageChain:o});throw{message:"sendGroupMessage 缺少必要的 qq 或 group 参数"}}async sendNudge({friend:e,group:r,target:t}){if(!this.config)throw new Error("sendNudge 请先调用 open,建立一个会话");if(!r&&!e||!t)throw new Error(`sendNudge 缺少必要的 ${k({"group 或 friend":r||e,target:t})} 参数`);const{baseUrl:s,sessionKey:n}=this.config;r?await l({baseUrl:s,sessionKey:n,target:t,subject:r,kind:"Group"}):e&&await l({baseUrl:s,sessionKey:n,target:t,subject:e,kind:"Friend"})}on(e,r){if(!this.config)throw new Error("on 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`on 缺少必要的 ${k({eventType:e,callback:r})} 参数`);if(Array.isArray(e))return e.map((e=>this.on(e,r)));e in this.eventProcessorMap||(this.eventProcessorMap[e]={});let t=_();for(;t in this.eventProcessorMap[e];)t=_();let s=r;return this.eventProcessorMap[e][t]=s,t}one(e,r,t=!1){if(!this.config)throw new Error("one 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`one 缺少必要的 ${k({eventType:e,callback:r})} 参数`);if(Array.isArray(e))return void e.map((e=>this.one(e,r)));e in this.eventProcessorMap||(this.eventProcessorMap[e]={});let s=_();for(;s in this.eventProcessorMap[e];)s=_();this.eventProcessorMap[e][s]=async n=>{t?(await r(n),s in this.eventProcessorMap[e]&&delete this.eventProcessorMap[e][s]):(s in this.eventProcessorMap[e]&&delete this.eventProcessorMap[e][s],r(n))}}off(e,r){if(!this.config)throw new Error("off 请先调用 open,建立一个会话");if(!e)throw new Error("off 缺少必要的 eventType 参数");r?r.forEach?r.forEach((r=>{r in this.eventProcessorMap[e]&&delete this.eventProcessorMap[e][r]})):r in this.eventProcessorMap[e]&&delete this.eventProcessorMap[e][r]:e in this.eventProcessorMap&&delete this.eventProcessorMap[e]}offAll(e){if(!this.config)throw new Error("offAll 请先调用 open,建立一个会话");e?e.forEach?e.forEach((e=>{e in this.eventProcessorMap&&delete this.eventProcessorMap[e]})):e in this.eventProcessorMap&&delete this.eventProcessorMap[e]:this.eventProcessorMap={}}async getSessionConfig(){if(!this.config)throw new Error("getConfig 请先调用 open,建立一个会话");const{baseUrl:e,sessionKey:r}=this.config;return await u({baseUrl:e,sessionKey:r})}async setSessionConfig({cacheSize:e,enableWebsocket:r}){if(!this.config)throw new Error("setConfig 请先调用 open,建立一个会话");const{baseUrl:t,sessionKey:s}=this.config;await p({baseUrl:t,sessionKey:s,cacheSize:e,enableWebsocket:r})}async recall({messageId:e}){if(!this.config)throw new Error("recall 请先调用 open,建立一个会话");if(!e)throw new Error("recall 缺少必要的 messageId 参数");const{baseUrl:r,sessionKey:t}=this.config;await M({baseUrl:r,sessionKey:t,target:e})}async uploadImage({type:e="group",img:r,filename:t}){if(!this.config)throw new Error("uploadImage 请先调用 open,建立一个会话");if(s.browser&&t)throw new Error("uploadImage 浏览器端不支持 filename 参数");if(!r&&!t)throw new Error("uploadImage 缺少必要的 img 或 filename 参数");t&&(r=r??await B(N.readFile)(t));const{baseUrl:n,sessionKey:o}=this.config;return await f({baseUrl:n,sessionKey:o,type:e,img:r})}async uploadVoice({type:e="group",voice:r,filename:t}){if(!this.config)throw new Error("uploadVoice 请先调用 open,建立一个会话");if(s.browser&&t)throw new Error("uploadVoice 浏览器端不支持 filename 参数");if(!r&&!t)throw new Error("uploadVoice 缺少必要的 voice 或 filename 参数");t&&(r=r??await B(N.readFile)(t));const{baseUrl:n,sessionKey:o}=this.config;return await m({baseUrl:n,sessionKey:o,type:e,voice:r})}async getFriendList(){if(!this.config)throw new Error("getFriendList 请先调用 open,建立一个会话");const{baseUrl:e,sessionKey:r}=this.config,t=await g({baseUrl:e,sessionKey:r});return t.map((e=>{e.name=e.nickname,delete e.nickname})),t}async getGroupList(){if(!this.config)throw new Error("getGroupList 请先调用 open,建立一个会话");const{baseUrl:e,sessionKey:r}=this.config;return await w({baseUrl:e,sessionKey:r})}async getMemberList({group:e}){if(!this.config)throw new Error("getMemberList 请先调用 open,建立一个会话");if(!e)throw new Error("getMemberList 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config,s=await y({baseUrl:r,sessionKey:t,target:e});return s.map((e=>{e.name=e.memberName,delete e.group,delete e.memberName})),s}async getMemberInfo({group:e,qq:r}){if(!this.config)throw new Error("getMemberInfo 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`getMemberInfo 缺少必要的 ${k({group:e,qq:r})} 参数`);const{baseUrl:t,sessionKey:s}=this.config,n=await b({baseUrl:t,sessionKey:s,target:e,memberId:r});return n.title=n.specialTitle,delete n.specialTitle,n}async getUserProfile({qq:e}){if(!this.config)throw new Error("getUserProfile 请先调用 open,建立一个会话");if(!e)throw new Error("getUserProfile 缺少必要的 qq 参数");const{baseUrl:r,sessionKey:t}=this.config;return await v({baseUrl:r,sessionKey:t,target:e})}async setMemberInfo({group:e,qq:r,name:t,title:s,permission:n}){if(!this.config)throw new Error("setMemberInfo 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`setMemberInfo 缺少必要的 ${k({group:e,qq:r})} 参数`);if(null!=n&&n!=V.groupPermission.ADMINISTRATOR&&n!=V.groupPermission.MEMBER)throw new Error("setMemberInfo admin 参数只能是 Bot.groupPermission.ADMINISTRATOR 或 Bot.groupPermission.Member");const{baseUrl:o,sessionKey:a}=this.config;null==t&&null==s||await x({baseUrl:o,sessionKey:a,target:e,memberId:r,name:t,specialTitle:s}),null!=n&&await E({baseUrl:o,sessionKey:a,target:e,memberId:r,assign:n==V.groupPermission.ADMINISTRATOR})}async*getAnnoIter({group:e}){if(!this.config)throw new Error("getAnno 请先调用 open,建立一个会话");if(!e)throw new Error("getAnno 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config;let s=0,n=await U({baseUrl:r,sessionKey:t,id:e,offset:s,size:10});for(;n.length>0;){for(const e of n)yield e;s+=10,n=await U({baseUrl:r,sessionKey:t,id:e,offset:s,size:10})}}async publishAnno({group:e,content:r,pinned:t}){if(!this.config)throw new Error("publishAllo 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`publishAllo 缺少必要的 ${k({group:e,content:r})} 参数`);const{baseUrl:s,sessionKey:n}=this.config;await K({baseUrl:s,sessionKey:n,target:e,content:r,pinned:t})}async deleteAnno({group:e,fid:r}){if(!this.config)throw new Error("deleteAnno 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`deleteAnno 缺少必要的 ${k({group:e,fid:r})} 参数`);const{baseUrl:t,sessionKey:s}=this.config;await C({baseUrl:t,sessionKey:s,id:e,fid:r})}async mute({group:e,qq:r,time:t}){if(!this.config)throw new Error("mute 请先调用 open,建立一个会话");if(!e||!r||!t)throw new Error(`mute 缺少必要的 ${k({group:e,qq:r,time:t})} 参数`);const{baseUrl:s,sessionKey:n}=this.config;await I({baseUrl:s,sessionKey:n,target:e,memberId:r,time:t})}async muteAll({group:e}){if(!this.config)throw new Error("muteAll 请先调用 open,建立一个会话");if(!e)throw new Error("muteAll 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config;await j({baseUrl:r,sessionKey:t,target:e})}async unmute({group:e,qq:r}){if(!this.config)throw new Error("unmute 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`unmute 缺少必要的 ${k({group:e,qq:r})} 参数`);const{baseUrl:t,sessionKey:s}=this.config;await S({baseUrl:t,sessionKey:s,target:e,memberId:r})}async unmuteAll({group:e}){if(!this.config)throw new Error("unmute 请先调用 open,建立一个会话");if(!e)throw new Error("unmute 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config;await q({baseUrl:r,sessionKey:t,target:e})}async removeMember({group:e,qq:r,message:t=""}){if(!this.config)throw new Error("removeMember 请先调用 open,建立一个会话");if(!e||!r)throw new Error(`removeMember 缺少必要的 ${k({group:e,qq:r})} 参数`);const{baseUrl:s,sessionKey:n}=this.config;await R({baseUrl:s,sessionKey:n,target:e,memberId:r,msg:t})}async removeFriend({qq:e}){if(!this.config)throw new Error("removeFriend 请先调用 open,建立一个会话");if(!e)throw new Error("removeFriend 缺少必要的 qq 参数");const{baseUrl:r,sessionKey:t}=this.config;await $({baseUrl:r,sessionKey:t,target:e})}async quitGroup({group:e}){if(!this.config)throw new Error("quitGroup 请先调用 open,建立一个会话");if(!e)throw new Error("quitGroup 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config;await A({baseUrl:r,sessionKey:t,target:e})}async getGroupConfig({group:e}){if(!this.config)throw new Error("getGroupConfig 请先调用 open,建立一个会话");if(!e)throw new Error("getGroupConfig 缺少必要的 group 参数");const{baseUrl:r,sessionKey:t}=this.config;return await P({baseUrl:r,sessionKey:t,target:e})}async setGroupConfig({group:e,name:r,announcement:t,confessTalk:s,allowMemberInvite:n,autoApprove:o,anonymousChat:a}){if(!this.config)throw new Error("setGroupConfig 请先调用 open,建立一个会话");if(!e)throw new Error("setGroupConfig 缺少必要的 group 参数");const{baseUrl:i,sessionKey:c}=this.config;await F({baseUrl:i,sessionKey:c,target:e,name:r,announcement:t,confessTalk:s,allowMemberInvite:n,autoApprove:o,anonymousChat:a})}fileManager({group:e}){return new G({bot:this,group:e})}async setEssence({messageId:e}){if(!this.config)throw new Error("setEssence 请先调用 open,建立一个会话");if(!e)throw new Error("setEssence 缺少必要的 messageId 参数");const{baseUrl:r,sessionKey:t}=this.config;await L({baseUrl:r,sessionKey:t,target:e})}async sendCommand({command:e}){if(!this.config)throw new Error("setEssence 请先调用 open,建立一个会话");if(!e)throw new Error(`sendCommand 缺少必要的 ${k({command:e})} 参数`);const{Message:r}=t(4122),{baseUrl:s,sessionKey:n}=this.config;return await i({baseUrl:s,sessionKey:n,command:e.map((e=>e?.toString()??"")).reduce(((e,r)=>e.addText(r)),new r).messageChain})}static async isBotLoggedIn({baseUrl:e,verifyKey:r,qq:t}){if(!e||!r||!t)throw new Error(`isBotLoggedIn 缺少必要的 ${k({baseUrl:e,verifyKey:r,qq:t})} 参数`);const s=await o({baseUrl:e,verifyKey:r}),{code:i}=await a({baseUrl:e,sessionKey:s,qq:t,throwable:!1});return i!=J.BOT_NOT_FOUND&&(n({baseUrl:e,sessionKey:s,qq:t}),!0)}}V.groupPermission={get OWNER(){return"OWNER"},get ADMINISTRATOR(){return"ADMINISTRATOR"},get MEMBER(){return"MEMBER"}},e.exports={Bot:V}},7312:(e,r,t)=>{var s=t(4155);const n=t(7351),o=t(6470),{promisify:a}=t(7790);e.exports={FileManager:class{constructor({bot:e,group:r}){const i=e.getBaseUrl(),c=e.sessionKey();this._getGroupFileList=({dir:e})=>t(7698)({baseUrl:i,sessionKey:c,target:r,dir:e}),this._getGroupFileInfo=({id:e})=>t(8646)({baseUrl:i,sessionKey:c,target:r,id:e}),this._uploadFileAndSend=({type:e,path:s,file:n})=>t(6677)({baseUrl:i,sessionKey:c,type:e,target:r,path:s,file:n}),this._groupFileDelete=({id:e})=>t(2005)({baseUrl:i,sessionKey:c,target:r,id:e}),this._makeGroupDir=({dir:e})=>t(2339)({baseUrl:i,sessionKey:c,target:r,dir:e}),this._groupFileRename=({id:e,rename:s})=>t(6674)({baseUrl:i,sessionKey:c,target:r,id:e,rename:s}),this._groupFileMove=({id:e,movePath:s})=>t(9029)({baseUrl:i,sessionKey:c,target:r,id:e,movePath:s});let h=this;this.File=class{constructor(e){this._details={name:e?.name,id:e?.id,path:e?.path,isFile:e?.isFile}}async delete(){return await h._groupFileDelete({id:this._details.id}),this}async move(e){if(!e)throw new Error("Bot.FileManager.File.move 缺少必要的 path 参数");return await h._groupFileMove({id:this._details.id,movePath:e}),await this._requestFields(),this}async rename(e){if(!e)throw new Error("Bot.FileManager.File.rename 缺少必要的 name 参数");return await h._groupFileRename({id:this._details.id,rename:e}),await this._requestFields(),this}async _requestFields(){return Object.assign(this._details,await h._getGroupFileInfo({id:await this.id()}))}async _getField(e){return this._details[e]||await this._requestFields(),this._details[e]}async allFields(){return await this._requestFields()}async isDir(){return!await this._getField("isFile")}async isFile(){return await this._getField("isFile")}async name(){return await this._getField("name")}async path(){return await this._getField("path")}async id(){return await this._getField("id")}async length(){return await this._getField("length")}async downloadTimes(){return await this._getField("downloadTimes")}async uploaderId(){return await this._getField("uploaderId")}async uploadTime(){return await this._getField("uploadTime")}async lastModifyTime(){return await this._getField("lastModifyTime")}async downloadUrl(){return await this._getField("downloadUrl")}async sha1(){return await this._getField("sha1")}async md5(){return await this._getField("md5")}},this.Directory=class{constructor(e){this._details={name:e?.name,id:e?.id,path:e?.path,isFile:e?.isFile}}async _getField(e){return this._details[e]}async allFields(){return await this._details}async isDir(){return!await this._getField("isFile")}async isFile(){return await this._getField("isFile")}async name(){return await this._getField("name")}async path(){return await this._getField("path")}async id(){return await this._getField("id")}async getFileList(e=this._details.path){return(await h._getGroupFileList({dir:e})).map((e=>h._getInstance(e)))}async upload({file:e,filePath:r,filename:t}){if(s.browser&&r)throw new Error("Bot.FileManager.Directory.upload 浏览器端不支持 filePath 参数");if(!e&&!r)throw new Error("Bot.FileManager.Directory.upload 缺少必要的 file 或 filePath 参数");t&&(e=e??await a(n.readFile)(t)),await this._uploadFileAndSend({file:e,type:"group",path:await this.path()+t??o.parse(r).base})}}}_getInstance(e){return!0===e?.isFile?new this.File(e):!1===e?.isFile?new this.Directory(e):void 0}async getFileList(e){return(await this._getGroupFileList({dir:e})).map((e=>this._getInstance(e)))}async uploadTo({uploadPath:e,file:r,filePath:t}){if(s.browser&&t)throw new Error("Bot.FileManager.uploadTo 浏览器端不支持 filePath 参数");if(!r&&!t)throw new Error("Bot.FileManager.uploadTo 缺少必要的 file 或 filePath 参数");t&&(r=r??await a(n.readFile)(t)),await this._uploadFileAndSend({type:"Group",path:e,file:r})}}}},4122:(e,r,t)=>{const{MessageChainGetable:s}=t(8024);class n{constructor({type:e}){this.type=e}}class o extends n{constructor({text:e}){super({type:"Plain"}),this.text=e}}class a extends n{constructor({text:e}){super({type:"Plain"}),this.text=e}}class i extends n{constructor({target:e,display:r}){super({type:"At"}),this.target=e,this.display=r}}class c extends n{constructor(){super({type:"AtAll"})}}class h extends n{constructor({imageId:e,url:r,path:t}){super({type:"Image"}),this.imageId=e,this.url=r,this.path=t}}class d extends n{constructor({imageId:e,url:r,path:t}){super({type:"FlashImage"}),this.imageId=e,this.url=r,this.path=t}}class l extends n{constructor({voiceId:e,url:r,path:t}){super({type:"Voice"}),this.voiceId=e,this.url=r,this.path=t}}class u extends n{constructor({xml:e}){super({type:"Xml"}),this.xml=e}}class p extends n{constructor({json:e}){super({type:"Json"}),this.json=e}}class f extends n{constructor({content:e}){super({type:"App"}),this.content=e}}const m=new Map([["惊讶",0],["撇嘴",1],["色",2],["发呆",3],["得意",4],["流泪",5],["害羞",6],["闭嘴",7],["睡",8],["大哭",9],["尴尬",10],["发怒",11],["调皮",12],["呲牙",13],["微笑",14],["难过",15],["酷",16],["抓狂",18],["吐",19],["偷笑",20],["可爱",21],["白眼",22],["傲慢",23],["饥饿",24],["困",25],["惊恐",26],["流汗",27],["憨笑",28],["悠闲",29],["奋斗",30],["咒骂",31],["疑问",32],["嘘",33],["晕",34],["折磨",35],["衰",36],["骷髅",37],["敲打",38],["再见",39],["发抖",41],["爱情",42],["跳跳",43],["猪头",46],["拥抱",49],["蛋糕",53],["闪电",54],["炸弹",55],["刀",56],["足球",57],["便便",59],["咖啡",60],["饭",61],["玫瑰",63],["凋谢",64],["爱心",66],["心碎",67],["礼物",69],["太阳",74],["月亮",75],["赞",76],["踩",77],["握手",78],["胜利",79],["飞吻",85],["怄火",86],["西瓜",89],["冷汗",96],["擦汗",97],["抠鼻",98],["鼓掌",99],["糗大了",100],["坏笑",101],["左哼哼",102],["右哼哼",103],["哈欠",104],["鄙视",105],["委屈",106],["快哭了",107],["阴险",108],["左亲亲",109],["吓",110],["可怜",111],["菜刀",112],["啤酒",113],["篮球",114],["乒乓",115],["示爱",116],["瓢虫",117],["抱拳",118],["勾引",119],["拳头",120],["差劲",121],["爱你",122],["不",123],["好",124],["转圈",125],["磕头",126],["回头",127],["跳绳",128],["挥手",129],["激动",130],["街舞",131],["献吻",132],["左太极",133],["右太极",134],["双喜",136],["鞭炮",137],["灯笼",138],["K歌",140],["喝彩",144],["祈祷",145],["爆筋",146],["棒棒糖",147],["喝奶",148],["飞机",151],["钞票",158],["药",168],["手枪",169],["茶",171],["眨眼睛",172],["泪奔",173],["无奈",174],["卖萌",175],["小纠结",176],["喷血",177],["斜眼笑",178],["doge",179],["惊喜",180],["骚扰",181],["笑哭",182],["我最美",183],["河蟹",184],["羊驼",185],["幽灵",187],["蛋",188],["菊花",190],["红包",192],["大笑",193],["不开心",194],["冷漠",197],["呃",198],["好棒",199],["拜托",200],["点赞",201],["无聊",202],["托脸",203],["吃",204],["送花",205],["害怕",206],["花痴",207],["小样儿",208],["飙泪",210],["我不看",211],["托腮",212],["啵啵",214],["糊脸",215],["拍头",216],["扯一扯",217],["舔一舔",218],["蹭一蹭",219],["拽炸天",220],["顶呱呱",221],["抱抱",222],["暴击",223],["开枪",224],["撩一撩",225],["拍桌",226],["拍手",227],["恭喜",228],["干杯",229],["嘲讽",230],["哼",231],["佛系",232],["掐一掐",233],["惊呆",234],["颤抖",235],["啃头",236],["偷看",237],["扇脸",238],["原谅",239],["喷脸",240],["生日快乐",241],["头撞击",242],["甩头",243],["扔狗",244],["加油必胜",245],["加油抱抱",246],["口罩护体",247],["搬砖中",260],["忙到飞起",261],["脑阔疼",262],["沧桑",263],["捂脸",264],["辣眼睛",265],["哦哟",266],["头秃",267],["问号脸",268],["暗中观察",269],["emm",270],["吃瓜",271],["呵呵哒",272],["我酸了",273],["太南了",274],["辣椒酱",276],["汪汪",277],["汗",278],["打脸",279],["击掌",280],["无眼笑",281],["敬礼",282],["狂笑",283],["面无表情",284],["摸鱼",285],["魔鬼笑",286],["哦",287],["请",288],["睁眼",289],["敲开心",290],["震惊",291],["让我康康",292],["摸锦鲤",293],["期待",294],["拿到红包",295],["真好",296],["拜谢",297],["元宝",298],["牛啊",299],["胖三斤",300],["好闪",301],["左拜年",302],["右拜年",303],["红包包",304],["右亲亲",305],["牛气冲天",306],["喵喵",307],["求红包",308],["谢红包",309],["新年烟花",310],["打call",311],["变形",312],["嗑到了",313],["仔细分析",314],["加油",315],["我没事",316],["菜狗",317],["崇拜",318],["比心",319],["庆祝",320],["老色痞",321],["拒绝",322],["嫌弃",323],["吃糖",324]]);class g extends n{constructor({faceId:e,name:r}){super({type:"Face"}),this.faceId=e,this.name=r}}e.exports={Message:class extends s{constructor(){super(),this.messageChain=[]}addText(e){return this.messageChain.push(new a({text:e})),this}addPlain(e){return this.messageChain.push(new o({text:e})),this}addAt(e){return this.messageChain.push(new i({target:e})),this}addAtAll(){return this.messageChain.push(new c),this}addImageId(e){return this.messageChain.push(new h({imageId:e})),this}addImageUrl(e){return this.messageChain.push(new h({url:e})),this}addImagePath(e){return this.messageChain.push(new h({path:e})),this}addFlashImageId(e){return this.messageChain.push(new d({imageId:e})),this}addFlashImageUrl(e){return this.messageChain.push(new d({url:e})),this}addFlashImagePath(e){return this.messageChain.push(new d({path:e})),this}addVoiceId(e){return this.messageChain.push(new l({voiceId:e})),this}addVoiceUrl(e){return this.messageChain.push(new l({url:e})),this}addVoicePath(e){return this.messageChain.push(new l({path:e})),this}addXml(e){return this.messageChain.push(new u({xml:e})),this}addJson(e){return this.messageChain.push(new p({json:e})),this}addApp(e){return this.messageChain.push(new f({content:e})),this}addFace(e){const r=m.get(e);return r&&this.messageChain.push(new g({faceId:r,name:e})),this}getMessageChain(){return this.messageChain}}}},8522:(e,r,t)=>{const s=t(8090),n=t(6068),o=t(2861);class a{constructor(){this.middleware=[],this.catcher=void 0}autoReLogin({password:e}){return this.middleware.push((async(r,t)=>{try{await r.bot.sendCommand({command:["/login",r.qq,e]}),await r.bot.open(),await t()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}autoReconnection(){return this.middleware.push((async(e,r)=>{try{await e.bot.open(),await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}messageProcessor(e){return this.middleware.push((async(r,t)=>{try{const s={};e.forEach((e=>{s[e]=r.messageChain.filter((r=>r.type==e))})),r.classified=s,await t()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}textProcessor(){return this.middleware.push((async(e,r)=>{try{e.text=e.messageChain.filter((e=>"Plain"==e.type)).map((e=>e.text)).join(""),await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}messageIdProcessor(){return this.middleware.push((async(e,r)=>{try{e.messageId=Array.isArray(e.messageChain)?e.messageChain[0]?.id:void 0,await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}groupFilter(e,r=!0){const t=new Set(e);return this.middleware.push((async(e,s)=>{try{if(!e?.sender?.group?.id)throw new Error("Middleware.groupFilter 消息格式出错");if(t.has(e.sender.group.id))return r&&s();!r&&await s()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}friendFilter(e,r=!0){const t=new Set(e);return this.middleware.push((async(e,s)=>{try{if(!e?.sender?.id)throw new Error("Middleware.friendFilter 消息格式出错");if(t.has(e.sender.id))return r&&await s();!r&&await s()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}groupMemberFilter(e,r=!0){for(const r in e)e[r]=new Set(e[r]);return this.middleware.push((async(t,s)=>{try{if(!t?.sender?.id)throw new Error("Middleware.friendFilter 消息格式出错");if(!t.sender.group)return;if(t.sender.group.id in e&&e[t.sender.group.id].has(t.sender.id))return r&&await s();!r&&await s()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}memberLock({autoUnlock:e=!1}={}){const r={};return this.middleware.push((async(t,s)=>{try{if(!t.sender?.group?.id)throw new Error("Middleware.memberLock 消息格式出错");if(r[t.sender?.group?.id]instanceof Set||(r[t.sender?.group?.id]=new Set),r[t.sender?.group?.id].has(t.sender?.id))return;{r[t.sender?.group?.id].add(t.sender?.id);let n=!0;const o=()=>{r[t.sender?.group?.id].delete(t.sender?.id),n=!1};t.unlock=o,await s(),e&&n&&o()}}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}friendLock({autoUnlock:e=!1}={}){const r=new Set;return this.middleware.push((async(t,s)=>{try{if(!t.sender?.id)throw new Error("Middleware.memberLock 消息格式出错");if(r.has(t.sender?.id))return;{r.add(t.sender?.id);let n=!0;const o=()=>{r.delete(t.sender?.id),n=!1};t.unlock=o,await s(),e&&n&&o()}}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}atFilter(e,r=!0){const t=new Set(e);return this.middleware.push((async(e,s)=>{try{if(!e?.messageChain)throw new Error("Middleware.atFilter 消息格式出错");for(const n of e.messageChain)if("At"==n?.type&&t.has(n?.target))return r&&await s();!r&&await s()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}friendRequestProcessor(){return this.middleware.push((async(e,r)=>{try{if("NewFriendRequestEvent"!=e.type)throw new Error("Middleware.NewFriendRequestEvent 消息格式出错");const t=e.bot.getBaseUrl(),n=e.bot.getSessionKey(),{eventId:o,fromId:a,groupId:i}=e;e.agree=async e=>{await s({baseUrl:t,sessionKey:n,eventId:o,fromId:a,groupId:i,message:e,operate:0})},e.refuse=async e=>{await s({baseUrl:t,sessionKey:n,eventId:o,fromId:a,groupId:i,message:e,operate:1})},e.refuseAndAddBlacklist=async e=>{await s({baseUrl:t,sessionKey:n,eventId:o,fromId:a,groupId:i,message:e,operate:2})},await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}memberJoinRequestProcessor(){return this.middleware.push((async(e,r)=>{try{if("MemberJoinRequestEvent"!=e.type)throw new Error("Middleware.memberJoinRequestProcessor 消息格式出错");const t=e.bot.getBaseUrl(),s=e.bot.getSessionKey(),{eventId:o,fromId:a,groupId:i}=e;e.agree=async e=>{await n({baseUrl:t,sessionKey:s,eventId:o,fromId:a,groupId:i,message:e,operate:0})},e.refuse=async e=>{await n({baseUrl:t,sessionKey:s,eventId:o,fromId:a,groupId:i,message:e,operate:1})},e.ignore=async e=>{await n({baseUrl:t,sessionKey:s,eventId:o,fromId:a,groupId:i,message:e,operate:2})},e.refuseAndAddBlacklist=async e=>{await n({baseUrl:t,sessionKey:s,eventId:o,fromId:a,groupId:i,message:e,operate:3})},e.ignoreAndAddBlacklist=async e=>{await n({baseUrl:t,sessionKey:s,eventId:o,fromId:a,groupId:i,message:e,operate:4})},await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}invitedJoinGroupRequestProcessor(){return this.middleware.push((async(e,r)=>{try{if("BotInvitedJoinGroupRequestEvent"!=e.type)throw new Error("Middleware.invitedJoinGroupRequestProcessor 消息格式出错");const t=e.bot.getBaseUrl(),s=e.bot.getSessionKey(),{eventId:n,fromId:a,groupId:i}=e;e.agree=async e=>{await o({baseUrl:t,sessionKey:s,eventId:n,fromId:a,groupId:i,message:e,operate:0})},e.refuse=async e=>{await o({baseUrl:t,sessionKey:s,eventId:n,fromId:a,groupId:i,message:e,operate:1})},await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}syncWrapper(){return this.middleware.push((async(e,r)=>{try{if("GroupMessage"!=e.type&&"FriendMessage"!=e.type)throw new Error("Middleware.syncWrapper 消息格式出错");const t=async r=>{if(null==(r=r??e?.sender?.id))throw new Error("Middleware.syncWrapper 消息格式出错");do{var{messageChain:t,id:s}=await(e.bot?.waiter?.wait(e.type,(({messageChain:e,sender:{id:r}})=>({messageChain:e,id:r}))))??{}}while(r!=s);return t},s=async r=>{if(null==(r=r??e?.sender?.id))throw new Error("Middleware.syncWrapper 消息格式出错");do{var{text:t,id:s}=await(e.bot?.waiter?.wait(e.type,(new a).textProcessor().done((({text:e,sender:{id:r}})=>({text:e,id:r})))))??{}}while(r!=s);return t},n=async(e,r)=>{if(null==(e=e??t?.sender?.id))throw new Error("Middleware.syncWrapper 消息格式出错");do{var t=await(t.bot?.waiter?.wait(t.type,(new a).textProcessor().done((e=>e))))}while(e!=t?.sender?.id);return await r(t)};e.waitFor={groupMember:e=>({messageChain:()=>t(e),text:()=>s(e),custom:r=>n(e,r)}),friend:e=>({messageChain:()=>t(e),text:()=>s(e),custom:r=>n(e,r)}),messageChain:()=>t(e.sender.id),text:()=>s(e.sender.id),custom:r=>n(e.sender.id,r)},await r()}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}use(e){return this.middleware.push((async(r,t)=>{try{await e(r,t)}catch(e){if(!this.catcher)throw e;this.catcher(e)}})),this}catch(e){return this.catcher=e,this}done(e){return r=>new Promise((t=>{this.middleware.reduceRight(((e,s)=>async()=>t(await s(r,e))),(async()=>{let s=e instanceof Function?await e(r):void 0;t(s)}))()}))}}e.exports={Middleware:a}},5862:e=>{e.exports={Waiter:class{constructor(e){this.bot=e}async wait(e,r){return new Promise((t=>{this.bot.one(e,(async e=>t(await r(e))),!0)}))}}}},7015:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,fid:s})=>{try{const i=new a("/anno/delete",e).toString(),h=await o.post(i,{sessionKey:r,id:t,fid:s});try{var{data:{msg:c,code:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in n)throw new Error(c);return{message:c,code:d}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},9964:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,offset:s,size:c=10})=>{try{const i=new a("/anno/list",e).toString(),h=await o.get(i,{params:{sessionKey:r,id:t,offset:s,size:c}});try{var{data:{msg:d,code:l,data:u}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(d);return u}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},1367:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,content:s,pinned:c})=>{try{const i=new a("/anno/publish",e).toString(),h=await o.post(i,{sessionKey:r,target:t,content:s,pinned:c});try{var{data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(d);return{message:d,code:l}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},2942:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,verifyKey:r})=>{try{const i=new a("/verify",e).toString(),h=await o.post(i,{verifyKey:r});try{var{data:{msg:t,code:s,session:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in n)throw new Error(t);return c}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},2005:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,path:s,group:c})=>{try{const i=new a("/file/delete",e).toString(),h=await o.post(i,{sessionKey:r,id:t,path:s,target:c,group:c});try{var{data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(d);return{message:d,code:l}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8646:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,path:s,group:c,withDownloadInfo:d})=>{try{const i=new a("/file/info",e).toString(),h=await o.get(i,{params:{sessionKey:r,id:t,path:s,target:c,group:c,withDownloadInfo:d}});try{var{data:{msg:l,code:u,data:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in n)throw new Error(l);return p}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},7698:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,path:s,group:c,withDownloadInfo:d,offset:l,size:u})=>{try{const i=new a("/file/list",e).toString(),h=await o.get(i,{params:{sessionKey:r,id:t,path:s,target:c,group:c,withDownloadInfo:d,offset:l,size:u}});try{var{data:{msg:p,code:f,data:m}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(f in n)throw new Error(p);return m}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},2339:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,rename:s,path:c,group:d,withDownloadInfo:l})=>{try{const i=new a("/file/mkdir",e).toString(),h=await o.post(i,{sessionKey:r,id:t,rename:s,path:c,group:d,withDownloadInfo:l});try{var{data:{msg:u,code:p,data:f}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(p in n)throw new Error(u);return f}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},9029:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,path:s,group:c,moveTo:d,moveToPath:l})=>{try{const i=new a("/file/move",e).toString(),h=await o.post(i,{sessionKey:r,id:t,path:s,target:c,group:c,moveTo:d,moveToPath:l});try{var{data:{msg:u,code:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(p in n)throw new Error(u);return{message:u,code:p}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6674:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,id:t,path:s,group:c,renameTo:d})=>{try{const i=new a("/file/rename",e).toString(),h=await o.post(i,{sessionKey:r,id:t,path:s,target:c,group:c,renameTo:d});try{var{data:{msg:l,code:u}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in n)throw new Error(l);return{message:l,code:u}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6677:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`,d=t(6230);e.exports=async({baseUrl:e,sessionKey:r,type:t,target:s,path:c,file:l})=>{try{const i=new a("/file/upload",e).toString(),h=new d;h.append("sessionKey",r),h.append("type",t),h.append("target",s),h.append("path",c),h.append("file",l,{filename:"payload"});const m=await o.post(i,h,{headers:h.getHeaders()});try{var{data:{msg:u,code:p,id:f}}=m}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(p in n)throw new Error(u);return f}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},1968:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r})=>{try{const i=new a("/friendList",e).toString(),h=await o.get(i,{params:{sessionKey:r}});try{var{data:{msg:t,code:s,data:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in n)throw new Error(t);return c}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3231:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/groupConfig",e).toString(),h=await o.get(i,{params:{sessionKey:r,target:t}});try{var{data:s,data:{msg:c,code:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in n)throw new Error(c);return s}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6732:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r})=>{try{const i=new a("/groupList",e).toString(),h=await o.get(i,{params:{sessionKey:r}});try{var{data:t,data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in n)throw new Error(s);return t}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},9113:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s})=>{try{const i=new a("/memberInfo",e).toString(),h=await o.get(i,{params:{sessionKey:r,target:t,memberId:s}});try{var{data:c,data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(d);return c}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},4316:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/memberList",e).toString(),h=await o.get(i,{params:{sessionKey:r,target:t}});try{var{data:s,data:{msg:c,code:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in n)throw new Error(c);return s}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},4684:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r})=>{try{const i=new a("/config",e).toString(),h=await o.get(i,{params:{sessionKey:r}});try{var{data:{data:{msg:t,code:s,cacheSize:c,enableWebsocket:d}}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in n)throw new Error(t);return{cacheSize:c,enableWebsocket:d}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3178:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s})=>{try{const i=new a("/userProfile",e).toString(),h=await o.get(i,{params:{sessionKey:r,target:t,memberId:s}});try{var{data:{msg:c,code:d,nickname:l,email:u,age:p,level:f,sign:m,sex:g}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in n)throw new Error(c);return{nickname:l,email:u,age:p,level:f,sign:m,sex:g}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},5997:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s,time:c})=>{try{const i=new a("/mute",e).toString(),h=await o.post(i,{sessionKey:r,target:t,memberId:s,time:c});try{var{data:{code:d,msg:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in n)throw new Error(l);return{message:l,code:d}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},4801:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/muteAll",e).toString(),h=await o.post(i,{sessionKey:r,target:t});try{var{data:{code:s,msg:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in n)throw new Error(c);return{message:c,code:s}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},7321:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/quit",e).toString(),h=await o.post(i,{sessionKey:r,target:t});try{var{data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in n)throw new Error(s);return{message:s,code:c}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6818:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/recall",e).toString(),h=await o.post(i,{sessionKey:r,target:t});try{var{data:{code:s,msg:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in n)throw new Error(c);return{message:c,code:s}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},1623:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,qq:t})=>{try{const i=new a("/release",e).toString(),h=await o.post(i,{sessionKey:r,qq:t});try{var{data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in n)throw new Error(s);return{message:s,code:c}}catch(e){console.error(`mirai-js: error ${h}`),console.error(`mirai-js: error ${h}`),i(e)}}},719:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/deleteFriend",e).toString(),h=await o.post(i,{sessionKey:r,target:t});try{var{data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in n)throw new Error(s);return{message:s,code:c}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},5320:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s,msg:c})=>{try{const i=new a("/kick",e).toString(),h=await o.post(i,{sessionKey:r,target:t,memberId:s,msg:c});try{var{data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(d);return{message:d,code:l}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},2861:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l=""})=>{try{const i=new a("/resp/botInvitedJoinGroupRequestEvent",e).toString(),h=await o.post(i,{sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l});try{var{data:{code:u,msg:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in n)throw new Error(p)}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8090:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l=""})=>{try{const i=new a("/resp/newFriendRequestEvent",e).toString(),h=await o.post(i,{sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l});try{var{data:{code:u,msg:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in n)throw new Error(p)}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6068:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l=""})=>{try{const i=new a("/resp/memberJoinRequestEvent",e).toString(),h=await o.post(i,{sessionKey:r,eventId:t,fromId:s,groupId:c,operate:d,message:l});try{var{data:{code:u,msg:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in n)throw new Error(p)}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},7701:(e,r,t)=>{var s="/index.js";const n=t(9669).default,{errCodeMap:o}=t(7117),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,command:t})=>{try{const i=new a("/cmd/execute",e).toString(),h=await n.post(i,{sessionKey:r,command:t});try{var{data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in o)throw new Error(s);return{message:s,code:c}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6532:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,quote:s,messageChain:c})=>{try{const i=new a("/sendFriendMessage",e).toString(),h=await o.post(i,{sessionKey:r,target:t,quote:s,messageChain:c});try{var{data:{msg:d,code:l,messageId:u}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(d);return u}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8731:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,quote:s,messageChain:c})=>{try{const i=new a("/sendGroupMessage",e).toString(),h=await o.post(i,{sessionKey:r,target:t,quote:s,messageChain:c});try{var{data:{msg:d,code:l,messageId:u}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(d);return u}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},1402:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,subject:s,kind:c})=>{try{const i=new a("/sendNudge",e).toString(),h=await o.post(i,{sessionKey:r,target:t,subject:s,kind:c});try{var{data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(d);return{message:d,code:l}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},6993:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,qq:t,group:s,quote:c,messageChain:d})=>{try{const i=new a("/sendTempMessage",e).toString();if(!t||!s)throw new Error("sendTempMessage 缺少必要的 qq 和 group 参数");const h=await o.post(i,{sessionKey:r,qq:t,group:s,quote:c,messageChain:d});try{var{data:{msg:l,code:u,messageId:p}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in n)throw new Error(l);return p}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},5858:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/setEssence",e).toString(),h=await o.post(i,{sessionKey:r,target:t});try{var{data:{msg:s,code:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in n)throw new Error(s);return{message:s,code:c}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},984:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,name:s,announcement:c,confessTalk:d,allowMemberInvite:l,autoApprove:u,anonymousChat:p})=>{try{const i=new a("/groupConfig",e).toString(),h=await o.post(i,{sessionKey:r,target:t,config:{name:s,announcement:c,confessTalk:d,allowMemberInvite:l,autoApprove:u,anonymousChat:p}});try{var{data:{msg:f,code:m}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(m in n)throw new Error(f);return{message:f,code:m}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},7906:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s,assign:c})=>{try{const i=new a("/memberAdmin",e).toString(),h=await o.post(i,{sessionKey:r,target:t,memberId:s,assign:c});try{var{data:{msg:d,code:l}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(d);return{message:d,code:l}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3849:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s,name:c,specialTitle:d})=>{try{const i=new a("/memberInfo",e).toString(),h=await o.post(i,{sessionKey:r,target:t,memberId:s,info:{name:c,specialTitle:d}});try{var{data:{msg:l,code:u}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(u in n)throw new Error(l);return{message:l,code:u}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3400:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,cacheSize:t,enableWebsocket:s})=>{try{const i=new a("/config",e).toString(),h=await o.post(i,{sessionKey:r,cacheSize:t,enableWebsocket:s});try{var{data:{msg:c,code:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in n)throw new Error(c);return{message:c,code:d}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8200:(e,r,t)=>{var s="/index.js";const n=window.WebSocket,{URL:o}=t(3489),a=t(1714),i=t(6470),c=`core.${i.basename(s,i.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,verifyKey:t,message:s,error:i,close:h})=>{try{let a=new o(`/all?sessionKey=${r}&verifyKey=${t}`,e);a.protocol="ws",a=a.toString();const c=new n(a);return c.onopen=()=>{const e=setInterval((()=>{c.send(1)}),1e4);c.onmessage=({data:e})=>{try{s(JSON.parse(e)?.data)}catch(e){}},c.onerror=e=>{i(e)},c.onclose=({code:r,reason:t})=>{clearInterval(e),h({code:r,reason:t})}},c}catch(i){console.error(`mirai-js: error ${c}`),a(i)}}},4696:(e,r,t)=>{var s="/index.js";const n=t(8083),{URL:o}=t(3489),a=t(1714),i=t(6470),c=`core.${i.basename(s,i.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,verifyKey:t,message:s,error:i,close:h,unexpectedResponse:d})=>{try{let a=new o(`/all?sessionKey=${r}&verifyKey=${t}`,e);a.protocol="ws",a=a.toString();const c=new n(a);return c.on("open",(()=>{const e=setInterval((()=>{c.ping((e=>{if(e)try{console.log(`ws ping error\n${JSON.stringify(e)}`)}catch(e){}}))}),6e4);c.on("message",(e=>{try{s(JSON.parse(e)?.data)}catch(e){}})),c.on("error",(e=>{i(e)})),c.on("close",((r,t)=>{clearInterval(e),h({code:r,reason:t})})),c.on("unexpectedResponse",(({req:e,res:r})=>{d({req:e,res:r})}))})),c}catch(i){console.error(`mirai-js: error ${c}`),a(i)}}},475:(e,r,t)=>{var s="/index.js";const n=t(1714),o=t(6470),a=`core.${o.basename(s,o.extname(s))}`;e.exports=async e=>{try{e.readyState==e.CONNECTING?await new Promise((r=>{e.onopen=()=>{e.close(1e3),r(void 0)}})):e.readyState==e.OPEN&&e.close(1e3)}catch(e){console.error(`mirai-js: error ${a}`),n(e)}}},1031:(e,r,t)=>{var s="/index.js";const n=t(1714),o=t(6470),a=`core.${o.basename(s,o.extname(s))}`;e.exports=async e=>{try{e.readyState==e.CONNECTING?await new Promise((r=>{e.on("open",(()=>{e.close(1e3),r(void 0)}))})):e.readyState==e.OPEN&&e.close(1e3)}catch(e){console.error(`mirai-js: error ${a}`),n(e)}}},447:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t,memberId:s})=>{try{const i=new a("/unmute",e).toString(),h=await o.post(i,{sessionKey:r,target:t,memberId:s});try{var{data:{code:c,msg:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(c in n)throw new Error(d);return{message:d,code:c}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},9095:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,target:t})=>{try{const i=new a("/unmuteAll",e).toString(),h=await o.post(i,{sessionKey:r,target:t});try{var{data:{code:s,msg:c}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(s in n)throw new Error(c);return{message:c,code:s}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8535:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`,d=t(6230);e.exports=async({baseUrl:e,sessionKey:r,type:t,img:s})=>{try{const i=new a("/uploadImage",e).toString(),h=new d;h.append("sessionKey",r),h.append("type",t),h.append("img",s,{filename:"img.jpg"});const m=await o.post(i,h,{headers:h.getHeaders()});try{var{data:{msg:c,code:l,imageId:u,url:p,path:f}}=m}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(c);return{imageId:u,url:p,path:f}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3911:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669).default,{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`,d=t(6230);e.exports=async({baseUrl:e,sessionKey:r,type:t,voice:s})=>{try{const i=new a("/uploadVoice",e).toString(),h=new d;h.append("sessionKey",r),h.append("type",t),h.append("voice",s,{filename:"voice.mp3"});const m=await o.post(i,h,{headers:h.getHeaders()});try{var{data:{msg:c,code:l,voiceId:u,url:p,path:f}}=m}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(l in n)throw new Error(c);return{voiceId:u,url:p,path:f}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},3305:(e,r,t)=>{var s="/index.js";const{errCodeMap:n}=t(7117),o=t(9669),{URL:a}=t(3489),i=t(1714),c=t(6470),h=`core.${c.basename(s,c.extname(s))}`;e.exports=async({baseUrl:e,sessionKey:r,qq:t,throwable:s=!0})=>{try{const i=new a("/bind",e).toString(),h=await o.post(i,{sessionKey:r,qq:t});try{var{data:{msg:c,code:d}}=h}catch(e){throw new Error("请求返回格式出错,请检查 mirai-console")}if(d in n&&s)throw new Error(c);return{message:c,code:d}}catch(e){console.error(`mirai-js: error ${h}`),i(e)}}},8138:(e,r,t)=>{var s=t(4155);const{Bot:n}=t(9900),{Message:o}=t(4122),{Middleware:a}=t(8522);s.browser?window.miraiJs={Bot:n,Message:o,Middleware:a}:e.exports={Bot:n,Message:o,Middleware:a}},8024:e=>{e.exports={MessageChainGetable:class{getMessageChain(){}},BotConfigGetable:class{getBaseUrl(){}getQQ(){}getVerifyKey(){}getSessionKey(){}}}},3489:(e,r,t)=>{var s=t(4155);e.exports={URL:s.browser?window.URL:t(4968).URL}},9864:(e,r,t)=>{var s=t(4155);e.exports={wsStartListening:s.browser?t(8200):t(4696),wsStopListening:s.browser?t(475):t(1031)}},7117:e=>{let r={get BOT_NOT_FOUND(){return 2}};e.exports={errCodeMap:{1:"错误的 auth key",2:"指定的 Bot 不存在",3:"Session 失效或不存在",4:"Session未认证(未激活)",5:"发送消息目标不存在(指定对象不存在)",6:"指定文件不存在,出现于发送本地图片",10:"无操作权限,指 Bot 没有对应操作的限权",20:"Bot 被禁言,指 Bot 当前无法向指定群发送消息",30:"消息过长",400:"错误的访问,可能是参数错误"},errCodeEnum:r}},1714:e=>{e.exports=e=>{let r,t,s;({message:r}=e);const{response:n}=e;throw n?.data&&({msg:t,resMessage:s}=n.data),r??t??s??n?.data?new Error([r,t,s,n?.data].filter((e=>"string"==typeof e)).join("\n")):e}},4482:e=>{e.exports=e=>Object.keys(e).filter((r=>void 0===e[r])).join(" ")},1743:e=>{e.exports=(e,r)=>()=>Math.floor(Math.random()*(r-e+1)+e)},8083:e=>{"use strict";e.exports=ws},4968:()=>{},7351:()=>{},7790:()=>{}},r={};!function t(s){var n=r[s];if(void 0!==n)return n.exports;var o=r[s]={exports:{}};return e[s](o,o.exports,t),o.exports}(8138)})();
|
package/dist/node/BaseType.d.ts
CHANGED
@@ -104,6 +104,60 @@ type SEX = 'UNKNOWN' | 'MALE' | 'FEMALE'
|
|
104
104
|
// 消息处理器
|
105
105
|
type Processor = (data: any) => Promise<any> | any;
|
106
106
|
|
107
|
+
// QQ 自带表情
|
108
|
+
type FaceType =
|
109
|
+
| '惊讶' | '撇嘴' | '色' | '发呆' | '得意'
|
110
|
+
| '流泪' | '害羞' | '闭嘴' | '睡' | '大哭'
|
111
|
+
| '尴尬' | '发怒' | '调皮' | '呲牙' | '微笑'
|
112
|
+
| '难过' | '酷' | '抓狂' | '吐' | '偷笑'
|
113
|
+
| '可爱' | '白眼' | '傲慢' | '饥饿' | '困'
|
114
|
+
| '惊恐' | '流汗' | '憨笑' | '悠闲' | '奋斗'
|
115
|
+
| '咒骂' | '疑问' | '嘘' | '晕' | '折磨'
|
116
|
+
| '衰' | '骷髅' | '敲打' | '再见' | '发抖'
|
117
|
+
| '爱情' | '跳跳' | '猪头' | '拥抱' | '蛋糕'
|
118
|
+
| '闪电' | '炸弹' | '刀' | '足球' | '便便'
|
119
|
+
| '咖啡' | '饭' | '玫瑰' | '凋谢' | '爱心'
|
120
|
+
| '心碎' | '礼物' | '太阳' | '月亮' | '赞'
|
121
|
+
| '踩' | '握手' | '胜利' | '飞吻' | '怄火'
|
122
|
+
| '西瓜' | '冷汗' | '擦汗' | '抠鼻' | '鼓掌'
|
123
|
+
| '糗大了' | '坏笑' | '左哼哼' | '右哼哼' | '哈欠'
|
124
|
+
| '鄙视' | '委屈' | '快哭了' | '阴险' | '左亲亲'
|
125
|
+
| '吓' | '可怜' | '菜刀' | '啤酒' | '篮球'
|
126
|
+
| '乒乓' | '示爱' | '瓢虫' | '抱拳' | '勾引'
|
127
|
+
| '拳头' | '差劲' | '爱你' | '不' | '好'
|
128
|
+
| '转圈' | '磕头' | '回头' | '跳绳' | '挥手'
|
129
|
+
| '激动' | '街舞' | '献吻' | '左太极' | '右太极'
|
130
|
+
| '双喜' | '鞭炮' | '灯笼' | 'K歌' | '喝彩'
|
131
|
+
| '祈祷' | '爆筋' | '棒棒糖' | '喝奶' | '飞机'
|
132
|
+
| '钞票' | '药' | '手枪' | '茶' | '眨眼睛'
|
133
|
+
| '泪奔' | '无奈' | '卖萌' | '小纠结' | '喷血'
|
134
|
+
| '斜眼笑' | 'doge' | '惊喜' | '骚扰' | '笑哭'
|
135
|
+
| '我最美' | '河蟹' | '羊驼' | '幽灵' | '蛋'
|
136
|
+
| '菊花' | '红包' | '大笑' | '不开心' | '冷漠'
|
137
|
+
| '呃' | '好棒' | '拜托' | '点赞' | '无聊'
|
138
|
+
| '托脸' | '吃' | '送花' | '害怕' | '花痴'
|
139
|
+
| '小样儿' | '飙泪' | '我不看' | '托腮' | '啵啵'
|
140
|
+
| '糊脸' | '拍头' | '扯一扯' | '舔一舔' | '蹭一蹭'
|
141
|
+
| '拽炸天' | '顶呱呱' | '抱抱' | '暴击' | '开枪'
|
142
|
+
| '撩一撩' | '拍桌' | '拍手' | '恭喜' | '干杯'
|
143
|
+
| '嘲讽' | '哼' | '佛系' | '掐一掐' | '惊呆'
|
144
|
+
| '颤抖' | '啃头' | '偷看' | '扇脸' | '原谅'
|
145
|
+
| '喷脸' | '生日快乐' | '头撞击' | '甩头' | '扔狗'
|
146
|
+
| '加油必胜' | '加油抱抱' | '口罩护体' | '搬砖中' | '忙到飞起'
|
147
|
+
| '脑阔疼' | '沧桑' | '捂脸' | '辣眼睛' | '哦哟'
|
148
|
+
| '头秃' | '问号脸' | '暗中观察' | 'emm' | '吃瓜'
|
149
|
+
| '呵呵哒' | '我酸了' | '太南了' | '辣椒酱' | '汪汪'
|
150
|
+
| '汗' | '打脸' | '击掌' | '无眼笑' | '敬礼'
|
151
|
+
| '狂笑' | '面无表情' | '摸鱼' | '魔鬼笑' | '哦'
|
152
|
+
| '请' | '睁眼' | '敲开心' | '震惊' | '让我康康'
|
153
|
+
| '摸锦鲤' | '期待' | '拿到红包' | '真好' | '拜谢'
|
154
|
+
| '元宝' | '牛啊' | '胖三斤' | '好闪' | '左拜年'
|
155
|
+
| '右拜年' | '红包包' | '右亲亲' | '牛气冲天' | '喵喵'
|
156
|
+
| '求红包' | '谢红包' | '新年烟花' | '打call' | '变形'
|
157
|
+
| '嗑到了' | '仔细分析' | '加油' | '我没事' | '菜狗'
|
158
|
+
| '崇拜' | '比心' | '庆祝' | '老色痞' | '拒绝'
|
159
|
+
| '嫌弃' | '吃糖';
|
160
|
+
|
107
161
|
// 消息处理器类型
|
108
162
|
export {
|
109
163
|
// 接口
|
@@ -120,4 +174,7 @@ export {
|
|
120
174
|
|
121
175
|
// 消息处理器
|
122
176
|
Processor,
|
177
|
+
|
178
|
+
// QQ 自带表情
|
179
|
+
FaceType
|
123
180
|
};
|
package/dist/node/Bot.d.ts
CHANGED
@@ -43,7 +43,7 @@ export class Bot implements BotConfigGetable {
|
|
43
43
|
* @param verifyKey 必选,mirai-api-http server 设置的 verifyKey
|
44
44
|
* @param qq 必选,欲绑定的 qq 号,需要确保该 qq 号已在 mirai-console 登陆
|
45
45
|
*/
|
46
|
-
open({ baseUrl, verifyKey, qq }: Bot.OpenOptions): Promise<void>;
|
46
|
+
open({ baseUrl, verifyKey, qq, singleMode }: Bot.OpenOptions): Promise<void>;
|
47
47
|
|
48
48
|
/**
|
49
49
|
* @description 监听 ws 消息
|
@@ -326,6 +326,7 @@ declare namespace Bot {
|
|
326
326
|
baseUrl?: string;
|
327
327
|
verifyKey?: string;
|
328
328
|
qq?: number;
|
329
|
+
singleMode: boolean;
|
329
330
|
}
|
330
331
|
|
331
332
|
interface CloseOptions {
|
package/dist/node/Bot.js
CHANGED
@@ -9,7 +9,7 @@ const _bind = require('./core/verify');
|
|
9
9
|
|
10
10
|
const _sendCommand = require('./core/sendCommand');
|
11
11
|
|
12
|
-
const _sendFriendMessage = require('./core/
|
12
|
+
const _sendFriendMessage = require('./core/sendFriendMessage');
|
13
13
|
|
14
14
|
const _sendGroupMessage = require('./core/sendGroupMessage');
|
15
15
|
|
@@ -142,6 +142,7 @@ class Bot extends BotConfigGetable {
|
|
142
142
|
* @param {string} baseUrl 必选,mirai-api-http server 的地址
|
143
143
|
* @param {string} verifyKey 必选,mirai-api-http server 设置的 verifyKey
|
144
144
|
* @param {number} qq 必选,欲绑定的 qq 号,需要确保该 qq 号已在 mirai-console 登陆
|
145
|
+
* @param {boolean} singleMode 可选,mirai-api-http server 是否启用了 singleMode
|
145
146
|
* @returns {void}
|
146
147
|
*/
|
147
148
|
|
@@ -149,7 +150,8 @@ class Bot extends BotConfigGetable {
|
|
149
150
|
async open({
|
150
151
|
baseUrl,
|
151
152
|
qq,
|
152
|
-
verifyKey
|
153
|
+
verifyKey,
|
154
|
+
singleMode
|
153
155
|
} = {}) {
|
154
156
|
var _this$config$baseUrl, _this$config, _this$config$qq, _this$config2, _this$config$verifyKe, _this$config3, _this$config$sessionK, _this$config4, _this$eventProcessorM;
|
155
157
|
|
@@ -192,13 +194,13 @@ class Bot extends BotConfigGetable {
|
|
192
194
|
const sessionKey = this.config.sessionKey = await _verify({
|
193
195
|
baseUrl,
|
194
196
|
verifyKey
|
195
|
-
}); // 绑定到一个 qq
|
197
|
+
}); // 绑定到一个 qq, 若开启了 singleMode 则需要跳过绑定
|
196
198
|
|
197
|
-
await _bind({
|
199
|
+
!singleMode && (await _bind({
|
198
200
|
baseUrl,
|
199
201
|
sessionKey,
|
200
202
|
qq
|
201
|
-
}); // 配置服务端 websocket 状态
|
203
|
+
})); // 配置服务端 websocket 状态
|
202
204
|
// await _setSessionConfig({ baseUrl, sessionKey, enableWebsocket: true });
|
203
205
|
// 开始监听事件
|
204
206
|
|
package/dist/node/Message.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// Message 通过实现 MessageChaingetable 与 Bot.sendMessage 通信
|
2
2
|
// 消息链元素类型和图片 id 类型
|
3
|
-
import { MessageChainGetable, MessageType, ImageId } from './BaseType';
|
3
|
+
import { MessageChainGetable, MessageType, ImageId, FaceType } from './BaseType';
|
4
4
|
|
5
5
|
// Bot.sendMessage 的 message 参数是一个 Message 类型的实例
|
6
6
|
// 方法内部通过 getMessageChainable 接口的 getMessageChain 方法拿到消息链
|
@@ -36,9 +36,12 @@ export class Message implements MessageChainGetable {
|
|
36
36
|
// json
|
37
37
|
addJson(json: string): Message;
|
38
38
|
|
39
|
-
//
|
39
|
+
// app
|
40
40
|
addApp(content: string): Message;
|
41
41
|
|
42
|
+
// face
|
43
|
+
addFace(name: FaceType): Message;
|
44
|
+
|
42
45
|
// implements MessageChainGetable
|
43
46
|
getMessageChain(): MessageType[];
|
44
47
|
}
|
package/dist/node/Message.js
CHANGED
@@ -154,9 +154,25 @@ class App extends MessageType {
|
|
154
154
|
this.content = content;
|
155
155
|
}
|
156
156
|
|
157
|
+
}
|
158
|
+
|
159
|
+
const faceMap = new Map([['惊讶', 0], ['撇嘴', 1], ['色', 2], ['发呆', 3], ['得意', 4], ['流泪', 5], ['害羞', 6], ['闭嘴', 7], ['睡', 8], ['大哭', 9], ['尴尬', 10], ['发怒', 11], ['调皮', 12], ['呲牙', 13], ['微笑', 14], ['难过', 15], ['酷', 16], ['抓狂', 18], ['吐', 19], ['偷笑', 20], ['可爱', 21], ['白眼', 22], ['傲慢', 23], ['饥饿', 24], ['困', 25], ['惊恐', 26], ['流汗', 27], ['憨笑', 28], ['悠闲', 29], ['奋斗', 30], ['咒骂', 31], ['疑问', 32], ['嘘', 33], ['晕', 34], ['折磨', 35], ['衰', 36], ['骷髅', 37], ['敲打', 38], ['再见', 39], ['发抖', 41], ['爱情', 42], ['跳跳', 43], ['猪头', 46], ['拥抱', 49], ['蛋糕', 53], ['闪电', 54], ['炸弹', 55], ['刀', 56], ['足球', 57], ['便便', 59], ['咖啡', 60], ['饭', 61], ['玫瑰', 63], ['凋谢', 64], ['爱心', 66], ['心碎', 67], ['礼物', 69], ['太阳', 74], ['月亮', 75], ['赞', 76], ['踩', 77], ['握手', 78], ['胜利', 79], ['飞吻', 85], ['怄火', 86], ['西瓜', 89], ['冷汗', 96], ['擦汗', 97], ['抠鼻', 98], ['鼓掌', 99], ['糗大了', 100], ['坏笑', 101], ['左哼哼', 102], ['右哼哼', 103], ['哈欠', 104], ['鄙视', 105], ['委屈', 106], ['快哭了', 107], ['阴险', 108], ['左亲亲', 109], ['吓', 110], ['可怜', 111], ['菜刀', 112], ['啤酒', 113], ['篮球', 114], ['乒乓', 115], ['示爱', 116], ['瓢虫', 117], ['抱拳', 118], ['勾引', 119], ['拳头', 120], ['差劲', 121], ['爱你', 122], ['不', 123], ['好', 124], ['转圈', 125], ['磕头', 126], ['回头', 127], ['跳绳', 128], ['挥手', 129], ['激动', 130], ['街舞', 131], ['献吻', 132], ['左太极', 133], ['右太极', 134], ['双喜', 136], ['鞭炮', 137], ['灯笼', 138], ['K歌', 140], ['喝彩', 144], ['祈祷', 145], ['爆筋', 146], ['棒棒糖', 147], ['喝奶', 148], ['飞机', 151], ['钞票', 158], ['药', 168], ['手枪', 169], ['茶', 171], ['眨眼睛', 172], ['泪奔', 173], ['无奈', 174], ['卖萌', 175], ['小纠结', 176], ['喷血', 177], ['斜眼笑', 178], ['doge', 179], ['惊喜', 180], ['骚扰', 181], ['笑哭', 182], ['我最美', 183], ['河蟹', 184], ['羊驼', 185], ['幽灵', 187], ['蛋', 188], ['菊花', 190], ['红包', 192], ['大笑', 193], ['不开心', 194], ['冷漠', 197], ['呃', 198], ['好棒', 199], ['拜托', 200], ['点赞', 201], ['无聊', 202], ['托脸', 203], ['吃', 204], ['送花', 205], ['害怕', 206], ['花痴', 207], ['小样儿', 208], ['飙泪', 210], ['我不看', 211], ['托腮', 212], ['啵啵', 214], ['糊脸', 215], ['拍头', 216], ['扯一扯', 217], ['舔一舔', 218], ['蹭一蹭', 219], ['拽炸天', 220], ['顶呱呱', 221], ['抱抱', 222], ['暴击', 223], ['开枪', 224], ['撩一撩', 225], ['拍桌', 226], ['拍手', 227], ['恭喜', 228], ['干杯', 229], ['嘲讽', 230], ['哼', 231], ['佛系', 232], ['掐一掐', 233], ['惊呆', 234], ['颤抖', 235], ['啃头', 236], ['偷看', 237], ['扇脸', 238], ['原谅', 239], ['喷脸', 240], ['生日快乐', 241], ['头撞击', 242], ['甩头', 243], ['扔狗', 244], ['加油必胜', 245], ['加油抱抱', 246], ['口罩护体', 247], ['搬砖中', 260], ['忙到飞起', 261], ['脑阔疼', 262], ['沧桑', 263], ['捂脸', 264], ['辣眼睛', 265], ['哦哟', 266], ['头秃', 267], ['问号脸', 268], ['暗中观察', 269], ['emm', 270], ['吃瓜', 271], ['呵呵哒', 272], ['我酸了', 273], ['太南了', 274], ['辣椒酱', 276], ['汪汪', 277], ['汗', 278], ['打脸', 279], ['击掌', 280], ['无眼笑', 281], ['敬礼', 282], ['狂笑', 283], ['面无表情', 284], ['摸鱼', 285], ['魔鬼笑', 286], ['哦', 287], ['请', 288], ['睁眼', 289], ['敲开心', 290], ['震惊', 291], ['让我康康', 292], ['摸锦鲤', 293], ['期待', 294], ['拿到红包', 295], ['真好', 296], ['拜谢', 297], ['元宝', 298], ['牛啊', 299], ['胖三斤', 300], ['好闪', 301], ['左拜年', 302], ['右拜年', 303], ['红包包', 304], ['右亲亲', 305], ['牛气冲天', 306], ['喵喵', 307], ['求红包', 308], ['谢红包', 309], ['新年烟花', 310], ['打call', 311], ['变形', 312], ['嗑到了', 313], ['仔细分析', 314], ['加油', 315], ['我没事', 316], ['菜狗', 317], ['崇拜', 318], ['比心', 319], ['庆祝', 320], ['老色痞', 321], ['拒绝', 322], ['嫌弃', 323], ['吃糖', 324]]);
|
160
|
+
|
161
|
+
class Face extends MessageType {
|
162
|
+
constructor({
|
163
|
+
faceId,
|
164
|
+
name
|
165
|
+
}) {
|
166
|
+
super({
|
167
|
+
type: 'Face'
|
168
|
+
});
|
169
|
+
this.faceId = faceId;
|
170
|
+
this.name = name;
|
171
|
+
}
|
172
|
+
|
157
173
|
}
|
158
174
|
/**
|
159
|
-
* @description
|
175
|
+
* @description 本框架抽象的消息类型
|
160
176
|
*/
|
161
177
|
|
162
178
|
|
@@ -281,6 +297,20 @@ class Message extends MessageChainGetable {
|
|
281
297
|
this.messageChain.push(new App({
|
282
298
|
content
|
283
299
|
}));
|
300
|
+
return this;
|
301
|
+
} // face
|
302
|
+
|
303
|
+
|
304
|
+
addFace(name) {
|
305
|
+
const idx = faceMap.get(name);
|
306
|
+
|
307
|
+
if (idx) {
|
308
|
+
this.messageChain.push(new Face({
|
309
|
+
faceId: idx,
|
310
|
+
name
|
311
|
+
}));
|
312
|
+
}
|
313
|
+
|
284
314
|
return this;
|
285
315
|
} // get 原接口格式的信息链
|
286
316
|
|
package/dist/node/Middleware.js
CHANGED
@@ -788,7 +788,7 @@ class Middleware {
|
|
788
788
|
return new Promise(resolve => {
|
789
789
|
// 从右侧递归合并中间件链
|
790
790
|
this.middleware.reduceRight((next, middleware) => {
|
791
|
-
return async () => await middleware(data, next);
|
791
|
+
return async () => resolve(await middleware(data, next));
|
792
792
|
}, async () => {
|
793
793
|
// 最深层递归,即开发者提供的回调函数
|
794
794
|
let returnVal = callback instanceof Function ? await callback(data) : undefined; // 异步返回
|
@@ -0,0 +1,68 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
const {
|
4
|
+
errCodeMap
|
5
|
+
} = require('../util/errCode');
|
6
|
+
|
7
|
+
const axios = require('axios').default;
|
8
|
+
|
9
|
+
const {
|
10
|
+
URL
|
11
|
+
} = require('../polyfill/URL');
|
12
|
+
|
13
|
+
const errorHandler = require('../util/errorHandler');
|
14
|
+
|
15
|
+
const path = require('path');
|
16
|
+
|
17
|
+
const locationStr = `core.${path.basename(__filename, path.extname(__filename))}`;
|
18
|
+
/**
|
19
|
+
* @description 向 qq 好友发送消息
|
20
|
+
* @param {string} baseUrl mirai-api-http server 的地址
|
21
|
+
* @param {string} sessionKey 会话标识
|
22
|
+
* @param {number} target 目标好友 qq 号
|
23
|
+
* @param {number} quote 消息引用,使用发送时返回的 messageId
|
24
|
+
* @param {MessageType[]} messageChain 消息链,MessageType 数组
|
25
|
+
* @returns {Object} 结构 { message, code, messageId }
|
26
|
+
*/
|
27
|
+
|
28
|
+
module.exports = async ({
|
29
|
+
baseUrl,
|
30
|
+
sessionKey,
|
31
|
+
target,
|
32
|
+
quote,
|
33
|
+
messageChain
|
34
|
+
}) => {
|
35
|
+
try {
|
36
|
+
// 拼接 url
|
37
|
+
const url = new URL('/sendFriendMessage', baseUrl).toString(); // 请求
|
38
|
+
|
39
|
+
const responseData = await axios.post(url, {
|
40
|
+
sessionKey,
|
41
|
+
target,
|
42
|
+
quote,
|
43
|
+
messageChain
|
44
|
+
});
|
45
|
+
|
46
|
+
try {
|
47
|
+
var {
|
48
|
+
data: {
|
49
|
+
msg: message,
|
50
|
+
code,
|
51
|
+
messageId
|
52
|
+
}
|
53
|
+
} = responseData;
|
54
|
+
} catch (error) {
|
55
|
+
throw new Error('请求返回格式出错,请检查 mirai-console');
|
56
|
+
} // 抛出 mirai 的异常,到 catch 中处理后再抛出
|
57
|
+
|
58
|
+
|
59
|
+
if (code in errCodeMap) {
|
60
|
+
throw new Error(message);
|
61
|
+
}
|
62
|
+
|
63
|
+
return messageId;
|
64
|
+
} catch (error) {
|
65
|
+
console.error(`mirai-js: error ${locationStr}`);
|
66
|
+
errorHandler(error);
|
67
|
+
}
|
68
|
+
};
|
package/package.json
CHANGED
package/src/BaseType.d.ts
CHANGED
@@ -104,6 +104,60 @@ type SEX = 'UNKNOWN' | 'MALE' | 'FEMALE'
|
|
104
104
|
// 消息处理器
|
105
105
|
type Processor = (data: any) => Promise<any> | any;
|
106
106
|
|
107
|
+
// QQ 自带表情
|
108
|
+
type FaceType =
|
109
|
+
| '惊讶' | '撇嘴' | '色' | '发呆' | '得意'
|
110
|
+
| '流泪' | '害羞' | '闭嘴' | '睡' | '大哭'
|
111
|
+
| '尴尬' | '发怒' | '调皮' | '呲牙' | '微笑'
|
112
|
+
| '难过' | '酷' | '抓狂' | '吐' | '偷笑'
|
113
|
+
| '可爱' | '白眼' | '傲慢' | '饥饿' | '困'
|
114
|
+
| '惊恐' | '流汗' | '憨笑' | '悠闲' | '奋斗'
|
115
|
+
| '咒骂' | '疑问' | '嘘' | '晕' | '折磨'
|
116
|
+
| '衰' | '骷髅' | '敲打' | '再见' | '发抖'
|
117
|
+
| '爱情' | '跳跳' | '猪头' | '拥抱' | '蛋糕'
|
118
|
+
| '闪电' | '炸弹' | '刀' | '足球' | '便便'
|
119
|
+
| '咖啡' | '饭' | '玫瑰' | '凋谢' | '爱心'
|
120
|
+
| '心碎' | '礼物' | '太阳' | '月亮' | '赞'
|
121
|
+
| '踩' | '握手' | '胜利' | '飞吻' | '怄火'
|
122
|
+
| '西瓜' | '冷汗' | '擦汗' | '抠鼻' | '鼓掌'
|
123
|
+
| '糗大了' | '坏笑' | '左哼哼' | '右哼哼' | '哈欠'
|
124
|
+
| '鄙视' | '委屈' | '快哭了' | '阴险' | '左亲亲'
|
125
|
+
| '吓' | '可怜' | '菜刀' | '啤酒' | '篮球'
|
126
|
+
| '乒乓' | '示爱' | '瓢虫' | '抱拳' | '勾引'
|
127
|
+
| '拳头' | '差劲' | '爱你' | '不' | '好'
|
128
|
+
| '转圈' | '磕头' | '回头' | '跳绳' | '挥手'
|
129
|
+
| '激动' | '街舞' | '献吻' | '左太极' | '右太极'
|
130
|
+
| '双喜' | '鞭炮' | '灯笼' | 'K歌' | '喝彩'
|
131
|
+
| '祈祷' | '爆筋' | '棒棒糖' | '喝奶' | '飞机'
|
132
|
+
| '钞票' | '药' | '手枪' | '茶' | '眨眼睛'
|
133
|
+
| '泪奔' | '无奈' | '卖萌' | '小纠结' | '喷血'
|
134
|
+
| '斜眼笑' | 'doge' | '惊喜' | '骚扰' | '笑哭'
|
135
|
+
| '我最美' | '河蟹' | '羊驼' | '幽灵' | '蛋'
|
136
|
+
| '菊花' | '红包' | '大笑' | '不开心' | '冷漠'
|
137
|
+
| '呃' | '好棒' | '拜托' | '点赞' | '无聊'
|
138
|
+
| '托脸' | '吃' | '送花' | '害怕' | '花痴'
|
139
|
+
| '小样儿' | '飙泪' | '我不看' | '托腮' | '啵啵'
|
140
|
+
| '糊脸' | '拍头' | '扯一扯' | '舔一舔' | '蹭一蹭'
|
141
|
+
| '拽炸天' | '顶呱呱' | '抱抱' | '暴击' | '开枪'
|
142
|
+
| '撩一撩' | '拍桌' | '拍手' | '恭喜' | '干杯'
|
143
|
+
| '嘲讽' | '哼' | '佛系' | '掐一掐' | '惊呆'
|
144
|
+
| '颤抖' | '啃头' | '偷看' | '扇脸' | '原谅'
|
145
|
+
| '喷脸' | '生日快乐' | '头撞击' | '甩头' | '扔狗'
|
146
|
+
| '加油必胜' | '加油抱抱' | '口罩护体' | '搬砖中' | '忙到飞起'
|
147
|
+
| '脑阔疼' | '沧桑' | '捂脸' | '辣眼睛' | '哦哟'
|
148
|
+
| '头秃' | '问号脸' | '暗中观察' | 'emm' | '吃瓜'
|
149
|
+
| '呵呵哒' | '我酸了' | '太南了' | '辣椒酱' | '汪汪'
|
150
|
+
| '汗' | '打脸' | '击掌' | '无眼笑' | '敬礼'
|
151
|
+
| '狂笑' | '面无表情' | '摸鱼' | '魔鬼笑' | '哦'
|
152
|
+
| '请' | '睁眼' | '敲开心' | '震惊' | '让我康康'
|
153
|
+
| '摸锦鲤' | '期待' | '拿到红包' | '真好' | '拜谢'
|
154
|
+
| '元宝' | '牛啊' | '胖三斤' | '好闪' | '左拜年'
|
155
|
+
| '右拜年' | '红包包' | '右亲亲' | '牛气冲天' | '喵喵'
|
156
|
+
| '求红包' | '谢红包' | '新年烟花' | '打call' | '变形'
|
157
|
+
| '嗑到了' | '仔细分析' | '加油' | '我没事' | '菜狗'
|
158
|
+
| '崇拜' | '比心' | '庆祝' | '老色痞' | '拒绝'
|
159
|
+
| '嫌弃' | '吃糖';
|
160
|
+
|
107
161
|
// 消息处理器类型
|
108
162
|
export {
|
109
163
|
// 接口
|
@@ -120,4 +174,7 @@ export {
|
|
120
174
|
|
121
175
|
// 消息处理器
|
122
176
|
Processor,
|
177
|
+
|
178
|
+
// QQ 自带表情
|
179
|
+
FaceType
|
123
180
|
};
|
package/src/Bot.d.ts
CHANGED
@@ -43,7 +43,7 @@ export class Bot implements BotConfigGetable {
|
|
43
43
|
* @param verifyKey 必选,mirai-api-http server 设置的 verifyKey
|
44
44
|
* @param qq 必选,欲绑定的 qq 号,需要确保该 qq 号已在 mirai-console 登陆
|
45
45
|
*/
|
46
|
-
open({ baseUrl, verifyKey, qq }: Bot.OpenOptions): Promise<void>;
|
46
|
+
open({ baseUrl, verifyKey, qq, singleMode }: Bot.OpenOptions): Promise<void>;
|
47
47
|
|
48
48
|
/**
|
49
49
|
* @description 监听 ws 消息
|
@@ -326,6 +326,7 @@ declare namespace Bot {
|
|
326
326
|
baseUrl?: string;
|
327
327
|
verifyKey?: string;
|
328
328
|
qq?: number;
|
329
|
+
singleMode: boolean;
|
329
330
|
}
|
330
331
|
|
331
332
|
interface CloseOptions {
|
package/src/Bot.js
CHANGED
@@ -3,7 +3,7 @@ const _releaseSession = require('./core/releaseSession');
|
|
3
3
|
const _verify = require('./core/auth');
|
4
4
|
const _bind = require('./core/verify');
|
5
5
|
const _sendCommand = require('./core/sendCommand');
|
6
|
-
const _sendFriendMessage = require('./core/
|
6
|
+
const _sendFriendMessage = require('./core/sendFriendMessage');
|
7
7
|
const _sendGroupMessage = require('./core/sendGroupMessage');
|
8
8
|
const _sendTempMessage = require('./core/sendTempMessage');
|
9
9
|
const _sendNudge = require('./core/sendNudge');
|
@@ -76,9 +76,10 @@ class Bot extends BotConfigGetable {
|
|
76
76
|
* @param {string} baseUrl 必选,mirai-api-http server 的地址
|
77
77
|
* @param {string} verifyKey 必选,mirai-api-http server 设置的 verifyKey
|
78
78
|
* @param {number} qq 必选,欲绑定的 qq 号,需要确保该 qq 号已在 mirai-console 登陆
|
79
|
+
* @param {boolean} singleMode 可选,mirai-api-http server 是否启用了 singleMode
|
79
80
|
* @returns {void}
|
80
81
|
*/
|
81
|
-
async open({ baseUrl, qq, verifyKey } = {}) {
|
82
|
+
async open({ baseUrl, qq, verifyKey, singleMode } = {}) {
|
82
83
|
// 若 config 存在,则认为该对象已经 open 过
|
83
84
|
// ,此处应该先令对象回到初始状态,然后重建会话
|
84
85
|
if (this.config) {
|
@@ -111,8 +112,8 @@ class Bot extends BotConfigGetable {
|
|
111
112
|
// 创建会话
|
112
113
|
const sessionKey = this.config.sessionKey = await _verify({ baseUrl, verifyKey });
|
113
114
|
|
114
|
-
// 绑定到一个 qq
|
115
|
-
await _bind({ baseUrl, sessionKey, qq });
|
115
|
+
// 绑定到一个 qq, 若开启了 singleMode 则需要跳过绑定
|
116
|
+
!singleMode && await _bind({ baseUrl, sessionKey, qq });
|
116
117
|
|
117
118
|
// 配置服务端 websocket 状态
|
118
119
|
// await _setSessionConfig({ baseUrl, sessionKey, enableWebsocket: true });
|
package/src/Message.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// Message 通过实现 MessageChaingetable 与 Bot.sendMessage 通信
|
2
2
|
// 消息链元素类型和图片 id 类型
|
3
|
-
import { MessageChainGetable, MessageType, ImageId } from './BaseType';
|
3
|
+
import { MessageChainGetable, MessageType, ImageId, FaceType } from './BaseType';
|
4
4
|
|
5
5
|
// Bot.sendMessage 的 message 参数是一个 Message 类型的实例
|
6
6
|
// 方法内部通过 getMessageChainable 接口的 getMessageChain 方法拿到消息链
|
@@ -36,9 +36,12 @@ export class Message implements MessageChainGetable {
|
|
36
36
|
// json
|
37
37
|
addJson(json: string): Message;
|
38
38
|
|
39
|
-
//
|
39
|
+
// app
|
40
40
|
addApp(content: string): Message;
|
41
41
|
|
42
|
+
// face
|
43
|
+
addFace(name: FaceType): Message;
|
44
|
+
|
42
45
|
// implements MessageChainGetable
|
43
46
|
getMessageChain(): MessageType[];
|
44
47
|
}
|
package/src/Message.js
CHANGED
@@ -98,9 +98,76 @@ class App extends MessageType {
|
|
98
98
|
}
|
99
99
|
}
|
100
100
|
|
101
|
+
const faceMap = new Map([
|
102
|
+
['惊讶', 0], ['撇嘴', 1], ['色', 2], ['发呆', 3], ['得意', 4],
|
103
|
+
['流泪', 5], ['害羞', 6], ['闭嘴', 7], ['睡', 8], ['大哭', 9],
|
104
|
+
['尴尬', 10], ['发怒', 11], ['调皮', 12], ['呲牙', 13], ['微笑', 14],
|
105
|
+
['难过', 15], ['酷', 16], ['抓狂', 18], ['吐', 19], ['偷笑', 20],
|
106
|
+
['可爱', 21], ['白眼', 22], ['傲慢', 23], ['饥饿', 24], ['困', 25],
|
107
|
+
['惊恐', 26], ['流汗', 27], ['憨笑', 28], ['悠闲', 29], ['奋斗', 30],
|
108
|
+
['咒骂', 31], ['疑问', 32], ['嘘', 33], ['晕', 34], ['折磨', 35],
|
109
|
+
['衰', 36], ['骷髅', 37], ['敲打', 38], ['再见', 39], ['发抖', 41],
|
110
|
+
['爱情', 42], ['跳跳', 43], ['猪头', 46], ['拥抱', 49], ['蛋糕', 53],
|
111
|
+
['闪电', 54], ['炸弹', 55], ['刀', 56], ['足球', 57], ['便便', 59],
|
112
|
+
['咖啡', 60], ['饭', 61], ['玫瑰', 63], ['凋谢', 64], ['爱心', 66],
|
113
|
+
['心碎', 67], ['礼物', 69], ['太阳', 74], ['月亮', 75], ['赞', 76],
|
114
|
+
['踩', 77], ['握手', 78], ['胜利', 79], ['飞吻', 85], ['怄火', 86],
|
115
|
+
['西瓜', 89], ['冷汗', 96], ['擦汗', 97], ['抠鼻', 98], ['鼓掌', 99],
|
116
|
+
['糗大了', 100], ['坏笑', 101], ['左哼哼', 102], ['右哼哼', 103], ['哈欠', 104],
|
117
|
+
['鄙视', 105], ['委屈', 106], ['快哭了', 107], ['阴险', 108], ['左亲亲', 109],
|
118
|
+
['吓', 110], ['可怜', 111], ['菜刀', 112], ['啤酒', 113], ['篮球', 114],
|
119
|
+
['乒乓', 115], ['示爱', 116], ['瓢虫', 117], ['抱拳', 118], ['勾引', 119],
|
120
|
+
['拳头', 120], ['差劲', 121], ['爱你', 122], ['不', 123], ['好', 124],
|
121
|
+
['转圈', 125], ['磕头', 126], ['回头', 127], ['跳绳', 128], ['挥手', 129],
|
122
|
+
['激动', 130], ['街舞', 131], ['献吻', 132], ['左太极', 133], ['右太极', 134],
|
123
|
+
['双喜', 136], ['鞭炮', 137], ['灯笼', 138], ['K歌', 140], ['喝彩', 144],
|
124
|
+
['祈祷', 145], ['爆筋', 146], ['棒棒糖', 147], ['喝奶', 148], ['飞机', 151],
|
125
|
+
['钞票', 158], ['药', 168], ['手枪', 169], ['茶', 171], ['眨眼睛', 172],
|
126
|
+
['泪奔', 173], ['无奈', 174], ['卖萌', 175], ['小纠结', 176], ['喷血', 177],
|
127
|
+
['斜眼笑', 178], ['doge', 179], ['惊喜', 180], ['骚扰', 181], ['笑哭', 182],
|
128
|
+
['我最美', 183], ['河蟹', 184], ['羊驼', 185], ['幽灵', 187], ['蛋', 188],
|
129
|
+
['菊花', 190], ['红包', 192], ['大笑', 193], ['不开心', 194], ['冷漠', 197],
|
130
|
+
['呃', 198], ['好棒', 199], ['拜托', 200], ['点赞', 201], ['无聊', 202],
|
131
|
+
['托脸', 203], ['吃', 204], ['送花', 205], ['害怕', 206], ['花痴', 207],
|
132
|
+
['小样儿', 208], ['飙泪', 210], ['我不看', 211], ['托腮', 212], ['啵啵', 214],
|
133
|
+
['糊脸', 215], ['拍头', 216], ['扯一扯', 217], ['舔一舔', 218], ['蹭一蹭', 219],
|
134
|
+
['拽炸天', 220], ['顶呱呱', 221], ['抱抱', 222], ['暴击', 223], ['开枪', 224],
|
135
|
+
['撩一撩', 225], ['拍桌', 226], ['拍手', 227], ['恭喜', 228], ['干杯', 229],
|
136
|
+
['嘲讽', 230], ['哼', 231], ['佛系', 232], ['掐一掐', 233], ['惊呆', 234],
|
137
|
+
['颤抖', 235], ['啃头', 236], ['偷看', 237], ['扇脸', 238], ['原谅', 239],
|
138
|
+
['喷脸', 240], ['生日快乐', 241], ['头撞击', 242], ['甩头', 243], ['扔狗', 244],
|
139
|
+
['加油必胜', 245], ['加油抱抱', 246], ['口罩护体', 247], ['搬砖中', 260], ['忙到飞起', 261],
|
140
|
+
['脑阔疼', 262], ['沧桑', 263], ['捂脸', 264], ['辣眼睛', 265], ['哦哟', 266],
|
141
|
+
['头秃', 267], ['问号脸', 268], ['暗中观察', 269], ['emm', 270], ['吃瓜', 271],
|
142
|
+
['呵呵哒', 272], ['我酸了', 273], ['太南了', 274], ['辣椒酱', 276], ['汪汪', 277],
|
143
|
+
['汗', 278], ['打脸', 279], ['击掌', 280], ['无眼笑', 281], ['敬礼', 282],
|
144
|
+
['狂笑', 283], ['面无表情', 284], ['摸鱼', 285], ['魔鬼笑', 286], ['哦', 287],
|
145
|
+
['请', 288], ['睁眼', 289], ['敲开心', 290], ['震惊', 291], ['让我康康', 292],
|
146
|
+
['摸锦鲤', 293], ['期待', 294], ['拿到红包', 295], ['真好', 296], ['拜谢', 297],
|
147
|
+
['元宝', 298], ['牛啊', 299], ['胖三斤', 300], ['好闪', 301], ['左拜年', 302],
|
148
|
+
['右拜年', 303], ['红包包', 304], ['右亲亲', 305], ['牛气冲天', 306], ['喵喵', 307],
|
149
|
+
['求红包', 308], ['谢红包', 309], ['新年烟花', 310], ['打call', 311], ['变形', 312],
|
150
|
+
['嗑到了', 313], ['仔细分析', 314], ['加油', 315], ['我没事', 316], ['菜狗', 317],
|
151
|
+
['崇拜', 318], ['比心', 319], ['庆祝', 320], ['老色痞', 321], ['拒绝', 322],
|
152
|
+
['嫌弃', 323], ['吃糖', 324]
|
153
|
+
]);
|
154
|
+
|
155
|
+
class Face extends MessageType {
|
156
|
+
constructor({
|
157
|
+
faceId,
|
158
|
+
name
|
159
|
+
}) {
|
160
|
+
super({
|
161
|
+
type: 'Face'
|
162
|
+
});
|
163
|
+
this.faceId = faceId;
|
164
|
+
this.name = name;
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
101
168
|
|
102
169
|
/**
|
103
|
-
* @description
|
170
|
+
* @description 本框架抽象的消息类型
|
104
171
|
*/
|
105
172
|
class Message extends MessageChainGetable {
|
106
173
|
constructor() {
|
@@ -188,6 +255,17 @@ class Message extends MessageChainGetable {
|
|
188
255
|
return this;
|
189
256
|
}
|
190
257
|
|
258
|
+
// face
|
259
|
+
addFace(name) {
|
260
|
+
const idx = faceMap.get(name);
|
261
|
+
if (idx) {
|
262
|
+
this.messageChain.push(new Face(
|
263
|
+
{ faceId: idx, name }
|
264
|
+
));
|
265
|
+
}
|
266
|
+
return this;
|
267
|
+
}
|
268
|
+
|
191
269
|
// get 原接口格式的信息链
|
192
270
|
getMessageChain() {
|
193
271
|
return this.messageChain;
|
package/src/Middleware.js
CHANGED
@@ -640,7 +640,7 @@ class Middleware {
|
|
640
640
|
return new Promise(resolve => {
|
641
641
|
// 从右侧递归合并中间件链
|
642
642
|
this.middleware.reduceRight((next, middleware) => {
|
643
|
-
return async () => await middleware(data, next);
|
643
|
+
return async () => resolve(await middleware(data, next));
|
644
644
|
}, async () => {
|
645
645
|
// 最深层递归,即开发者提供的回调函数
|
646
646
|
let returnVal = callback instanceof Function ? (await callback(data)) : undefined;
|
File without changes
|