mirai-js 2.1.0 → 2.2.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/.eslintrc.json +45 -45
- package/.github/FUNDING.yml +12 -12
- package/.github/dependabot.yml +14 -14
- package/.github/workflows/codeql-analysis.yml +70 -0
- package/.husky/pre-commit +5 -5
- package/LICENSE +661 -661
- package/demo.js +56 -76
- package/dist/browser/mirai-js.js +1 -1
- package/dist/node/Bot.js +8 -8
- package/dist/node/Middleware.js +90 -16
- package/docs/checkDocShouldBuild.sh +4 -4
- package/package.json +51 -51
- package/src/Middleware.js +51 -3
package/dist/node/Middleware.js
CHANGED
@@ -640,26 +640,100 @@ class Middleware {
|
|
640
640
|
throw new Error('Middleware.syncWrapper 消息格式出错');
|
641
641
|
}
|
642
642
|
|
643
|
-
|
644
|
-
|
645
|
-
var _data$bot, _data$bot$waiter;
|
643
|
+
const watiForMessageChain = async qq => {
|
644
|
+
var _qq, _data$sender17;
|
646
645
|
|
647
|
-
|
648
|
-
messageChain
|
649
|
-
}) => messageChain);
|
650
|
-
},
|
651
|
-
text: () => {
|
652
|
-
var _data$bot2, _data$bot2$waiter;
|
646
|
+
qq = (_qq = qq) !== null && _qq !== void 0 ? _qq : data === null || data === void 0 ? void 0 : (_data$sender17 = data.sender) === null || _data$sender17 === void 0 ? void 0 : _data$sender17.id;
|
653
647
|
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
var _data$
|
648
|
+
if (qq == undefined) {
|
649
|
+
throw new Error('Middleware.syncWrapper 消息格式出错');
|
650
|
+
}
|
651
|
+
|
652
|
+
do {
|
653
|
+
var _await$data$bot$waite, _data$bot, _data$bot$waiter;
|
654
|
+
|
655
|
+
var {
|
656
|
+
messageChain,
|
657
|
+
id
|
658
|
+
} = (_await$data$bot$waite = await ((_data$bot = data.bot) === null || _data$bot === void 0 ? void 0 : (_data$bot$waiter = _data$bot.waiter) === null || _data$bot$waiter === void 0 ? void 0 : _data$bot$waiter.wait(data.type, ({
|
659
|
+
messageChain,
|
660
|
+
sender: {
|
661
|
+
id
|
662
|
+
}
|
663
|
+
}) => ({
|
664
|
+
messageChain,
|
665
|
+
id
|
666
|
+
})))) !== null && _await$data$bot$waite !== void 0 ? _await$data$bot$waite : {};
|
667
|
+
} while (qq != id);
|
668
|
+
|
669
|
+
return messageChain;
|
670
|
+
};
|
671
|
+
|
672
|
+
const waitForText = async qq => {
|
673
|
+
var _qq2, _data$sender18;
|
674
|
+
|
675
|
+
qq = (_qq2 = qq) !== null && _qq2 !== void 0 ? _qq2 : data === null || data === void 0 ? void 0 : (_data$sender18 = data.sender) === null || _data$sender18 === void 0 ? void 0 : _data$sender18.id;
|
676
|
+
|
677
|
+
if (qq == undefined) {
|
678
|
+
throw new Error('Middleware.syncWrapper 消息格式出错');
|
679
|
+
}
|
680
|
+
|
681
|
+
do {
|
682
|
+
var _await$data$bot$waite2, _data$bot2, _data$bot2$waiter;
|
683
|
+
|
684
|
+
var {
|
685
|
+
text,
|
686
|
+
id
|
687
|
+
} = (_await$data$bot$waite2 = await ((_data$bot2 = data.bot) === null || _data$bot2 === void 0 ? void 0 : (_data$bot2$waiter = _data$bot2.waiter) === null || _data$bot2$waiter === void 0 ? void 0 : _data$bot2$waiter.wait(data.type, new Middleware().textProcessor().done(({
|
688
|
+
text,
|
689
|
+
sender: {
|
690
|
+
id
|
691
|
+
}
|
692
|
+
}) => ({
|
693
|
+
text,
|
694
|
+
id
|
695
|
+
}))))) !== null && _await$data$bot$waite2 !== void 0 ? _await$data$bot$waite2 : {};
|
696
|
+
} while (qq != id);
|
697
|
+
|
698
|
+
return text;
|
699
|
+
};
|
700
|
+
|
701
|
+
const waitForCustom = async (qq, processor) => {
|
702
|
+
var _qq3, _data$sender19;
|
703
|
+
|
704
|
+
qq = (_qq3 = qq) !== null && _qq3 !== void 0 ? _qq3 : data === null || data === void 0 ? void 0 : (_data$sender19 = data.sender) === null || _data$sender19 === void 0 ? void 0 : _data$sender19.id;
|
660
705
|
|
661
|
-
|
706
|
+
if (qq == undefined) {
|
707
|
+
throw new Error('Middleware.syncWrapper 消息格式出错');
|
662
708
|
}
|
709
|
+
|
710
|
+
do {
|
711
|
+
var _data$sender20, _data$bot3, _data$bot3$waiter;
|
712
|
+
|
713
|
+
var data = await ((_data$bot3 = data.bot) === null || _data$bot3 === void 0 ? void 0 : (_data$bot3$waiter = _data$bot3.waiter) === null || _data$bot3$waiter === void 0 ? void 0 : _data$bot3$waiter.wait(data.type, new Middleware().textProcessor().done(data => data)));
|
714
|
+
} while (qq != (data === null || data === void 0 ? void 0 : (_data$sender20 = data.sender) === null || _data$sender20 === void 0 ? void 0 : _data$sender20.id));
|
715
|
+
|
716
|
+
return await processor(data);
|
717
|
+
};
|
718
|
+
|
719
|
+
data.waitFor = {
|
720
|
+
groupMember: (qq = undefined) => {
|
721
|
+
return {
|
722
|
+
messageChain: () => watiForMessageChain(qq),
|
723
|
+
text: () => waitForText(qq),
|
724
|
+
custom: processor => waitForCustom(qq, processor)
|
725
|
+
};
|
726
|
+
},
|
727
|
+
friend: qq => {
|
728
|
+
return {
|
729
|
+
messageChain: () => watiForMessageChain(qq),
|
730
|
+
text: () => waitForText(qq),
|
731
|
+
custom: processor => waitForCustom(qq, processor)
|
732
|
+
};
|
733
|
+
},
|
734
|
+
messageChain: () => watiForMessageChain(data.sender.id),
|
735
|
+
text: () => waitForText(data.sender.id),
|
736
|
+
custom: processor => waitForCustom(data.sender.id, processor)
|
663
737
|
};
|
664
738
|
await next();
|
665
739
|
} catch (error) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
echo "🛑 - Build cancelled"
|
4
|
-
exit 0;
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
echo "🛑 - Build cancelled"
|
4
|
+
exit 0;
|
package/package.json
CHANGED
@@ -1,52 +1,52 @@
|
|
1
|
-
{
|
2
|
-
"name": "mirai-js",
|
3
|
-
"version": "2.
|
4
|
-
"description": "QQ robot development framework based on Mirai-api-http.",
|
5
|
-
"main": "dist/node/index.js",
|
6
|
-
"scripts": {
|
7
|
-
"lint": "eslint --fix .",
|
8
|
-
"build": "webpack && babel src --out-dir dist/node --copy-files",
|
9
|
-
"prepare": "husky install"
|
10
|
-
},
|
11
|
-
"lint-staged": {
|
12
|
-
"*.js": "eslint --fix",
|
13
|
-
"*.ts": "eslint --fix"
|
14
|
-
},
|
15
|
-
"keywords": [
|
16
|
-
"mirai",
|
17
|
-
"api",
|
18
|
-
"http",
|
19
|
-
"robot"
|
20
|
-
],
|
21
|
-
"author": {
|
22
|
-
"email": "devgaolihai@foxmail.com",
|
23
|
-
"name": "gaolihai",
|
24
|
-
"url": "https://gaolihai.cool/note/"
|
25
|
-
},
|
26
|
-
"repository": {
|
27
|
-
"type": "git",
|
28
|
-
"url": "https://github.com/Drincann/Mirai-js"
|
29
|
-
},
|
30
|
-
"homepage": "https://drincann.github.io/Mirai-js/",
|
31
|
-
"license": "AGPL-3.0",
|
32
|
-
"dependencies": {
|
33
|
-
"axios": "^0.
|
34
|
-
"form-data": "^3.0.0",
|
35
|
-
"ws": "^7.4.2"
|
36
|
-
},
|
37
|
-
"devDependencies": {
|
38
|
-
"@babel/cli": "^7.13.14",
|
39
|
-
"@babel/core": "^7.13.14",
|
40
|
-
"@babel/preset-env": "^7.13.12",
|
41
|
-
"@typescript-eslint/eslint-plugin": "^4.
|
42
|
-
"@typescript-eslint/parser": "^
|
43
|
-
"eslint": "^
|
44
|
-
"husky": "^6.0.0",
|
45
|
-
"lint-staged": "^
|
46
|
-
"path-browserify": "^1.0.1",
|
47
|
-
"process": "^0.11.10",
|
48
|
-
"typescript": "^4.2.2",
|
49
|
-
"webpack": "^5.30.0",
|
50
|
-
"webpack-cli": "^4.6.0"
|
51
|
-
}
|
1
|
+
{
|
2
|
+
"name": "mirai-js",
|
3
|
+
"version": "2.2.0",
|
4
|
+
"description": "QQ robot development framework based on Mirai-api-http.",
|
5
|
+
"main": "dist/node/index.js",
|
6
|
+
"scripts": {
|
7
|
+
"lint": "eslint --fix .",
|
8
|
+
"build": "webpack && babel src --out-dir dist/node --copy-files",
|
9
|
+
"prepare": "husky install"
|
10
|
+
},
|
11
|
+
"lint-staged": {
|
12
|
+
"*.js": "eslint --fix",
|
13
|
+
"*.ts": "eslint --fix"
|
14
|
+
},
|
15
|
+
"keywords": [
|
16
|
+
"mirai",
|
17
|
+
"api",
|
18
|
+
"http",
|
19
|
+
"robot"
|
20
|
+
],
|
21
|
+
"author": {
|
22
|
+
"email": "devgaolihai@foxmail.com",
|
23
|
+
"name": "gaolihai",
|
24
|
+
"url": "https://gaolihai.cool/note/"
|
25
|
+
},
|
26
|
+
"repository": {
|
27
|
+
"type": "git",
|
28
|
+
"url": "https://github.com/Drincann/Mirai-js"
|
29
|
+
},
|
30
|
+
"homepage": "https://drincann.github.io/Mirai-js/",
|
31
|
+
"license": "AGPL-3.0",
|
32
|
+
"dependencies": {
|
33
|
+
"axios": "^0.24.0",
|
34
|
+
"form-data": "^3.0.0",
|
35
|
+
"ws": "^7.4.2"
|
36
|
+
},
|
37
|
+
"devDependencies": {
|
38
|
+
"@babel/cli": "^7.13.14",
|
39
|
+
"@babel/core": "^7.13.14",
|
40
|
+
"@babel/preset-env": "^7.13.12",
|
41
|
+
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
42
|
+
"@typescript-eslint/parser": "^5.5.0",
|
43
|
+
"eslint": "^8.2.0",
|
44
|
+
"husky": "^6.0.0",
|
45
|
+
"lint-staged": "^12.0.2",
|
46
|
+
"path-browserify": "^1.0.1",
|
47
|
+
"process": "^0.11.10",
|
48
|
+
"typescript": "^4.2.2",
|
49
|
+
"webpack": "^5.30.0",
|
50
|
+
"webpack-cli": "^4.6.0"
|
51
|
+
}
|
52
52
|
}
|
package/src/Middleware.js
CHANGED
@@ -534,10 +534,58 @@ class Middleware {
|
|
534
534
|
if (data.type != 'GroupMessage' && data.type != 'FriendMessage') {
|
535
535
|
throw new Error('Middleware.syncWrapper 消息格式出错');
|
536
536
|
}
|
537
|
+
const watiForMessageChain = async (qq) => {
|
538
|
+
qq = qq ?? data?.sender?.id;
|
539
|
+
if (qq == undefined) {
|
540
|
+
throw new Error('Middleware.syncWrapper 消息格式出错');
|
541
|
+
}
|
542
|
+
do {
|
543
|
+
var { messageChain, id } = await data.bot?.waiter?.wait(data.type, ({ messageChain, sender: { id } }) => ({ messageChain, id })) ?? {};
|
544
|
+
} while (qq != id);
|
545
|
+
|
546
|
+
return messageChain;
|
547
|
+
};
|
548
|
+
|
549
|
+
const waitForText = async (qq) => {
|
550
|
+
qq = qq ?? data?.sender?.id;
|
551
|
+
if (qq == undefined) {
|
552
|
+
throw new Error('Middleware.syncWrapper 消息格式出错');
|
553
|
+
}
|
554
|
+
do {
|
555
|
+
var { text, id } = await data.bot?.waiter?.wait(data.type, new Middleware().textProcessor().done(({ text, sender: { id } }) => ({ text, id }))) ?? {};
|
556
|
+
} while (qq != id);
|
557
|
+
return text;
|
558
|
+
};
|
559
|
+
|
560
|
+
const waitForCustom = async (qq, processor) => {
|
561
|
+
qq = qq ?? data?.sender?.id;
|
562
|
+
if (qq == undefined) {
|
563
|
+
throw new Error('Middleware.syncWrapper 消息格式出错');
|
564
|
+
}
|
565
|
+
do {
|
566
|
+
var data = await data.bot?.waiter?.wait(data.type, new Middleware().textProcessor().done((data) => data));
|
567
|
+
} while (qq != data?.sender?.id);
|
568
|
+
return await processor(data);
|
569
|
+
};
|
570
|
+
|
537
571
|
data.waitFor = {
|
538
|
-
|
539
|
-
|
540
|
-
|
572
|
+
groupMember: (qq = undefined) => {
|
573
|
+
return {
|
574
|
+
messageChain: () => watiForMessageChain(qq),
|
575
|
+
text: () => waitForText(qq),
|
576
|
+
custom: (processor) => waitForCustom(qq, processor),
|
577
|
+
};
|
578
|
+
},
|
579
|
+
friend: (qq) => {
|
580
|
+
return {
|
581
|
+
messageChain: () => watiForMessageChain(qq),
|
582
|
+
text: () => waitForText(qq),
|
583
|
+
custom: (processor) => waitForCustom(qq, processor),
|
584
|
+
};
|
585
|
+
},
|
586
|
+
messageChain: () => watiForMessageChain(data.sender.id),
|
587
|
+
text: () => waitForText(data.sender.id),
|
588
|
+
custom: (processor) => waitForCustom(data.sender.id, processor),
|
541
589
|
};
|
542
590
|
|
543
591
|
await next();
|