mirai-js 2.8.5 → 2.8.6
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/dist/browser/mirai-js.js +1 -1
- package/dist/node/borwserEntry.js +1 -1
- package/package.json +1 -1
- package/src/borwserEntry.js +1 -1
- package/1.mp3 +0 -0
- package/demo.ts +0 -29
- package/dist/node/lib/index.ts +0 -0
- package/index.ts +0 -38
- package/src/lib/index.ts +0 -0
- package/srcold/BaseType.d.ts +0 -419
- package/srcold/Bot.d.ts +0 -567
- package/srcold/Bot.js +0 -1208
- package/srcold/FileManager.js +0 -270
- package/srcold/Message.d.ts +0 -66
- package/srcold/Message.js +0 -314
- package/srcold/Middleware.d.ts +0 -170
- package/srcold/Middleware.js +0 -657
- package/srcold/Waiter.d.ts +0 -13
- package/srcold/Waiter.js +0 -24
- package/srcold/core/anno/deleteAnno.js +0 -43
- package/srcold/core/anno/getAnno.js +0 -44
- package/srcold/core/anno/publishAnno.js +0 -44
- package/srcold/core/auth.js +0 -40
- package/srcold/core/fs/deleteGroupFile.js +0 -45
- package/srcold/core/fs/getGroupFileInfo.js +0 -46
- package/srcold/core/fs/getGroupFileList.js +0 -47
- package/srcold/core/fs/makeGroupDir.js +0 -45
- package/srcold/core/fs/moveGroupFile.js +0 -47
- package/srcold/core/fs/renameGroupFile.js +0 -44
- package/srcold/core/fs/uploadGroupFIle.js +0 -58
- package/srcold/core/getFriendList.js +0 -37
- package/srcold/core/getGroupConfig.js +0 -37
- package/srcold/core/getGroupList.js +0 -37
- package/srcold/core/getMemberInfo.js +0 -41
- package/srcold/core/getMemberList.js +0 -49
- package/srcold/core/getSessionConfig.js +0 -39
- package/srcold/core/getUserProfile.js +0 -40
- package/srcold/core/messageFromId.js +0 -40
- package/srcold/core/mute.js +0 -41
- package/srcold/core/muteAll.js +0 -39
- package/srcold/core/quitGroup.js +0 -40
- package/srcold/core/recall.js +0 -39
- package/srcold/core/releaseSession.js +0 -41
- package/srcold/core/removeFriend.js +0 -40
- package/srcold/core/removeMember.js +0 -42
- package/srcold/core/responseBotInvitedJoinGroupRequest.js +0 -46
- package/srcold/core/responseFirendRequest.js +0 -45
- package/srcold/core/responseMemberJoinRequest.js +0 -47
- package/srcold/core/sendCommand.js +0 -41
- package/srcold/core/sendFriendMessage.js +0 -43
- package/srcold/core/sendGroupMessage.js +0 -43
- package/srcold/core/sendImageMessage.js +0 -4
- package/srcold/core/sendNudge.js +0 -43
- package/srcold/core/sendTempMessage.js +0 -55
- package/srcold/core/setEssence.js +0 -44
- package/srcold/core/setGroupConfig.js +0 -58
- package/srcold/core/setMemberAdmin.js +0 -44
- package/srcold/core/setMemberInfo.js +0 -48
- package/srcold/core/setSessionConfig.js +0 -41
- package/srcold/core/startListeningBrowser.js +0 -62
- package/srcold/core/startListeningNode.js +0 -74
- package/srcold/core/stopListeningBrowser.js +0 -34
- package/srcold/core/stopListeningNode.js +0 -34
- package/srcold/core/unmute.js +0 -40
- package/srcold/core/unmuteAll.js +0 -39
- package/srcold/core/uploadImage.js +0 -55
- package/srcold/core/uploadVoice.js +0 -54
- package/srcold/core/verify.js +0 -41
- package/srcold/index.d.ts +0 -10
- package/srcold/index.js +0 -21
- package/srcold/interface.js +0 -20
- package/srcold/polyfill/URL.js +0 -5
- package/srcold/polyfill/wsListener.js +0 -6
- package/srcold/typeHelpers.d.ts +0 -2
- package/srcold/util/errCode.js +0 -23
- package/srcold/util/errorHandler.js +0 -24
- package/srcold/util/getInvalidParamsString.js +0 -12
- package/srcold/util/isBrowserEnv.js +0 -3
- package/srcold/util/random.js +0 -6
| @@ -1,43 +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 删除群公告
         | 
| 11 | 
            -
             * @param {string}  baseUrl    mirai-api-http server 的地址
         | 
| 12 | 
            -
             * @param {string}  sessionKey 会话标识
         | 
| 13 | 
            -
             * @param {number}  id     群号
         | 
| 14 | 
            -
             * @param {string}  fid    公告 id
         | 
| 15 | 
            -
             * @returns {Object} { code, msg }
         | 
| 16 | 
            -
             */
         | 
| 17 | 
            -
            module.exports = async ({ baseUrl, sessionKey, id, fid }) => {
         | 
| 18 | 
            -
                try {
         | 
| 19 | 
            -
                    // 拼接 url
         | 
| 20 | 
            -
                    const url = new URL('/anno/delete', baseUrl).toString();
         | 
| 21 | 
            -
             | 
| 22 | 
            -
                    // 请求
         | 
| 23 | 
            -
                    const responseData = await axios.post(url, {
         | 
| 24 | 
            -
                        sessionKey, id, fid,
         | 
| 25 | 
            -
                    });
         | 
| 26 | 
            -
                    try {
         | 
| 27 | 
            -
                        var {
         | 
| 28 | 
            -
                            data: { msg: message, code }
         | 
| 29 | 
            -
                        } = responseData;
         | 
| 30 | 
            -
                    } catch (error) {
         | 
| 31 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 32 | 
            -
                    }
         | 
| 33 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 34 | 
            -
                    if (code in errCodeMap) {
         | 
| 35 | 
            -
                        throw new Error(message);
         | 
| 36 | 
            -
                    }
         | 
| 37 | 
            -
                    return { message, code };
         | 
| 38 | 
            -
                } catch (error) {
         | 
| 39 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 40 | 
            -
                    errorHandler(error);
         | 
| 41 | 
            -
                }
         | 
| 42 | 
            -
             | 
| 43 | 
            -
            };
         | 
| @@ -1,44 +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}  id         群号
         | 
| 14 | 
            -
             * @param {number}  offset     分页
         | 
| 15 | 
            -
             * @param {number}  size       分页, 默认 10
         | 
| 16 | 
            -
             * @returns {Object[]}
         | 
| 17 | 
            -
             */
         | 
| 18 | 
            -
            module.exports = async ({ baseUrl, sessionKey, id, offset, size = 10 }) => {
         | 
| 19 | 
            -
                try {
         | 
| 20 | 
            -
                    // 拼接 url
         | 
| 21 | 
            -
                    const url = new URL('/anno/list', baseUrl).toString();
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                    // 请求
         | 
| 24 | 
            -
                    const responseData = await axios.get(url, {
         | 
| 25 | 
            -
                        params: {
         | 
| 26 | 
            -
                            sessionKey, id, offset, size,
         | 
| 27 | 
            -
                        }
         | 
| 28 | 
            -
                    });
         | 
| 29 | 
            -
                    try {
         | 
| 30 | 
            -
                        var { data: { msg: message, code, data } } = responseData;
         | 
| 31 | 
            -
                    } catch (error) {
         | 
| 32 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 33 | 
            -
                    }
         | 
| 34 | 
            -
             | 
| 35 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 36 | 
            -
                    if (code in errCodeMap) {
         | 
| 37 | 
            -
                        throw new Error(message);
         | 
| 38 | 
            -
                    }
         | 
| 39 | 
            -
                    return data;
         | 
| 40 | 
            -
                } catch (error) {
         | 
| 41 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 42 | 
            -
                    errorHandler(error);
         | 
| 43 | 
            -
                }
         | 
| 44 | 
            -
            };
         | 
| @@ -1,44 +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 发布群公告
         | 
| 11 | 
            -
             * @param {string}  baseUrl    mirai-api-http server 的地址
         | 
| 12 | 
            -
             * @param {string}  sessionKey 会话标识
         | 
| 13 | 
            -
             * @param {number}  target     群号
         | 
| 14 | 
            -
             * @param {string}  content    公告内容
         | 
| 15 | 
            -
             * @param {boolean} pinned     是否置顶
         | 
| 16 | 
            -
             * @returns {Object} { code, msg }
         | 
| 17 | 
            -
             */
         | 
| 18 | 
            -
            module.exports = async ({ baseUrl, sessionKey, target, content, pinned }) => {
         | 
| 19 | 
            -
                try {
         | 
| 20 | 
            -
                    // 拼接 url
         | 
| 21 | 
            -
                    const url = new URL('/anno/publish', baseUrl).toString();
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                    // 请求
         | 
| 24 | 
            -
                    const responseData = await axios.post(url, {
         | 
| 25 | 
            -
                        sessionKey, target, content, pinned
         | 
| 26 | 
            -
                    });
         | 
| 27 | 
            -
                    try {
         | 
| 28 | 
            -
                        var {
         | 
| 29 | 
            -
                            data: { msg: message, code }
         | 
| 30 | 
            -
                        } = responseData;
         | 
| 31 | 
            -
                    } catch (error) {
         | 
| 32 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 33 | 
            -
                    }
         | 
| 34 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 35 | 
            -
                    if (code in errCodeMap) {
         | 
| 36 | 
            -
                        throw new Error(message);
         | 
| 37 | 
            -
                    }
         | 
| 38 | 
            -
                    return { message, code };
         | 
| 39 | 
            -
                } catch (error) {
         | 
| 40 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 41 | 
            -
                    errorHandler(error);
         | 
| 42 | 
            -
                }
         | 
| 43 | 
            -
             | 
| 44 | 
            -
            };
         | 
    
        package/srcold/core/auth.js
    DELETED
    
    | @@ -1,40 +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 | 
            -
             *
         | 
| 11 | 
            -
             * @description 认证 verifyKey,创建回话,返回一个 sessionKey
         | 
| 12 | 
            -
             * @param {string} baseUrl mirai-api-http server 的地址
         | 
| 13 | 
            -
             * @param {string} verifyKey mirai-api-http server 设置的 verifyKey
         | 
| 14 | 
            -
             * @returns {string} 会话标识 sessionKey
         | 
| 15 | 
            -
             */
         | 
| 16 | 
            -
            module.exports = async ({ baseUrl, verifyKey }) => {
         | 
| 17 | 
            -
                try {
         | 
| 18 | 
            -
                    // 拼接 url
         | 
| 19 | 
            -
                    const url = new URL('/verify', baseUrl).toString();
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                    // 请求
         | 
| 22 | 
            -
                    const responseData = await axios.post(url, { verifyKey });
         | 
| 23 | 
            -
                    try {
         | 
| 24 | 
            -
                        var {
         | 
| 25 | 
            -
                            data: { msg: message, code, session: sessionKey },
         | 
| 26 | 
            -
                        } = responseData;
         | 
| 27 | 
            -
                    } catch (error) {
         | 
| 28 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 29 | 
            -
                    }
         | 
| 30 | 
            -
             | 
| 31 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 32 | 
            -
                    if (code in errCodeMap) {
         | 
| 33 | 
            -
                        throw new Error(message);
         | 
| 34 | 
            -
                    }
         | 
| 35 | 
            -
                    return sessionKey;
         | 
| 36 | 
            -
                } catch (error) {
         | 
| 37 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 38 | 
            -
                    errorHandler(error);
         | 
| 39 | 
            -
                }
         | 
| 40 | 
            -
            };
         | 
| @@ -1,45 +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 删除群文件
         | 
| 11 | 
            -
             * @param {string}  baseUrl          mirai-api-http server 的地址
         | 
| 12 | 
            -
             * @param {string}  sessionKey       会话标识
         | 
| 13 | 
            -
             * @param {string}  id               文件夹id, 空串为根目录
         | 
| 14 | 
            -
             * @param {string}  path             文件夹路径, 文件夹允许重名, 不保证准确, 准确定位使用 id
         | 
| 15 | 
            -
             * @param {number}  group            群号
         | 
| 16 | 
            -
             * @returns {Object} 结构 { message, code }
         | 
| 17 | 
            -
             */
         | 
| 18 | 
            -
            module.exports = async ({ baseUrl, sessionKey, id, path, group }) => {
         | 
| 19 | 
            -
                try {
         | 
| 20 | 
            -
                    // 拼接 url
         | 
| 21 | 
            -
                    const url = new URL('/file/delete', baseUrl).toString();
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                    // 请求
         | 
| 24 | 
            -
                    const responseData = await axios.post(url, {
         | 
| 25 | 
            -
                        sessionKey, id, path, target: group, group,
         | 
| 26 | 
            -
                    });
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                    try {
         | 
| 29 | 
            -
                        var {
         | 
| 30 | 
            -
                            data: { msg: message, code }
         | 
| 31 | 
            -
                        } = responseData;
         | 
| 32 | 
            -
                    } catch (error) {
         | 
| 33 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 34 | 
            -
                    }
         | 
| 35 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 36 | 
            -
                    if (code in errCodeMap) {
         | 
| 37 | 
            -
                        throw new Error(message);
         | 
| 38 | 
            -
                    }
         | 
| 39 | 
            -
                    return { message, code };
         | 
| 40 | 
            -
                } catch (error) {
         | 
| 41 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 42 | 
            -
                    errorHandler(error);
         | 
| 43 | 
            -
                }
         | 
| 44 | 
            -
             | 
| 45 | 
            -
            };
         | 
| @@ -1,46 +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 {string}  id               文件夹id, 空串为根目录
         | 
| 14 | 
            -
             * @param {string}  path             文件夹路径, 文件夹允许重名, 不保证准确, 准确定位使用 id
         | 
| 15 | 
            -
             * @param {number}  group            群号
         | 
| 16 | 
            -
             * @param {boolean} withDownloadInfo 是否携带下载信息,额外请求,无必要不要携带
         | 
| 17 | 
            -
             * @returns {Object}   
         | 
| 18 | 
            -
             * 结构 { id, name, path, parent, contact, isFile, isDirectory, downloadInfo }
         | 
| 19 | 
            -
             */
         | 
| 20 | 
            -
            module.exports = async ({ baseUrl, sessionKey, id, path, group/*, qq 字段保留 */, withDownloadInfo }) => {
         | 
| 21 | 
            -
                try {
         | 
| 22 | 
            -
                    // 拼接 url
         | 
| 23 | 
            -
                    const url = new URL('/file/info', baseUrl).toString();
         | 
| 24 | 
            -
             | 
| 25 | 
            -
                    // 请求
         | 
| 26 | 
            -
                    const responseData = await axios.get(url, {
         | 
| 27 | 
            -
                        params: {
         | 
| 28 | 
            -
                            sessionKey, id, path, target: group, group, withDownloadInfo
         | 
| 29 | 
            -
                        }
         | 
| 30 | 
            -
                    });
         | 
| 31 | 
            -
                    try {
         | 
| 32 | 
            -
                        var { data: { msg: message, code, data } } = responseData;
         | 
| 33 | 
            -
                    } catch (error) {
         | 
| 34 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 35 | 
            -
                    }
         | 
| 36 | 
            -
             | 
| 37 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 38 | 
            -
                    if (code in errCodeMap) {
         | 
| 39 | 
            -
                        throw new Error(message);
         | 
| 40 | 
            -
                    }
         | 
| 41 | 
            -
                    return data;
         | 
| 42 | 
            -
                } catch (error) {
         | 
| 43 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 44 | 
            -
                    errorHandler(error);
         | 
| 45 | 
            -
                }
         | 
| 46 | 
            -
            };
         | 
| @@ -1,47 +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 {string}  id               文件夹id, 空串为根目录
         | 
| 14 | 
            -
             * @param {string}  path             文件夹路径, 文件夹允许重名, 不保证准确, 准确定位使用 id
         | 
| 15 | 
            -
             * @param {number}  group            群号
         | 
| 16 | 
            -
             * @param {boolern} withDownloadInfo 是否携带下载信息,额外请求,无必要不要携带
         | 
| 17 | 
            -
             * @param {number}  offset	         分页偏移
         | 
| 18 | 
            -
             * @param {number}  size	         分页大小
         | 
| 19 | 
            -
             * @returns {Object[]}   结构 array[...{ id, name, path, parent, contact, isFile, isDirectory, downloadInfo }]
         | 
| 20 | 
            -
             */
         | 
| 21 | 
            -
            module.exports = async ({ baseUrl, sessionKey, id, path, group/*, qq 字段保留 */, withDownloadInfo, offset, size }) => {
         | 
| 22 | 
            -
                try {
         | 
| 23 | 
            -
                    // 拼接 url
         | 
| 24 | 
            -
                    const url = new URL('/file/list', baseUrl).toString();
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                    // 请求
         | 
| 27 | 
            -
                    const responseData = await axios.get(url, {
         | 
| 28 | 
            -
                        params: {
         | 
| 29 | 
            -
                            sessionKey, id, path, target: group, group, withDownloadInfo, offset, size
         | 
| 30 | 
            -
                        }
         | 
| 31 | 
            -
                    });
         | 
| 32 | 
            -
                    try {
         | 
| 33 | 
            -
                        var { data: { msg: message, code, data } } = responseData;
         | 
| 34 | 
            -
                    } catch (error) {
         | 
| 35 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 36 | 
            -
                    }
         | 
| 37 | 
            -
             | 
| 38 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 39 | 
            -
                    if (code in errCodeMap) {
         | 
| 40 | 
            -
                        throw new Error(message);
         | 
| 41 | 
            -
                    }
         | 
| 42 | 
            -
                    return data;
         | 
| 43 | 
            -
                } catch (error) {
         | 
| 44 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 45 | 
            -
                    errorHandler(error);
         | 
| 46 | 
            -
                }
         | 
| 47 | 
            -
            };
         | 
| @@ -1,45 +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 新建群文件夹
         | 
| 11 | 
            -
             * @param {string}  baseUrl          mirai-api-http server 的地址
         | 
| 12 | 
            -
             * @param {string}  sessionKey       会话标识
         | 
| 13 | 
            -
             * @param {string}  id               文件夹id, 空串为根目录
         | 
| 14 | 
            -
             * @param {string}  path             文件夹路径, 文件夹允许重名, 不保证准确, 准确定位使用 id
         | 
| 15 | 
            -
             * @param {number}  group            群号
         | 
| 16 | 
            -
             * @param {boolern} withDownloadInfo 是否携带下载信息,额外请求,无必要不要携带
         | 
| 17 | 
            -
             * @returns {Object} 结构 { id, name, path, parent, contact, isFile, isDirectory, downloadInfo }
         | 
| 18 | 
            -
             */
         | 
| 19 | 
            -
            module.exports = async ({ baseUrl, sessionKey, id, rename, path, group, withDownloadInfo }) => {
         | 
| 20 | 
            -
                try {
         | 
| 21 | 
            -
                    // 拼接 url
         | 
| 22 | 
            -
                    const url = new URL('/file/mkdir', baseUrl).toString();
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                    // 请求
         | 
| 25 | 
            -
                    const responseData = await axios.post(url, {
         | 
| 26 | 
            -
                        sessionKey, id, rename, path, group, withDownloadInfo
         | 
| 27 | 
            -
                    });
         | 
| 28 | 
            -
             | 
| 29 | 
            -
                    try {
         | 
| 30 | 
            -
                        var {
         | 
| 31 | 
            -
                            data: { msg: message, code, data }
         | 
| 32 | 
            -
                        } = responseData;
         | 
| 33 | 
            -
                    } catch (error) {
         | 
| 34 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 35 | 
            -
                    }
         | 
| 36 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 37 | 
            -
                    if (code in errCodeMap) {
         | 
| 38 | 
            -
                        throw new Error(message);
         | 
| 39 | 
            -
                    }
         | 
| 40 | 
            -
                    return data;
         | 
| 41 | 
            -
                } catch (error) {
         | 
| 42 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 43 | 
            -
                    errorHandler(error);
         | 
| 44 | 
            -
                }
         | 
| 45 | 
            -
            };
         | 
| @@ -1,47 +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 移动群文件
         | 
| 11 | 
            -
             * @param {string}  baseUrl    mirai-api-http server 的地址
         | 
| 12 | 
            -
             * @param {string}  sessionKey 会话标识
         | 
| 13 | 
            -
             * @param {string}  id         文件夹id, 空串为根目录
         | 
| 14 | 
            -
             * @param {string}  path       文件夹路径, 文件夹允许重名, 不保证准确, 准确定位使用 id
         | 
| 15 | 
            -
             * @param {number}  group      群号
         | 
| 16 | 
            -
             * @param {string}  moveTo     移动目标文件夹id
         | 
| 17 | 
            -
             * @param {string}  moveToPath 移动目标文件夹path
         | 
| 18 | 
            -
             * @returns {Object} 结构 { message, code }
         | 
| 19 | 
            -
             */
         | 
| 20 | 
            -
            module.exports = async ({ baseUrl, sessionKey, id, path, group, moveTo, moveToPath }) => {
         | 
| 21 | 
            -
                try {
         | 
| 22 | 
            -
                    // 拼接 url
         | 
| 23 | 
            -
                    const url = new URL('/file/move', baseUrl).toString();
         | 
| 24 | 
            -
             | 
| 25 | 
            -
                    // 请求
         | 
| 26 | 
            -
                    const responseData = await axios.post(url, {
         | 
| 27 | 
            -
                        sessionKey, id, path, target: group, group, moveTo, moveToPath
         | 
| 28 | 
            -
                    });
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                    try {
         | 
| 31 | 
            -
                        var {
         | 
| 32 | 
            -
                            data: { msg: message, code }
         | 
| 33 | 
            -
                        } = responseData;
         | 
| 34 | 
            -
                    } catch (error) {
         | 
| 35 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 36 | 
            -
                    }
         | 
| 37 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 38 | 
            -
                    if (code in errCodeMap) {
         | 
| 39 | 
            -
                        throw new Error(message);
         | 
| 40 | 
            -
                    }
         | 
| 41 | 
            -
                    return { message, code };
         | 
| 42 | 
            -
                } catch (error) {
         | 
| 43 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 44 | 
            -
                    errorHandler(error);
         | 
| 45 | 
            -
                }
         | 
| 46 | 
            -
             | 
| 47 | 
            -
            };
         | 
| @@ -1,44 +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 重命名群文件
         | 
| 11 | 
            -
             * @param {string} baseUrl    mirai-api-http server 的地址
         | 
| 12 | 
            -
             * @param {string} sessionKey 会话标识
         | 
| 13 | 
            -
             * @param {number} id         文件 id
         | 
| 14 | 
            -
             * @param {number} group      群号
         | 
| 15 | 
            -
             * @param {string} rename     重命名
         | 
| 16 | 
            -
             * @returns {Object} 结构 { message, code }
         | 
| 17 | 
            -
             */
         | 
| 18 | 
            -
            module.exports = async ({ baseUrl, sessionKey, id, path, group, renameTo }) => {
         | 
| 19 | 
            -
                try {
         | 
| 20 | 
            -
                    // 拼接 url
         | 
| 21 | 
            -
                    const url = new URL('/file/rename', baseUrl).toString();
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                    // 请求
         | 
| 24 | 
            -
                    const responseData = await axios.post(url, {
         | 
| 25 | 
            -
                        sessionKey, id, path, target: group, group, renameTo
         | 
| 26 | 
            -
                    });
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                    try {
         | 
| 29 | 
            -
                        var {
         | 
| 30 | 
            -
                            data: { msg: message, code }
         | 
| 31 | 
            -
                        } = responseData;
         | 
| 32 | 
            -
                    } catch (error) {
         | 
| 33 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 34 | 
            -
                    }
         | 
| 35 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 36 | 
            -
                    if (code in errCodeMap) {
         | 
| 37 | 
            -
                        throw new Error(message);
         | 
| 38 | 
            -
                    }
         | 
| 39 | 
            -
                    return { message, code };
         | 
| 40 | 
            -
                } catch (error) {
         | 
| 41 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 42 | 
            -
                    errorHandler(error);
         | 
| 43 | 
            -
                }
         | 
| 44 | 
            -
            };
         | 
| @@ -1,58 +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 上传文件至服务器并发送,返回文件 id
         | 
| 13 | 
            -
             * @param {string}  baseUrl    mirai-api-http server 的地址
         | 
| 14 | 
            -
             * @param {string}  sessionKey 会话标识
         | 
| 15 | 
            -
             * @param {string}  type       "friend" 或 "group",目前仅支持 group
         | 
| 16 | 
            -
             * @param {string}  target     群/好友号
         | 
| 17 | 
            -
             * @param {string}  path       上传目录id
         | 
| 18 | 
            -
             * @param {Buffer}  file       文件二进制数据
         | 
| 19 | 
            -
             * @returns {string} 文件 id
         | 
| 20 | 
            -
             */
         | 
| 21 | 
            -
            module.exports = async ({ baseUrl, sessionKey, type, target, path, file }) => {
         | 
| 22 | 
            -
                try {
         | 
| 23 | 
            -
                    // 拼接 url
         | 
| 24 | 
            -
                    const targetUrl = new URL('/file/upload', baseUrl).toString();
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                    // 构造 fromdata
         | 
| 27 | 
            -
                    const form = new FormData();
         | 
| 28 | 
            -
                    form.append('sessionKey', sessionKey);
         | 
| 29 | 
            -
                    form.append('type', type);
         | 
| 30 | 
            -
                    form.append('target', target);
         | 
| 31 | 
            -
                    form.append('path', path);
         | 
| 32 | 
            -
                    form.append('file', file, { filename: 'payload' });
         | 
| 33 | 
            -
             | 
| 34 | 
            -
                    // 请求
         | 
| 35 | 
            -
                    const responseData = await axios.post(targetUrl, form, {
         | 
| 36 | 
            -
                        // formdata.getHeaders 将会指定 content-type,同时给定随
         | 
| 37 | 
            -
                        // 机生成的 boundary,即分隔符,用以分隔多个表单项而不会造成混乱
         | 
| 38 | 
            -
                        headers: form.getHeaders(),
         | 
| 39 | 
            -
                    });
         | 
| 40 | 
            -
             | 
| 41 | 
            -
                    try {
         | 
| 42 | 
            -
                        var {
         | 
| 43 | 
            -
                            data: { msg: message, code, id }
         | 
| 44 | 
            -
                        } = responseData;
         | 
| 45 | 
            -
                    } catch (error) {
         | 
| 46 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 47 | 
            -
                    }
         | 
| 48 | 
            -
             | 
| 49 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 50 | 
            -
                    if (code in errCodeMap) {
         | 
| 51 | 
            -
                        throw new Error(message);
         | 
| 52 | 
            -
                    }
         | 
| 53 | 
            -
                    return id;
         | 
| 54 | 
            -
                } catch (error) {
         | 
| 55 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 56 | 
            -
                    errorHandler(error);
         | 
| 57 | 
            -
                }
         | 
| 58 | 
            -
            };
         | 
| @@ -1,37 +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 | 
            -
             * @returns {Object[]} 结构 array[...{ id, nickname, remark }]
         | 
| 14 | 
            -
             */
         | 
| 15 | 
            -
            module.exports = async ({ baseUrl, sessionKey }) => {
         | 
| 16 | 
            -
                try {
         | 
| 17 | 
            -
                    // 拼接 url
         | 
| 18 | 
            -
                    const url = new URL('/friendList', baseUrl).toString();
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                    // 请求
         | 
| 21 | 
            -
                    const responseData = await axios.get(url, { params: { sessionKey } });
         | 
| 22 | 
            -
                    try {
         | 
| 23 | 
            -
                        var { data: { msg: message, code, data } } = responseData;
         | 
| 24 | 
            -
                    } catch (error) {
         | 
| 25 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 26 | 
            -
                    }
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 29 | 
            -
                    if (code in errCodeMap) {
         | 
| 30 | 
            -
                        throw new Error(message);
         | 
| 31 | 
            -
                    }
         | 
| 32 | 
            -
                    return data;
         | 
| 33 | 
            -
                } catch (error) {
         | 
| 34 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 35 | 
            -
                    errorHandler(error);
         | 
| 36 | 
            -
                }
         | 
| 37 | 
            -
            };
         | 
| @@ -1,37 +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 {string} target     群号
         | 
| 14 | 
            -
             * @returns {Object} 
         | 
| 15 | 
            -
             */
         | 
| 16 | 
            -
            module.exports = async ({ baseUrl, sessionKey, target }) => {
         | 
| 17 | 
            -
                try {
         | 
| 18 | 
            -
                    // 拼接 url
         | 
| 19 | 
            -
                    const url = new URL('/groupConfig', baseUrl).toString();
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                    // 请求
         | 
| 22 | 
            -
                    const responseData = await axios.get(url, { params: { sessionKey, target } });
         | 
| 23 | 
            -
                    try {
         | 
| 24 | 
            -
                        var { data, data: { msg: message, code } } = responseData;
         | 
| 25 | 
            -
                    } catch (error) {
         | 
| 26 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 27 | 
            -
                    }
         | 
| 28 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 29 | 
            -
                    if (code in errCodeMap) {
         | 
| 30 | 
            -
                        throw new Error(message);
         | 
| 31 | 
            -
                    }
         | 
| 32 | 
            -
                    return data;
         | 
| 33 | 
            -
                } catch (error) {
         | 
| 34 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 35 | 
            -
                    errorHandler(error);
         | 
| 36 | 
            -
                }
         | 
| 37 | 
            -
            };
         | 
| @@ -1,37 +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 | 
            -
             * @returns {Object[]} 结构 array[...{ id, name, permission }]
         | 
| 14 | 
            -
             */
         | 
| 15 | 
            -
            module.exports = async ({ baseUrl, sessionKey }) => {
         | 
| 16 | 
            -
                try {
         | 
| 17 | 
            -
                    // 拼接 url
         | 
| 18 | 
            -
                    const url = new URL('/groupList', baseUrl).toString();
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                    // 请求
         | 
| 21 | 
            -
                    const responseData = await axios.get(url, { params: { sessionKey } });
         | 
| 22 | 
            -
                    try {
         | 
| 23 | 
            -
                        var { data, data: { msg: message, code } } = responseData;
         | 
| 24 | 
            -
                    } catch (error) {
         | 
| 25 | 
            -
                        throw new Error(('请求返回格式出错,请检查 mirai-console'));
         | 
| 26 | 
            -
                    }
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                    // 抛出 mirai 的异常,到 catch 中处理后再抛出
         | 
| 29 | 
            -
                    if (code in errCodeMap) {
         | 
| 30 | 
            -
                        throw new Error(message);
         | 
| 31 | 
            -
                    }
         | 
| 32 | 
            -
                    return data;
         | 
| 33 | 
            -
                } catch (error) {
         | 
| 34 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 35 | 
            -
                    errorHandler(error);
         | 
| 36 | 
            -
                }
         | 
| 37 | 
            -
            };
         | 
| @@ -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 获取群成员信息
         | 
| 11 | 
            -
             * @param {string} baseUrl    mirai-api-http server 的地址
         | 
| 12 | 
            -
             * @param {string} sessionKey 会话标识
         | 
| 13 | 
            -
             * @param {number} target     群成员所在群号
         | 
| 14 | 
            -
             * @param {number} memberId   群成员的 qq 号
         | 
| 15 | 
            -
             * @returns {Object}
         | 
| 16 | 
            -
             */
         | 
| 17 | 
            -
            module.exports = async ({ baseUrl, sessionKey, target, memberId }) => {
         | 
| 18 | 
            -
                try {
         | 
| 19 | 
            -
                    // 拼接 url
         | 
| 20 | 
            -
                    const url = new URL('/memberInfo', baseUrl).toString();
         | 
| 21 | 
            -
             | 
| 22 | 
            -
                    // 请求
         | 
| 23 | 
            -
                    const responseData = await axios.get(url, { params: { sessionKey, target, memberId } });
         | 
| 24 | 
            -
                    try {
         | 
| 25 | 
            -
                        var {
         | 
| 26 | 
            -
                            data, 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 | 
            -
                        throw new Error(message);
         | 
| 34 | 
            -
                    }
         | 
| 35 | 
            -
                    return data;
         | 
| 36 | 
            -
                } catch (error) {
         | 
| 37 | 
            -
                    console.error(`mirai-js: error ${locationStr}`);
         | 
| 38 | 
            -
                    errorHandler(error);
         | 
| 39 | 
            -
                }
         | 
| 40 | 
            -
             | 
| 41 | 
            -
            };
         |