/** Serein JS插件辅助 @summary 使用方法: 1. 建议使用 Visual Studio Code 编写插件 下载链接:https://code.visualstudio.com/ 2. 将此文件复制到插件的同文件夹下 3. 在你的插件第一行加上下面这一行(只需复制`///`及其之后的部分) ` /// ` 4. 然后你就可以快乐地写插件了,这时候就可以自动补全和显示函数参数了!! @version 适用版本: `Serein v1.3.4 +` */ var serein = { /** * 所在文件夹 * @see https://serein.cc/#/Function/JSDocs/Properties?id=sereinexe%e6%89%80%e5%9c%a8%e6%96%87%e4%bb%b6%e5%a4%b9 */ path: '', /** * Serein版本 * @see https://serein.cc/#/Function/JSDocs/Properties?id=serein%e7%89%88%e6%9c%ac */ version: '', /** * JS命名空间 * @see https://serein.cc/#/Function/JSDocs/Properties?id=js%e5%91%bd%e5%90%8d%e7%a9%ba%e9%97%b4 */ namespace: '', /** * 启动时间 * @see https://serein.cc/#/Function/JSDocs/Properties?id=serein%e5%90%af%e5%8a%a8%e6%97%b6%e9%97%b4 */ startTime: new Date(), /** * Serein类型 * @enum `0` - 控制台 * @enum `1` - Winform * @enum `2` - WPF * @enum `-1` - 未知 * @see https://serein.cc/#/Function/JSDocs/Properties?id=serein%e7%b1%bb%e5%9e%8b */ type: -1, /** * Serein类型名称 * @see https://serein.cc/#/Function/JSDocs/Properties?id=serein%e7%b1%bb%e5%9e%8b%e6%96%87%e6%9c%ac */ typeName: '', /** * 输出日志 * @param {*} content 内容 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%be%93%e5%87%ba%e6%97%a5%e5%bf%97 */ log: function (content) { }, /** * Debug输出 * @param {*} content 内容 * @see https://serein.cc/#/Function/JSDocs/Func?id=debug%e8%be%93%e5%87%ba */ debugLog: function (content) { }, /** * 注册插件 * @param {String} name 名称 * @param {String} version 版本 * @param {String} author 作者 * @param {String} description 详细描述 * @returns {String} 命名空间 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e6%b3%a8%e5%86%8c%e6%8f%92%e4%bb%b6 */ registerPlugin: function (name, version, author, description) { }, /** * 设置监听器 * @param {String} eventname 事件名称,详见下方链接 * @param {Function} func 回调函数 * @returns {Boolean} 设置结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%ae%be%e7%bd%ae%e7%9b%91%e5%90%ac%e5%99%a8 */ setListener: function (eventname, func) { }, /** * 获取Serein设置 * @returns {String} 设置的json文本 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96serein%e8%ae%be%e7%bd%ae */ getSettings: function () { }, /** * 获取Serein设置对象 * @returns {Object} 设置的json文本 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96serein%e8%ae%be%e7%bd%ae%e5%af%b9%e8%b1%a1 */ getSettingsObject: function () { }, /** * 执行命令 * @param {String} command 一条Serein命令 * @summary 此处无法执行绑定或解绑ID、获取motd和执行js代码的命令 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e6%89%a7%e8%a1%8c%e5%91%bd%e4%bb%a4 */ runCommand: function (command) { }, /** * 获取系统信息 * @returns {Object} 系统信息对象 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e7%b3%bb%e7%bb%9f%e4%bf%a1%e6%81%af */ getSysInfo: function () { }, /** * 获取CPU使用率 * @returns {Number} CPU使用率 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96cpu%e4%bd%bf%e7%94%a8%e7%8e%87 */ getCPUPersent: function () { }, /** * 获取插件列表 * @returns {Array} 插件列表 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e6%8f%92%e4%bb%b6%e5%88%97%e8%a1%a8 */ getPluginList: function () { }, /** * 获取正则列表 * @returns {Array} 正则列表 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e6%ad%a3%e5%88%99%e5%88%97%e8%a1%a8 */ getRegexs: function () { }, /** * 添加正则 * @param {String} regexp 正则 * @param {Number} area 作用域 * @param {Boolean} needAdmin 需要管理 * @param {String} command 命令 * @param {String} remark 备注 * @param {Array} ignore 忽略对象 * @returns {Boolean} 添加结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e6%b7%bb%e5%8a%a0%e6%ad%a3%e5%88%99 */ addRegex: function (regexp, area, needAdmin, command, remark, ignore) { }, /** * 修改正则 * @param {Number} index 数组下标 * @param {String} regexp 正则 * @param {Number} area 作用域 * @param {Boolean} needAdmin 需要管理 * @param {String} command 命令 * @param {String} remark 备注 * @param {Array} ignore 忽略对象 * @returns {Boolean} 修改结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e4%bf%ae%e6%94%b9%e6%ad%a3%e5%88%99 */ editRegex: function (index, regexp, area, needAdmin, command, remark, ignore) { }, /** * 删除正则 * @param {Number} index 数组下标 * @returns {Boolean} 删除结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%88%a0%e9%99%a4%e6%ad%a3%e5%88%99 */ removeRegex: function (index) { }, /** * 设置命令变量 * @param {String} key 变量名 * @param {*} variable 变量 * @returns {Boolean} 设置结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%ae%be%e7%bd%ae%e5%91%bd%e4%bb%a4%e5%8f%98%e9%87%8f */ setVariable: function (key, variable) { }, /** * 获取网速 * @returns {Array} 网速字符串数组,[0]为上传网速,[1]为下载网速 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e7%bd%91%e9%80%9f */ getNetSpeed: function () { }, /** * 启动服务器 * @returns {Boolean} 启动结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%90%af%e5%8a%a8%e6%9c%8d%e5%8a%a1%e5%99%a8 */ startServer: function () { }, /** * 关闭服务器 * @returns {Boolean} 关闭结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%85%b3%e9%97%ad%e6%9c%8d%e5%8a%a1%e5%99%a8 */ stopServer: function () { }, /** * 强制结束服务器 * @returns {Boolean} 强制结束结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%bc%ba%e5%88%b6%e7%bb%93%e6%9d%9f%e6%9c%8d%e5%8a%a1%e5%99%a8 */ killServer: function () { }, /** * 发送服务器命令 * @param {String} command 命令内容 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%8f%91%e9%80%81%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%91%bd%e4%bb%a4 */ sendCmd: function (command) { }, /** * 获取服务器状态 * @returns {Boolean} 当前状态 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%8a%b6%e6%80%81 */ getServerStatus: function () { }, /** * 获取服务器运行时长 * @returns {String} 时长字符串,格式见文档 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e6%9c%8d%e5%8a%a1%e5%99%a8%e8%bf%90%e8%a1%8c%e6%97%b6%e9%95%bf */ getServerTime: function () { }, /** * 获取服务器进程占用 * @returns {Boolean} 进程CPU占用率 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e6%9c%8d%e5%8a%a1%e5%99%a8%e8%bf%9b%e7%a8%8b%e5%8d%a0%e7%94%a8 */ getServerCPUPersent: function () { }, /** * 获取服务器文件 * @returns {String} 文件名 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%96%87%e4%bb%b6 */ getServerFile: function () { }, /** * 获取Motd原文(基岩版) * @param {String} addr 服务器地址(支持域名、端口) * @returns {String} 获取到的文本(需要自己处理) * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96motd%e5%8e%9f%e6%96%87 */ getMotdpe: function (addr) { }, /** * 获取Motd原文(Java版) * @param {String} addr 服务器地址(支持域名、端口) * @returns {String} 获取到的文本(需要自己处理) * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96motd%e5%8e%9f%e6%96%87 */ getMotdje: function (addr) { }, /** * 发送群聊消息 * @param {Number} groupid 群号 * @param {String} msg 消息文本 * @returns {Boolean} 发送结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%8f%91%e9%80%81%e7%be%a4%e8%81%8a%e6%b6%88%e6%81%af */ sendGroup: function (groupid, msg) { }, /** * 发送私聊消息 * @param {Number} userid 对方qq * @param {String} msg 消息文本 * @returns {Boolean} 发送结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%8f%91%e9%80%81%e7%a7%81%e8%81%8a%e6%b6%88%e6%81%af */ sendPrivate: function (userid, msg) { }, /** * 发送数据包 * @param {String} packet 数据包文本 * @returns {Boolean} 发送结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%8f%91%e9%80%81%e6%95%b0%e6%8d%ae%e5%8c%85 */ sendPacket: function (packet) { }, /** * 获取ws连接状态 * @returns {Boolean} 连接状态 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96ws%e8%bf%9e%e6%8e%a5%e7%8a%b6%e6%80%81 */ getWsStatus: function () { }, /** * 绑定游戏ID * @param {Number} userid QQ号 * @param {String} gameid 游戏ID,需符合/^[a-zA-Z0-9_\s-]{4,16}$/ * @returns {Boolean} 绑定结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e7%bb%91%e5%ae%9a%e6%b8%b8%e6%88%8fid */ bindMember: function (userid, gameid) { }, /** * 删除绑定记录 * @param {Number} userid QQ号 * @returns {Boolean} 解绑结果 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%88%a0%e9%99%a4%e7%bb%91%e5%ae%9a%e8%ae%b0%e5%bd%95 */ unbindMember: function (userid) { }, /** * 获取指定用户QQ * @param {*} gameid 游戏ID * @returns {Number} QQ号 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e6%8c%87%e5%ae%9a%e7%94%a8%e6%88%b7qq */ getID: function (gameid) { }, /** * 获取指定游戏ID * @param {Number} userid QQ号 * @returns {String} 游戏ID * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e6%8c%87%e5%ae%9a%e6%b8%b8%e6%88%8fid */ getGameID: function (userid) { }, /** * 获取群成员昵称缓存字典 * @returns {Array} * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%8e%b7%e5%8f%96%e7%be%a4%e6%88%90%e5%91%98%e6%98%b5%e7%a7%b0%e7%bc%93%e5%ad%98%e5%ad%97%e5%85%b8 */ getGroupCache: function () { }, /** * 直接获取指定群的群成员昵称缓存 * @param {Number} groupid 群号 * @param {Number} userid QQ号 * @returns {String} 群成员昵称缓存 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e7%9b%b4%e6%8e%a5%e8%8e%b7%e5%8f%96%e6%8c%87%e5%ae%9a%e7%be%a4%e7%9a%84%e7%be%a4%e6%88%90%e5%91%98%e6%98%b5%e7%a7%b0%e7%bc%93%e5%ad%98 */ getUserName: function (groupid, userid) { }, /** * 导出 * @param {String} key 导出键名 * @param {*} obj 导出的对象 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%af%bc%e5%87%ba */ export: function (key, obj) { }, /** * 导入 * @param {String} key 导入键名 * @returns {any | null | undefined} 导入对象 * @see https://serein.cc/#/Function/JSDocs/Func?id=%e5%af%bc%e5%85%a5 */ import: function (key) { }, /** * 设置预加载配置 * @param {Array} assemblies * @param {Boolean} allowGetType * @param {Boolean} allowOperatorOverloading * @param {Boolean} allowSystemReflection * @param {Boolean} allowWrite * @param {Boolean} strict * @param {Boolean} stringCompilationAllowed * @see https://serein.cc/#/Function/JSDocs/Func?id=%e8%ae%be%e7%bd%ae%e9%a2%84%e5%8a%a0%e8%bd%bd%e9%85%8d%e7%bd%ae */ setPreLoadConfig: function (assemblies, allowGetType, allowOperatorOverloading, allowSystemReflection, allowWrite, strict, stringCompilationAllowed) { }, } /** * 引入命名空间 * @param {String} namespace * @returns {Object} 命名空间动态对象,具体路径见 https://learn.microsoft.com/zh-cn/dotnet/api/ */ function importNamespace(namespace) { }; /** * Java服务器Motd对象 */ class Motdje { /** * Java服务器Motd对象 * @param {String} addr 服务器地址 */ constructor(addr) { }; /** * Java服务器Motd对象 * @param {Number} port 本地端口 */ constructor(port) { }; /** * 最大玩家数 */ maxPlayer = ''; /** * 在线玩家数 */ onlinePlayer = ''; /** * 服务器描述 */ description = ''; /** * 协议 */ protocol = ''; /** * 图标(CQ码)(仅Java有意义) */ favicon = ''; /** * 延迟(ms) */ delay = 0; /** * 原文 */ origin = ''; /** * 错误消息 */ exception = ''; /** * 是否获取成功 */ isSuccessful = false; /** * IP */ ip = ''; /** * 端口 */ port = 0; /** * 获取信息 */ get(); /** * 尝试获取信息 * @returns {Boolean} */ tryGet(); } /** * 基岩版服务器Motd对象 */ class Motdpe { /** * 基岩版服务器Motd对象 * @param {String} addr 服务器地址 */ constructor(addr) { }; /** * 基岩版服务器Motd对象 * @param {Number} port 本地端口 */ constructor(port) { }; /** * 最大玩家数 */ maxPlayer = ''; /** * 在线玩家数 */ onlinePlayer = ''; /** * 服务器描述 */ description = ''; /** * 协议 */ protocol = ''; /** * 存档名称(仅基岩版有意义) */ levelName = ''; /** * 游戏模式(仅基岩版有意义) */ gameMode = ''; /** * 延迟(ms) */ delay = 0; /** * 原文 */ origin = ''; /** * 错误消息 */ exception = ''; /** * 是否获取成功 */ isSuccessful = false; /** * IP */ ip = ''; /** * 端口 */ port = 0; /** * 获取信息 */ get(); /** * 尝试获取信息 * @returns {Boolean} */ tryGet(); } /** * Logger */ class Logger { /** * Logger * @param {String} title 标题 */ constructor(title) { }; /** * 信息输出 * @param {*} content 输出内容 */ info(content) { }; /** * 警告输出 * @param {*} content 输出内容 */ warn(content) { }; /** * 错误输出 * @param {*} content 输出内容 */ error(content) { }; /** * 调试输出 * @param {*} content 输出内容 */ debug(content) { }; } /** * WebSocket客户端 */ class WSClient { /** * WebSocket客户端 * @param {String} uri ws地址 * @param {String} namespace 当前命名空间 */ constructor(uri, namespace) { }; /** * 开启事件 */ onopen = new Function(); /** * 关闭事件 */ onclose = new Function(); /** * 错误事件 */ onerror = new Function(); /** * 消息接收事件 */ onmessage = new Function(); /** * 连接 */ open() { }; /** * 发送 * @param {String} msg 消息内容 */ send(msg) { }; /** * 关闭 */ close() { }; /** * 释放对象(调用后释放对象的资源,且不可撤销) */ dispose() { }; /** * 连接状态 * @enum `-1` - 未知或无效; * @enum `0` - 正在连接; * @enum `1` - 连接成功; * @enum `2` - 正在关闭; * @enum `3` - 已关闭; */ state = 0; }