mirai-js 2.3.0 → 2.4.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.
Files changed (104) hide show
  1. package/README.md +17 -283
  2. package/demo.js +13 -17
  3. package/dist/browser/mirai-js.js +1 -1
  4. package/dist/node/BaseType.d.ts +3 -0
  5. package/dist/node/Bot.d.ts +79 -4
  6. package/dist/node/Bot.js +171 -4
  7. package/dist/node/core/anno/deleteAnno.js +67 -0
  8. package/dist/node/core/anno/getAnno.js +70 -0
  9. package/dist/node/core/anno/publishAnno.js +70 -0
  10. package/dist/node/core/auth.js +3 -9
  11. package/dist/node/core/fs/deleteGroupFile.js +3 -9
  12. package/dist/node/core/fs/getGroupFileInfo.js +3 -9
  13. package/dist/node/core/fs/getGroupFileList.js +3 -9
  14. package/dist/node/core/fs/makeGroupDir.js +3 -9
  15. package/dist/node/core/fs/moveGroupFile.js +3 -9
  16. package/dist/node/core/fs/renameGroupFile.js +3 -9
  17. package/dist/node/core/fs/uploadGroupFIle.js +3 -9
  18. package/dist/node/core/getFriendList.js +3 -9
  19. package/dist/node/core/getGroupConfig.js +3 -9
  20. package/dist/node/core/getGroupList.js +3 -9
  21. package/dist/node/core/getMemberInfo.js +7 -17
  22. package/dist/node/core/getMemberList.js +3 -9
  23. package/dist/node/core/getSessionConfig.js +3 -9
  24. package/dist/node/core/getUserProfile.js +78 -0
  25. package/dist/node/core/mute.js +3 -9
  26. package/dist/node/core/muteAll.js +3 -9
  27. package/dist/node/core/quitGroup.js +3 -9
  28. package/dist/node/core/recall.js +3 -9
  29. package/dist/node/core/releaseSession.js +3 -9
  30. package/dist/node/core/removeFriend.js +3 -9
  31. package/dist/node/core/removeMember.js +3 -9
  32. package/dist/node/core/responseBotInvitedJoinGroupRequest.js +3 -9
  33. package/dist/node/core/responseFirendRequest.js +3 -9
  34. package/dist/node/core/responseMemberJoinRequest.js +3 -9
  35. package/dist/node/core/sendCommand.js +3 -9
  36. package/dist/node/core/sendFirendMessage.js +3 -9
  37. package/dist/node/core/sendGroupMessage.js +3 -9
  38. package/dist/node/core/sendNudge.js +3 -9
  39. package/dist/node/core/sendTempMessage.js +3 -9
  40. package/dist/node/core/setEssence.js +3 -9
  41. package/dist/node/core/setGroupConfig.js +3 -9
  42. package/dist/node/core/setMemberAdmin.js +3 -9
  43. package/dist/node/core/setMemberInfo.js +3 -9
  44. package/dist/node/core/setSessionConfig.js +3 -9
  45. package/dist/node/core/startListeningBrowser.js +3 -8
  46. package/dist/node/core/startListeningNode.js +3 -9
  47. package/dist/node/core/unmute.js +3 -9
  48. package/dist/node/core/unmuteAll.js +3 -9
  49. package/dist/node/core/uploadImage.js +3 -9
  50. package/dist/node/core/uploadVoice.js +3 -9
  51. package/dist/node/core/verify.js +3 -9
  52. package/dist/node/polyfill/URL.js +5 -0
  53. package/dist/node/polyfill/wsListener.js +6 -0
  54. package/package.json +1 -1
  55. package/src/BaseType.d.ts +3 -0
  56. package/src/Bot.d.ts +79 -4
  57. package/src/Bot.js +107 -3
  58. package/src/core/anno/deleteAnno.js +42 -0
  59. package/src/core/anno/getAnno.js +43 -0
  60. package/src/core/anno/publishAnno.js +43 -0
  61. package/src/core/auth.js +1 -6
  62. package/src/core/fs/deleteGroupFile.js +1 -6
  63. package/src/core/fs/getGroupFileInfo.js +1 -6
  64. package/src/core/fs/getGroupFileList.js +1 -6
  65. package/src/core/fs/makeGroupDir.js +1 -6
  66. package/src/core/fs/moveGroupFile.js +1 -6
  67. package/src/core/fs/renameGroupFile.js +1 -6
  68. package/src/core/fs/uploadGroupFIle.js +1 -6
  69. package/src/core/getFriendList.js +1 -6
  70. package/src/core/getGroupConfig.js +1 -6
  71. package/src/core/getGroupList.js +1 -6
  72. package/src/core/getMemberInfo.js +4 -9
  73. package/src/core/getMemberList.js +1 -6
  74. package/src/core/getSessionConfig.js +1 -6
  75. package/src/core/getUserProfile.js +39 -0
  76. package/src/core/mute.js +1 -6
  77. package/src/core/muteAll.js +1 -6
  78. package/src/core/quitGroup.js +1 -6
  79. package/src/core/recall.js +1 -6
  80. package/src/core/releaseSession.js +1 -6
  81. package/src/core/removeFriend.js +1 -6
  82. package/src/core/removeMember.js +1 -6
  83. package/src/core/responseBotInvitedJoinGroupRequest.js +1 -6
  84. package/src/core/responseFirendRequest.js +1 -6
  85. package/src/core/responseMemberJoinRequest.js +1 -6
  86. package/src/core/sendCommand.js +1 -6
  87. package/src/core/sendFirendMessage.js +1 -6
  88. package/src/core/sendGroupMessage.js +1 -6
  89. package/src/core/sendNudge.js +1 -6
  90. package/src/core/sendTempMessage.js +1 -6
  91. package/src/core/setEssence.js +1 -6
  92. package/src/core/setGroupConfig.js +1 -6
  93. package/src/core/setMemberAdmin.js +1 -6
  94. package/src/core/setMemberInfo.js +1 -6
  95. package/src/core/setSessionConfig.js +1 -6
  96. package/src/core/startListeningBrowser.js +1 -6
  97. package/src/core/startListeningNode.js +1 -6
  98. package/src/core/unmute.js +1 -6
  99. package/src/core/unmuteAll.js +1 -6
  100. package/src/core/uploadImage.js +1 -6
  101. package/src/core/uploadVoice.js +1 -6
  102. package/src/core/verify.js +1 -6
  103. package/src/polyfill/URL.js +3 -0
  104. package/src/polyfill/wsListener.js +4 -0
package/dist/node/Bot.js CHANGED
@@ -33,10 +33,18 @@ const _getMemberList = require('./core/getMemberList');
33
33
 
34
34
  const _getMemberInfo = require('./core/getMemberInfo');
35
35
 
36
+ const _getUserProfile = require('./core/getUserProfile');
37
+
36
38
  const _setMemberInfo = require('./core/setMemberInfo');
37
39
 
38
40
  const _setMemberAdmin = require('./core/setMemberAdmin');
39
41
 
42
+ const _getAnnoList = require('./core/anno/getAnno');
43
+
44
+ const _publishAnno = require('./core/anno/publishAnno');
45
+
46
+ const _deleteAnno = require('./core/anno/deleteAnno');
47
+
40
48
  const _recall = require('./core/recall');
41
49
 
42
50
  const _mute = require('./core/mute');
@@ -59,9 +67,10 @@ const _setGroupConfig = require('./core/setGroupConfig');
59
67
 
60
68
  const _setEssence = require('./core/setEssence');
61
69
 
62
- const _startListening = process.browser ? require('./core/startListeningBrowser') : require('./core/startListeningNode');
63
-
64
- const _stopListening = process.browser ? require('./core/stopListeningBrowser') : require('./core/stopListeningNode'); // 其他
70
+ const {
71
+ wsStartListening: _startListening,
72
+ wsStopListening: _stopListening
73
+ } = require('./polyfill/wsListener'); // 其他
65
74
 
66
75
 
67
76
  const random = require('./util/random')(0, 2E16);
@@ -914,7 +923,7 @@ class Bot extends BotConfigGetable {
914
923
  * @description 获取群成员信息
915
924
  * @param {number} group 必选,群成员所在群号
916
925
  * @param {number} qq 必选,群成员的 qq 号
917
- * @returns {Object[]} 结构 { name, title } 群名片和群头衔
926
+ * @returns {Object}
918
927
  */
919
928
 
920
929
 
@@ -951,6 +960,36 @@ class Bot extends BotConfigGetable {
951
960
  delete memberInfo.specialTitle;
952
961
  return memberInfo;
953
962
  }
963
+ /**
964
+ * @description 获取群成员信息
965
+ * @param {number} qq 必选,用户的 qq 号
966
+ * @returns {Object} 结构 { nickname, email, age, level, sign, sex }
967
+ */
968
+
969
+
970
+ async getUserProfile({
971
+ qq
972
+ }) {
973
+ // 检查对象状态
974
+ if (!this.config) {
975
+ throw new Error('getUserProfile 请先调用 open,建立一个会话');
976
+ } // 检查参数
977
+
978
+
979
+ if (!qq) {
980
+ throw new Error('getUserProfile 缺少必要的 qq 参数');
981
+ }
982
+
983
+ const {
984
+ baseUrl,
985
+ sessionKey
986
+ } = this.config;
987
+ return await _getUserProfile({
988
+ baseUrl,
989
+ sessionKey,
990
+ target: qq
991
+ });
992
+ }
954
993
  /**
955
994
  * @description 设置群成员信息
956
995
  * @param {number} group 必选,群成员所在群号
@@ -1015,6 +1054,134 @@ class Bot extends BotConfigGetable {
1015
1054
  });
1016
1055
  }
1017
1056
  }
1057
+ /**
1058
+ * @description 获取群公告列表迭代器
1059
+ * @param {number} group 必选,群号
1060
+ * @returns 迭代器
1061
+ */
1062
+
1063
+
1064
+ async *getAnnoIter({
1065
+ group
1066
+ }) {
1067
+ // 检查对象状态
1068
+ if (!this.config) {
1069
+ throw new Error('getAnno 请先调用 open,建立一个会话');
1070
+ } // 检查参数
1071
+
1072
+
1073
+ if (!group) {
1074
+ throw new Error('getAnno 缺少必要的 group 参数');
1075
+ } // 获取列表
1076
+
1077
+
1078
+ const {
1079
+ baseUrl,
1080
+ sessionKey
1081
+ } = this.config;
1082
+ let offset = 0;
1083
+ let annoList = await _getAnnoList({
1084
+ baseUrl,
1085
+ sessionKey,
1086
+ id: group,
1087
+ offset,
1088
+ size: 10
1089
+ });
1090
+
1091
+ while (annoList.length > 0) {
1092
+ for (const anno of annoList) {
1093
+ yield anno;
1094
+ } // 获取下一页
1095
+
1096
+
1097
+ offset += 10;
1098
+ annoList = await _getAnnoList({
1099
+ baseUrl,
1100
+ sessionKey,
1101
+ id: group,
1102
+ offset,
1103
+ size: 10
1104
+ });
1105
+ }
1106
+
1107
+ return;
1108
+ }
1109
+ /**
1110
+ * @description 发布群公告
1111
+ * @param {number} group 必选,群号
1112
+ * @param {string} content 必选,公告内容
1113
+ * @returns {void}
1114
+ */
1115
+
1116
+
1117
+ async publishAnno({
1118
+ group,
1119
+ content,
1120
+ pinned
1121
+ }) {
1122
+ // 检查对象状态
1123
+ if (!this.config) {
1124
+ throw new Error('publishAllo 请先调用 open,建立一个会话');
1125
+ } // 检查参数
1126
+
1127
+
1128
+ if (!group || !content) {
1129
+ throw new Error(`publishAllo 缺少必要的 ${getInvalidParamsString({
1130
+ group,
1131
+ content
1132
+ })} 参数`);
1133
+ } // 发布公告
1134
+
1135
+
1136
+ const {
1137
+ baseUrl,
1138
+ sessionKey
1139
+ } = this.config;
1140
+ await _publishAnno({
1141
+ baseUrl,
1142
+ sessionKey,
1143
+ target: group,
1144
+ content,
1145
+ pinned
1146
+ });
1147
+ }
1148
+ /**
1149
+ * @description 删除群公告
1150
+ * @param {number} group 必选,群号
1151
+ * @param {string} fid 必选,公告 id
1152
+ * @reaturns {void}
1153
+ */
1154
+
1155
+
1156
+ async deleteAnno({
1157
+ group,
1158
+ fid
1159
+ }) {
1160
+ // 检查对象状态
1161
+ if (!this.config) {
1162
+ throw new Error('deleteAnno 请先调用 open,建立一个会话');
1163
+ } // 检查参数
1164
+
1165
+
1166
+ if (!group || !fid) {
1167
+ throw new Error(`deleteAnno 缺少必要的 ${getInvalidParamsString({
1168
+ group,
1169
+ fid
1170
+ })} 参数`);
1171
+ } // 发布公告
1172
+
1173
+
1174
+ const {
1175
+ baseUrl,
1176
+ sessionKey
1177
+ } = this.config;
1178
+ await _deleteAnno({
1179
+ baseUrl,
1180
+ sessionKey,
1181
+ id: group,
1182
+ fid
1183
+ });
1184
+ }
1018
1185
  /**
1019
1186
  * @description 禁言群成员
1020
1187
  * @param {number} group 必选,欲禁言成员所在群号
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ const {
4
+ errCodeMap
5
+ } = require('../../util/errCode');
6
+
7
+ const axios = require('axios');
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 删除群公告
20
+ * @param {string} baseUrl mirai-api-http server 的地址
21
+ * @param {string} sessionKey 会话标识
22
+ * @param {number} id 群号
23
+ * @param {string} fid 公告 id
24
+ * @returns {Object} { code, msg }
25
+ */
26
+
27
+ module.exports = async ({
28
+ baseUrl,
29
+ sessionKey,
30
+ id,
31
+ fid
32
+ }) => {
33
+ try {
34
+ // 拼接 url
35
+ const url = new URL('/anno/delete', baseUrl).toString(); // 请求
36
+
37
+ const responseData = await axios.post(url, {
38
+ sessionKey,
39
+ id,
40
+ fid
41
+ });
42
+
43
+ try {
44
+ var {
45
+ data: {
46
+ msg: message,
47
+ code
48
+ }
49
+ } = responseData;
50
+ } catch (error) {
51
+ throw new Error('请求返回格式出错,请检查 mirai-console');
52
+ } // 抛出 mirai 的异常,到 catch 中处理后再抛出
53
+
54
+
55
+ if (code in errCodeMap) {
56
+ throw new Error(message);
57
+ }
58
+
59
+ return {
60
+ message,
61
+ code
62
+ };
63
+ } catch (error) {
64
+ console.error(`mirai-js: error ${locationStr}`);
65
+ errorHandler(error);
66
+ }
67
+ };
@@ -0,0 +1,70 @@
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 获取群公告
20
+ * @param {string} baseUrl mirai-api-http server 的地址
21
+ * @param {string} sessionKey 会话标识
22
+ * @param {number} id 群号
23
+ * @param {number} offset 分页
24
+ * @param {number} size 分页, 默认 10
25
+ * @returns {Object[]}
26
+ */
27
+
28
+ module.exports = async ({
29
+ baseUrl,
30
+ sessionKey,
31
+ id,
32
+ offset,
33
+ size = 10
34
+ }) => {
35
+ try {
36
+ // 拼接 url
37
+ const url = new URL('/anno/list', baseUrl).toString(); // 请求
38
+
39
+ const responseData = await axios.get(url, {
40
+ params: {
41
+ sessionKey,
42
+ id,
43
+ offset,
44
+ size
45
+ }
46
+ });
47
+
48
+ try {
49
+ var {
50
+ data: {
51
+ msg: message,
52
+ code,
53
+ data
54
+ }
55
+ } = responseData;
56
+ } catch (error) {
57
+ throw new Error('请求返回格式出错,请检查 mirai-console');
58
+ } // 抛出 mirai 的异常,到 catch 中处理后再抛出
59
+
60
+
61
+ if (code in errCodeMap) {
62
+ throw new Error(message);
63
+ }
64
+
65
+ return data;
66
+ } catch (error) {
67
+ console.error(`mirai-js: error ${locationStr}`);
68
+ errorHandler(error);
69
+ }
70
+ };
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ const {
4
+ errCodeMap
5
+ } = require('../../util/errCode');
6
+
7
+ const axios = require('axios');
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 发布群公告
20
+ * @param {string} baseUrl mirai-api-http server 的地址
21
+ * @param {string} sessionKey 会话标识
22
+ * @param {number} target 群号
23
+ * @param {string} content 公告内容
24
+ * @param {boolean} pinned 是否置顶
25
+ * @returns {Object} { code, msg }
26
+ */
27
+
28
+ module.exports = async ({
29
+ baseUrl,
30
+ sessionKey,
31
+ target,
32
+ content,
33
+ pinned
34
+ }) => {
35
+ try {
36
+ // 拼接 url
37
+ const url = new URL('/anno/publish', baseUrl).toString(); // 请求
38
+
39
+ const responseData = await axios.post(url, {
40
+ sessionKey,
41
+ target,
42
+ content,
43
+ pinned
44
+ });
45
+
46
+ try {
47
+ var {
48
+ data: {
49
+ msg: message,
50
+ code
51
+ }
52
+ } = responseData;
53
+ } catch (error) {
54
+ throw new Error('请求返回格式出错,请检查 mirai-console');
55
+ } // 抛出 mirai 的异常,到 catch 中处理后再抛出
56
+
57
+
58
+ if (code in errCodeMap) {
59
+ throw new Error(message);
60
+ }
61
+
62
+ return {
63
+ message,
64
+ code
65
+ };
66
+ } catch (error) {
67
+ console.error(`mirai-js: error ${locationStr}`);
68
+ errorHandler(error);
69
+ }
70
+ };
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios');
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios');
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios').default;
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios').default;
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios');
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios');
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios');
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios').default;
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios').default;
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios').default;
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios').default;
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../util/errorHandler');
20
14
 
@@ -6,15 +6,9 @@ const {
6
6
 
7
7
  const axios = require('axios');
8
8
 
9
- let URL;
10
-
11
- if (!process.browser) {
12
- ({
13
- URL
14
- } = require('url'));
15
- } else {
16
- URL = window.URL;
17
- }
9
+ const {
10
+ URL
11
+ } = require('../polyfill/URL');
18
12
 
19
13
  const errorHandler = require('../util/errorHandler');
20
14
 
@@ -27,7 +21,7 @@ const locationStr = `core.${path.basename(__filename, path.extname(__filename))}
27
21
  * @param {string} sessionKey 会话标识
28
22
  * @param {number} target 群成员所在群号
29
23
  * @param {number} memberId 群成员的 qq 号
30
- * @returns {Object} 结构 { name, specialTitle } 群名片和群头衔
24
+ * @returns {Object}
31
25
  */
32
26
 
33
27
  module.exports = async ({
@@ -50,11 +44,10 @@ module.exports = async ({
50
44
 
51
45
  try {
52
46
  var {
47
+ data,
53
48
  data: {
54
49
  msg: message,
55
- code,
56
- name,
57
- specialTitle
50
+ code
58
51
  }
59
52
  } = responseData;
60
53
  } catch (error) {
@@ -66,10 +59,7 @@ module.exports = async ({
66
59
  throw new Error(message);
67
60
  }
68
61
 
69
- return {
70
- name,
71
- specialTitle
72
- };
62
+ return data;
73
63
  } catch (error) {
74
64
  console.error(`mirai-js: error ${locationStr}`);
75
65
  errorHandler(error);