mirai-js 2.8.5 → 2.8.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. package/.fleet/run.json +5 -0
  2. package/dist/browser/mirai-js.js +1 -1
  3. package/dist/node/Bot.d.ts +2 -1
  4. package/dist/node/Bot.js +20 -6
  5. package/dist/node/borwserEntry.js +1 -1
  6. package/dist/node/core/recall.js +7 -1
  7. package/package.json +1 -1
  8. package/src/Bot.d.ts +2 -1
  9. package/src/Bot.js +10 -3
  10. package/src/borwserEntry.js +1 -1
  11. package/src/core/recall.js +7 -3
  12. package/1.mp3 +0 -0
  13. package/demo.ts +0 -29
  14. package/dist/node/lib/index.ts +0 -0
  15. package/index.ts +0 -38
  16. package/src/lib/index.ts +0 -0
  17. package/srcold/BaseType.d.ts +0 -419
  18. package/srcold/Bot.d.ts +0 -567
  19. package/srcold/Bot.js +0 -1208
  20. package/srcold/FileManager.js +0 -270
  21. package/srcold/Message.d.ts +0 -66
  22. package/srcold/Message.js +0 -314
  23. package/srcold/Middleware.d.ts +0 -170
  24. package/srcold/Middleware.js +0 -657
  25. package/srcold/Waiter.d.ts +0 -13
  26. package/srcold/Waiter.js +0 -24
  27. package/srcold/core/anno/deleteAnno.js +0 -43
  28. package/srcold/core/anno/getAnno.js +0 -44
  29. package/srcold/core/anno/publishAnno.js +0 -44
  30. package/srcold/core/auth.js +0 -40
  31. package/srcold/core/fs/deleteGroupFile.js +0 -45
  32. package/srcold/core/fs/getGroupFileInfo.js +0 -46
  33. package/srcold/core/fs/getGroupFileList.js +0 -47
  34. package/srcold/core/fs/makeGroupDir.js +0 -45
  35. package/srcold/core/fs/moveGroupFile.js +0 -47
  36. package/srcold/core/fs/renameGroupFile.js +0 -44
  37. package/srcold/core/fs/uploadGroupFIle.js +0 -58
  38. package/srcold/core/getFriendList.js +0 -37
  39. package/srcold/core/getGroupConfig.js +0 -37
  40. package/srcold/core/getGroupList.js +0 -37
  41. package/srcold/core/getMemberInfo.js +0 -41
  42. package/srcold/core/getMemberList.js +0 -49
  43. package/srcold/core/getSessionConfig.js +0 -39
  44. package/srcold/core/getUserProfile.js +0 -40
  45. package/srcold/core/messageFromId.js +0 -40
  46. package/srcold/core/mute.js +0 -41
  47. package/srcold/core/muteAll.js +0 -39
  48. package/srcold/core/quitGroup.js +0 -40
  49. package/srcold/core/recall.js +0 -39
  50. package/srcold/core/releaseSession.js +0 -41
  51. package/srcold/core/removeFriend.js +0 -40
  52. package/srcold/core/removeMember.js +0 -42
  53. package/srcold/core/responseBotInvitedJoinGroupRequest.js +0 -46
  54. package/srcold/core/responseFirendRequest.js +0 -45
  55. package/srcold/core/responseMemberJoinRequest.js +0 -47
  56. package/srcold/core/sendCommand.js +0 -41
  57. package/srcold/core/sendFriendMessage.js +0 -43
  58. package/srcold/core/sendGroupMessage.js +0 -43
  59. package/srcold/core/sendImageMessage.js +0 -4
  60. package/srcold/core/sendNudge.js +0 -43
  61. package/srcold/core/sendTempMessage.js +0 -55
  62. package/srcold/core/setEssence.js +0 -44
  63. package/srcold/core/setGroupConfig.js +0 -58
  64. package/srcold/core/setMemberAdmin.js +0 -44
  65. package/srcold/core/setMemberInfo.js +0 -48
  66. package/srcold/core/setSessionConfig.js +0 -41
  67. package/srcold/core/startListeningBrowser.js +0 -62
  68. package/srcold/core/startListeningNode.js +0 -74
  69. package/srcold/core/stopListeningBrowser.js +0 -34
  70. package/srcold/core/stopListeningNode.js +0 -34
  71. package/srcold/core/unmute.js +0 -40
  72. package/srcold/core/unmuteAll.js +0 -39
  73. package/srcold/core/uploadImage.js +0 -55
  74. package/srcold/core/uploadVoice.js +0 -54
  75. package/srcold/core/verify.js +0 -41
  76. package/srcold/index.d.ts +0 -10
  77. package/srcold/index.js +0 -21
  78. package/srcold/interface.js +0 -20
  79. package/srcold/polyfill/URL.js +0 -5
  80. package/srcold/polyfill/wsListener.js +0 -6
  81. package/srcold/typeHelpers.d.ts +0 -2
  82. package/srcold/util/errCode.js +0 -23
  83. package/srcold/util/errorHandler.js +0 -24
  84. package/srcold/util/getInvalidParamsString.js +0 -12
  85. package/srcold/util/isBrowserEnv.js +0 -3
  86. package/srcold/util/random.js +0 -6
@@ -1,39 +0,0 @@
1
- const { errCodeMap } = require('../util/errCode');
2
- const axios = require('axios').default;
3
- const { URL } = require('../polyfill/URL');
4
- const errorHandler = require('../util/errorHandler');
5
- const path = require('path');
6
- const { isBrowserEnv } = require('../util/isBrowserEnv');
7
- const locationStr = !isBrowserEnv() ? `core.${path.basename(__filename, path.extname(__filename))}` : 'borwser';
8
-
9
- /**
10
- * @description 解除全员禁言
11
- * @param {string} baseUrl mirai-api-http server 的主机地址
12
- * @param {string} sessionKey 会话标识
13
- * @param {number} target 欲解除全员禁言的群号
14
- * @returns {Object} 结构 { message, code }
15
- */
16
- module.exports = async ({ baseUrl, sessionKey, target }) => {
17
- try {
18
- // 拼接 URL
19
- const url = new URL('/unmuteAll', baseUrl).toString();
20
-
21
- // 请求
22
- const responseData = await axios.post(url, { sessionKey, target });
23
- try {
24
- var {
25
- data: { code, msg: message }
26
- } = responseData;
27
- } catch (error) {
28
- throw new Error(('请求返回格式出错,请检查 mirai-console'));
29
- }
30
- // 抛出 mirai 的异常,到 catch 中处理后再抛出
31
- if (code in errCodeMap) {
32
- throw new Error(message);
33
- }
34
- return { message, code };
35
- } catch (error) {
36
- console.error(`mirai-js: error ${locationStr}`);
37
- errorHandler(error);
38
- }
39
- };
@@ -1,55 +0,0 @@
1
- const { errCodeMap } = require('../util/errCode');
2
- const axios = require('axios').default;
3
- const { URL } = require('../polyfill/URL');
4
- const errorHandler = require('../util/errorHandler');
5
- const path = require('path');
6
- const { isBrowserEnv } = require('../util/isBrowserEnv');
7
- const locationStr = !isBrowserEnv() ? `core.${path.basename(__filename, path.extname(__filename))}` : 'borwser';
8
- const FormData = require('form-data');
9
-
10
-
11
- /**
12
- * @description 上传图片至服务器,返回指定 type 的 imageId,url,及 path
13
- * @param {string} baseUrl mirai-api-http server 的地址
14
- * @param {string} sessionKey 会话标识
15
- * @param {string} type "friend" 或 "group" 或 "temp"
16
- * @param {Buffer} img 图片二进制数据
17
- * @returns {Object} 结构 { imageId, url, path }
18
- */
19
- module.exports = async ({ baseUrl, sessionKey, type, img }) => {
20
- try {
21
- // 拼接 url
22
- const targetUrl = new URL('/uploadImage', baseUrl).toString();
23
-
24
- // 构造 fromdata
25
- const form = new FormData();
26
- form.append('sessionKey', sessionKey);
27
- form.append('type', type);
28
- // filename 指定了文件名
29
- form.append('img', img, { filename: 'img.jpg' });
30
-
31
- // 请求
32
- const responseData = await axios.post(targetUrl, form, {
33
- // formdata.getHeaders 将会指定 content-type,同时给定随
34
- // 机生成的 boundary,即分隔符,用以分隔多个表单项而不会造成混乱
35
- headers: form.getHeaders(),
36
- });
37
-
38
- try {
39
- var {
40
- data: { msg: message, code, imageId, url, path }
41
- } = responseData;
42
- } catch (error) {
43
- throw new Error(('请求返回格式出错,请检查 mirai-console'));
44
- }
45
-
46
- // 抛出 mirai 的异常,到 catch 中处理后再抛出
47
- if (code in errCodeMap) {
48
- throw new Error(message);
49
- }
50
- return { imageId, url, path };
51
- } catch (error) {
52
- console.error(`mirai-js: error ${locationStr}`);
53
- errorHandler(error);
54
- }
55
- };
@@ -1,54 +0,0 @@
1
- const { errCodeMap } = require('../util/errCode');
2
- const axios = require('axios').default;
3
- const { URL } = require('../polyfill/URL');
4
- const errorHandler = require('../util/errorHandler');
5
- const path = require('path');
6
- const { isBrowserEnv } = require('../util/isBrowserEnv');
7
- const locationStr = !isBrowserEnv() ? `core.${path.basename(__filename, path.extname(__filename))}` : 'borwser';
8
- const FormData = require('form-data');
9
-
10
-
11
- /**
12
- * FIXME: 目前该功能返回的 voiceId 无法正常使用,无法
13
- * 发送给好友,提示 message is empty,发到群里则是 1s 的无声语音
14
- * @description 上传语音至服务器,返回指定 type 的 imageId,url,及 path
15
- * @param {string} baseUrl mirai-api-http server 的地址
16
- * @param {string} sessionKey 会话标识
17
- * @param {string} type TODO: 目前服务端仅支持 "group"
18
- * @param {Buffer} voice 语音二进制数据
19
- * @returns {Object} 结构 { imageId, url, path }
20
- */
21
- module.exports = async ({ baseUrl, sessionKey, type, voice }) => {
22
- try {
23
- // 拼接 url
24
- const targetUrl = new URL('/uploadVoice', baseUrl).toString();
25
-
26
- // 构造 fromdata
27
- const form = new FormData();
28
- form.append('sessionKey', sessionKey);
29
- form.append('type', type);
30
- form.append('voice', voice, { filename: 'voice.slk' });
31
-
32
- // 请求
33
- const responseData = await axios.post(targetUrl, form, {
34
- // formdata.getHeaders 将会指定 content-type,同时给定随
35
- // 机生成的 boundary,即分隔符,用以分隔多个表单项而不会造成混乱
36
- headers: form.getHeaders(),
37
- });
38
- try {
39
- var {
40
- data: { msg: message, code, voiceId, url, path }
41
- } = responseData;
42
- } catch (error) {
43
- throw new Error(('请求返回格式出错,请检查 mirai-console'));
44
- }
45
- // 抛出 mirai 的异常,到 catch 中处理后再抛出
46
- if (code in errCodeMap) {
47
- throw new Error(message);
48
- }
49
- return { voiceId, url, path };
50
- } catch (error) {
51
- console.error(`mirai-js: error ${locationStr}`);
52
- errorHandler(error);
53
- }
54
- };
@@ -1,41 +0,0 @@
1
- const { errCodeMap } = require('../util/errCode');
2
- const axios = require('axios');
3
- const { URL } = require('../polyfill/URL');
4
- const errorHandler = require('../util/errorHandler');
5
- const path = require('path');
6
- const { isBrowserEnv } = require('../util/isBrowserEnv');
7
- const locationStr = !isBrowserEnv() ? `core.${path.basename(__filename, path.extname(__filename))}` : 'borwser';
8
-
9
- /**
10
- * @description 校验 sessionKey,将一个 session 绑定到指定的 qq 上
11
- * @param {string} baseUrl mirai-api-http server 的地址
12
- * @param {string} sessionKey 会话标识
13
- * @param {number} qq qq 号
14
- * @param {boolean} throwable 是否抛出已知的 mah 异常,用来在发生异常时获得返回值中的 mah 状态码
15
- * @returns {Object} 结构 { message, code }
16
- */
17
- module.exports = async ({ baseUrl, sessionKey, qq, throwable = true }) => {
18
- try {
19
- // 拼接 auth url
20
- const url = new URL('/bind', baseUrl).toString();
21
-
22
- // 请求
23
- const responseData = await axios.post(url, { sessionKey, qq });
24
- try {
25
- var {
26
- data: { msg: message, code },
27
- } = responseData;
28
- } catch (error) {
29
- throw new Error(('请求返回格式出错,请检查 mirai-console'));
30
- }
31
- // 抛出 mirai 的异常,到 catch 中处理后再抛出
32
- if (code in errCodeMap) {
33
- if (throwable) throw new Error(message);
34
- }
35
- return { message, code };
36
- } catch (error) {
37
- console.error(`mirai-js: error ${locationStr}`);
38
- errorHandler(error);
39
- }
40
-
41
- };
package/srcold/index.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { Bot, Bot as BotType } from './Bot';
2
- import { Message, Message as MessageType } from './Message';
3
- import { Middleware, Middleware as MiddlewareType } from './Middleware';
4
-
5
- export { Bot, Message, Middleware };
6
- declare module 'mirai-js' {
7
- export const Bot: typeof BotType;
8
- export const Message: typeof MessageType;
9
- export const Middleware: typeof MiddlewareType;
10
- }
package/srcold/index.js DELETED
@@ -1,21 +0,0 @@
1
- const { Bot } = require('./Bot');
2
- const { Message } = require('./Message');
3
- const { Middleware } = require('./Middleware');
4
-
5
- (function (window, factory) {
6
- if (typeof exports === 'object') {
7
- module.exports = factory();
8
- // eslint-disable-next-line no-undef
9
- } else if (typeof define === 'function' && define.amd) {
10
- // eslint-disable-next-line no-undef
11
- define(factory);
12
- } else {
13
- window.miraiJs = factory();
14
- }
15
- })(this, function () {
16
- return {
17
- Bot,
18
- Message,
19
- Middleware,
20
- };
21
- });
@@ -1,20 +0,0 @@
1
- /**
2
- * @description Bot.sendMessage 方法的扩展接口
3
- * 重写该接口后可将子类实例直接传入 message 参数
4
- */
5
- class MessageChainGetable {
6
- getMessageChain() { }
7
- }
8
-
9
- /**
10
- * @description Bot 实现的接口,其他类访问 bot.config
11
- * 的途径,避免其他类直接访问实现,用来解耦
12
- */
13
- class BotConfigGetable {
14
- getBaseUrl() { }
15
- getQQ() { }
16
- getVerifyKey() { }
17
- getSessionKey() { }
18
- }
19
-
20
- module.exports = { MessageChainGetable, BotConfigGetable };
@@ -1,5 +0,0 @@
1
- const { isBrowserEnv } = require('../util/isBrowserEnv');
2
-
3
- module.exports = {
4
- URL: isBrowserEnv() ? window.URL : require('url').URL
5
- };
@@ -1,6 +0,0 @@
1
- const { isBrowserEnv } = require('../util/isBrowserEnv');
2
-
3
- module.exports = {
4
- wsStartListening: isBrowserEnv() ? require('../core/startListeningBrowser') : require('../core/startListeningNode'),
5
- wsStopListening: isBrowserEnv() ? require('../core/stopListeningBrowser') : require('../core/stopListeningNode'),
6
- };
@@ -1,2 +0,0 @@
1
- // 将数组转换为
2
- export type ArrayToValuesUnion<T extends string[]> = T extends (infer E)[] ? E : never;
@@ -1,23 +0,0 @@
1
- let errCodeMap = {
2
- 1: '错误的 auth key',
3
- 2: '指定的 Bot 不存在',
4
- 3: 'Session 失效或不存在',
5
- 4: 'Session未认证(未激活)',
6
- 5: '发送消息目标不存在(指定对象不存在)',
7
- 6: '指定文件不存在,出现于发送本地图片',
8
- 10: '无操作权限,指 Bot 没有对应操作的限权',
9
- 20: 'Bot 被禁言,指 Bot 当前无法向指定群发送消息',
10
- 30: '消息过长',
11
- 400: '错误的访问,可能是参数错误',
12
- };
13
-
14
- let errCodeEnum = {
15
- get BOT_NOT_FOUND() {
16
- return 2;
17
- },
18
- // 需要的时候随时加
19
- };
20
- module.exports = {
21
- errCodeMap,
22
- errCodeEnum
23
- };
@@ -1,24 +0,0 @@
1
- module.exports = (error) => {
2
- // 拿到所有的 message
3
- let message, miraiMessage, resMessage;
4
-
5
- ({ message } = error);
6
-
7
- const { response } = error;
8
- if (response?.data) {
9
- ({ msg: miraiMessage, resMessage } = response.data);
10
- }
11
-
12
- // 抛出
13
- if ((message ?? miraiMessage ?? resMessage ?? response?.data)) {
14
- // 拼接
15
- throw new Error(
16
- [message, miraiMessage, resMessage, response?.data]
17
- .filter(msg => typeof msg == 'string')
18
- .join('\n')
19
- );
20
- } else {
21
- // 未知异常
22
- throw error;
23
- }
24
- };
@@ -1,12 +0,0 @@
1
- /**
2
- * @description 检查必选参数
3
- * @param {Object} parametersMap 要检查的参数 map
4
- * @returns {string} 未提供参数的参数名,以空格隔开
5
- */
6
- module.exports = parametersMap => {
7
- return Object.keys(parametersMap)
8
- .filter(fieldName => {
9
- return parametersMap[fieldName] === undefined;
10
- })
11
- .join(' ');
12
- };
@@ -1,3 +0,0 @@
1
- exports.isBrowserEnv = () => {
2
- return typeof window !== 'undefined';
3
- };
@@ -1,6 +0,0 @@
1
- module.exports = (min, max) => {
2
- return () => {
3
- return Math.floor((Math.random() * (max - min + 1)) + min);
4
- };
5
-
6
- };