From 878a2c520ae61c5dc67cfd54e17e3ccd26edde9b Mon Sep 17 00:00:00 2001 From: cssxsh Date: Wed, 19 Apr 2023 23:13:08 +0800 Subject: [PATCH 01/23] feat: Question.md --- docs/Question.md | 69 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 docs/Question.md diff --git a/docs/Question.md b/docs/Question.md new file mode 100644 index 00000000000..86156b26cc5 --- /dev/null +++ b/docs/Question.md @@ -0,0 +1,69 @@ +# Mirai - Question + +## 用户常见问题 + +> 'java' 不是内部或外部命令,也不是可运行的程序 + +没有安装 `java` + +> `Failed to fetch announcement for ...` + +MCL查询更新信息失败,你可以尝试编辑 `config.json` 更换 [`mirai_repo`](https://github.com/project-mirai/mirai-repo-mirror#%E4%BB%93%E5%BA%93%E9%95%9C%E5%83%8F) + +> Login failed: Error(bot=..., code=..., title=.... + +这些是服务器返回的信息,它表示你的 `BOT` 账号被登录风控了 +风控没有100%稳定的解决方法,你可以关注 [论坛公告帖 - 无法登录的临时处理方案](https://mirai.mamoe.net/topic/223) + +> 登录协议如何修改 + +对于手动密码登录,第三个参数就是协议, 例如 `login 12345 114514 MACOS` + +对于自动密码登录,你可以使用指令修改,例如 `autoLogin setConfig 12345 protocol MACOS` +也可以在 `Mirai Console` 关闭的情况下, 编辑 `config/Console/AutoLogin.yml` 文件 +注意,文件中有一个账号为 `12345` 的示例,请注意确认修改的配置对应的账号,不要修改错了示例 + +> 聊天框无法使用指令(使用指令后没效果) + +1. 确认机器人收到消息 + 日志里会有消息记录,没有就是没收到,如果是群聊消息,注意是否已 `收入群助手`,这可能会导致收不到消息 + +2. 确认是否已经安装 [chat-command](https://github.com/project-mirai/chat-command/releases/download/v0.6.0/chat-command-0.6.0.mirai2.jar) + 如果插件的指令是对接的 `Mirai Console` 的指令接口,那它就需要 `chat-command` + +3. 确认是否已经授权给目标用户 + 默认情况下所有用户都是没有权限的,聊天框下无法使用指令 + +4. 确认日志中没有相关报错 + 如果插件指令执行出错,也有可能无法提供回复,请联系插件作者 + +> 如何确认 `Mirai 版本` 或 `插件版本` 等信息 + +使用指令 `/status` + +> 找不到 `http api` 的相关配置文件 + +你可能需要安装插件 https://github.com/project-mirai/mirai-api-http + +## 开发者常见问题 + +> 如何自定义登录处理 + +[覆盖登录解决器](https://github.com/mamoe/mirai/blob/dev/docs/Bots.md#%E8%A6%86%E7%9B%96%E7%99%BB%E5%BD%95%E8%A7%A3%E5%86%B3%E5%99%A8) + +> IDEA 下 `import` 爆红,mirai 相关依赖全部无法解析 + +IDEA 太旧了,没法解析新版 kotlin, 最后升级到最新版 + +> 有些事件收到不到 + +`SignEvent` 或者 `NudgeEvent` +总的来说 `MACOS` 和 `ANDROID_WATCH` 相对其他协议会缺少一些事件的接收 +对于这些协议来说是不会收到的,因为这在他们对应官方客户端版本里本来就没有这些功能 + +`GroupMessageEvent` +群事件收不到可能是因为你将群设置为`屏蔽群`或者`收入了群助手` + +> 发送语音之后播放没有声音 + +你可能需要安装插件/引入依赖 https://github.com/project-mirai/mirai-silk-converter From fa2279c125b912d28b5d640f1951313af446b7c4 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Wed, 19 Apr 2023 23:13:43 +0800 Subject: [PATCH 02/23] update: UserManual.md --- docs/UserManual.md | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/docs/UserManual.md b/docs/UserManual.md index bbcbba2e3b4..bbb0473faca 100644 --- a/docs/UserManual.md +++ b/docs/UserManual.md @@ -17,17 +17,31 @@ Mirai 控制台现在有两个版本,Mirai 插件在这两个版本的 Mirai C | 类型 | 长啥样? | 好用吗? | 怎么装? | |:-----|:-------------|:----------|:----------------------| | 纯控制台 | [MCLI-1.png] | 稳定,也适合服务器 | [使用纯控制台版本](#使用纯控制台版本) | -| 图形界面 | [MCPS-1.png] | 测试版,不稳定 | [使用图形界面版本](#使用图形界面版本) | +| 图形界面 | [MCPS-1.png] | 测试版,不推荐使用 | [使用图形界面版本](#使用图形界面版本) | -## 使用图形界面版本 +## 使用纯控制台版本 + +详细教程请查看 [ConsoleTerminal.md](ConsoleTerminal.md)。 + +以 Windows 系统为例,以下为简要安装步骤: + +1. 前往 [iTXTech/mcl-installer](https://github.com/iTXTech/mcl-installer/releases) 下载适合您系统的最新版本的 MCL 安装器 +2. 创建好文件夹之后,将 MCL 安装器移动到其中 +3. 双击 `mcl-installer.exe` 过程中只需要按几次回车键,即可安装完毕 +4. 运行 `mcl.cmd` 即可启动 MCL 控制台 +安装插件只需要将下载好的插件置于 plugins 目录,然后重启 MCL 控制台即可。 + +## ~~使用图形界面版本~~ + +开发者已停止更新,且有许多历史问题,故不推荐使用 前往 [sonder-joker/mirai-compose](https://github.com/sonder-joker/mirai-compose/releases) -下载适合你的系统的压缩包, +下载适合你的系统的压缩包, > MAC 系统下载 .dmg 后缀的文件 > Windows 系统下载 .msi 后缀的文件 -> Linux 系统下载 .deb 后缀的文件 +> Linux 系统下载 .deb 后缀的文件 -以 Windows 系统为例,以下为简要安装步骤: +以 Windows 系统为例,以下为简要安装步骤: 1. 下载 `mirai-compose-<版本>.msi` 2. 双击运行安装程序,选择一个合适的文件夹,然后点击安装 @@ -37,19 +51,6 @@ Mirai 控制台现在有两个版本,Mirai 插件在这两个版本的 Mirai C 安装插件只需要将下载好的插件置于 plugins 目录,安装完毕后重启 mirai-compose 以生效。 -## 使用纯控制台版本 - -详细教程请查看 [ConsoleTerminal.md](ConsoleTerminal.md)。 - -以 Windows 系统为例,以下为简要安装步骤: - -1. 前往 [iTXTech/mcl-installer](https://github.com/iTXTech/mcl-installer/releases) 下载适合您系统的最新版本的 MCL 安装器 -2. 创建好文件夹之后,将 MCL 安装器移动到其中 -3. 双击 `mcl-installer.exe` 过程中只需要按几次回车键,即可安装完毕 -4. 运行 `mcl.cmd` 即可启动 MCL 控制台 - -安装插件只需要将下载好的插件置于 plugins 目录,然后重启 MCL 控制台即可。 - ## 解决问题 如果遇到使用问题或想提建议,可以在 [issues](https://github.com/mamoe/mirai/issues) From b30144dfd32cfcebd699724a551dbbad51f2b58b Mon Sep 17 00:00:00 2001 From: cssxsh Date: Wed, 19 Apr 2023 23:13:56 +0800 Subject: [PATCH 03/23] update: ConsoleTerminal.md --- docs/ConsoleTerminal.md | 59 +++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/docs/ConsoleTerminal.md b/docs/ConsoleTerminal.md index dbecdf3a166..50e9949f180 100644 --- a/docs/ConsoleTerminal.md +++ b/docs/ConsoleTerminal.md @@ -9,10 +9,13 @@ Console,可参考 [Console 开发文档](../mirai-console/docs/README.md)。 本文假设你使用 Windows 操作系统。但 Mirai Console 并不仅限于 Windows 平台使用,在其他操作系统上的使用方法应当是类似的。 +请注意,关闭 `mirai-console-terminal` 请使用 `stop` 指令关闭 +不要直接右上角关闭窗口。 + 安装 ---- -可以使用[脚本](https://mirai.mamoe.net/assets/uploads/files/1618372079496-install-20210412.cmd) +可以使用 [脚本](https://mirai.mamoe.net/assets/uploads/files/1618372079496-install-20210412.cmd) 自动安装 32 位带 HTTP 插件的版本,也可以使用安装器个性化安装: [iTXTech/mcl-installer]: https://github.com/iTXTech/mcl-installer/releases @@ -40,13 +43,16 @@ MCL 只是启动器,没有机器人功能。MCL 支持从远程仓库下载插 如果遇到启动器问题,请提交至 [iTXTech/mirai-console-loader](https://github.com/iTXTech/mirai-console-loader) 。 -| 文件夹名称 | 用途 | -|:---------:|:--------------------| -| `scripts` | 存放启动器的脚本,一般不需要在意他们 | -| `plugins` | 存放插件 | -| `data` | 存放插件的数据,一般不需要在意它们 | -| `config` | 存放插件的配置,可以打开并修改配置 | -| `logs` | 存放运行时的日志,日志默认保留 7 天 | +| 文件夹名称 | 用途 | +|:-------------------------:|:---------------------| +| `data` | 存放插件的数据,一般不需要在意它们 | +| `config` | 存放插件的配置,可以打开并修改配置 | +| `logs` | 存放运行时的日志,日志默认保留 7 天 | +| `libs` | 存放 mirai-core 等核心库文件 | +| `plugins` | 存放插件 | +| `plugin-libraries` | 存放插件的库缓存 | +| `plugin-shared-libraries` | 存放插件的公共库 | +| `modules` | 存放启动器的拓展模块 | > 可以在[这里](https://github.com/iTXTech/mirai-console-loader)查看 MCL 详细用法 @@ -57,7 +63,7 @@ MCL 只是启动器,没有机器人功能。MCL 支持从远程仓库下载插 Mirai Console 原生支持 JAR 文件插件。一般插件的后缀为 `.mirai2.jar`(新版本)或 `.mirai.jar` (旧版本)。 -将插件 JAR 放在 `plugins` 目录中,重启 MCL 就会自动扫描并加载。 +将插件 JAR 放在 `plugins` 目录中,重启 Mirai Console 就会自动扫描并加载。 Mirai Console @@ -83,19 +89,19 @@ Mirai 官方提供两个插件: 安装 mirai-api-http 的 2.x 版本: ```powershell -./mcl --update-package net.mamoe:mirai-api-http --type plugin --channel stable-v2 +./mcl --update-package net.mamoe:mirai-api-http --type plugin --channel maven-stable ``` 安装 chat-command: ```powershell -./mcl --update-package net.mamoe:chat-command --type plugin --channel stable +./mcl --update-package net.mamoe:chat-command --type plugin --channel maven-stable ``` -注意:插件有多个频道,`--channel stable` 表示使用名为 `stable`(稳定)的频道。不同的插件可能会设置不同的频道, +注意:插件有多个频道,`--channel maven-stable` 表示使用从 `maven` 更新的 `stable`(稳定)的频道。不同的插件可能会设置不同的频道, 具体需要使用哪个频道可参考特定插件的说明 (很多插件会单独说明要如何安装它们, 因此不必过多考虑)。 -详细文档:[MCL/scripts](https://github.com/iTXTech/mirai-console-loader/blob/master/cli.md) +详细文档:[MCL 命令行参数](https://github.com/iTXTech/mirai-console-loader/blob/master/cli.md) ### 在哪找社区插件 @@ -108,17 +114,24 @@ Mirai 官方提供两个插件: 如果是 JAR 文件的插件,放入 `plugins` 即可。其他插件一般都有特殊说明如何使用,请参考它们的说明。 -注意,mirai 在 2.11 时修改了加载策略。在这之后如果要从 MCL 安装插件 +注意,mirai 在 2.11 时修改了加载策略。请尽量使用 `mirai2.jar` 后缀版本的插件 -### 推荐安装的插件 +### 常用的插件 - [chat-command](https://github.com/project-mirai/chat-command): - 不安装此环境不能在聊天环境中执行命令 -- [mirai-api-http](https://github.com/project-mirai/mirai-api-http):提供 - HTTP 支持,允许使用其他编程语言的插件 + 不安装此插件不能在聊天环境中执行命令 + +- [mirai-api-http](https://github.com/project-mirai/mirai-api-http): + 提供 HTTP 支持,允许使用其他编程语言的插件 + +- [mirai-silk-converter](https://github.com/project-mirai/mirai-silk-converter): + 可以自动将 `wav`, `mp3` 等格式转换为语音所需格式 `silk` + +- [LuckPerms-Mirai](https://github.com/Karlatemp/LuckPerms-Mirai): + 高级权限组插件,适合权限分配模型比较复杂的情况,并且可以提供网页UI的权限编辑器 (指令 `lp editor`) -- [LuckPerms-Mirai](https://github.com/Karlatemp/LuckPerms-Mirai) - :高级权限组插件,适合权限分配模型比较复杂的情况 +- [mirai-login-solver-sakura](https://github.com/KasukuSakura/mirai-login-solver-sakura): + 验证处理工具,主要是为了优化和方便处理各种验证码 使用控制台指令 ----- @@ -130,7 +143,7 @@ Mirai Console 内置一些指令,输入 `?` 并回车可以查看指令列表 一些常用指令介绍在[这里](/mirai-console/docs/BuiltInCommands.md#mirai-console---builtin-commands) 。 -### 在群聊中使用命令 (权限授予) +### 在聊天框中使用命令 (权限授予) 要允许从 QQ 聊天环境中使用各种命令, 你 **必须** 完成以下的配置: @@ -223,11 +236,11 @@ Mirai Console 支持一些自定义配置。各项配置可以在 `config` 目 ### 管理日志 -Mirai Console 会记录运行时的日志并保存到 `logs` 目录中,其中 `latest.log` 为最新日志。 +Mirai Console 会记录运行时的日志并保存到 `logs` 目录中。 可以参考[日志文档](../mirai-console/docs/Logging.md)了解如何配置日志的详略程度。 -若要向插件开发者提交问题,建议将日志等级调整为 `ALL` 并复现问题后附加 `latest.log` 一并提交。 +若要向插件开发者提交问题,建议将日志等级调整为 `ALL` 并复现问题后一并提交。 ### 配置权限 From 38dd0f90ede73ba3832d61d94a86acd900b42bb8 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Sun, 23 Apr 2023 15:10:50 +0800 Subject: [PATCH 04/23] update: ConsoleTerminal.md --- docs/ConsoleTerminal.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ConsoleTerminal.md b/docs/ConsoleTerminal.md index 50e9949f180..5bbc6bfb7dd 100644 --- a/docs/ConsoleTerminal.md +++ b/docs/ConsoleTerminal.md @@ -9,7 +9,7 @@ Console,可参考 [Console 开发文档](../mirai-console/docs/README.md)。 本文假设你使用 Windows 操作系统。但 Mirai Console 并不仅限于 Windows 平台使用,在其他操作系统上的使用方法应当是类似的。 -请注意,关闭 `mirai-console-terminal` 请使用 `stop` 指令关闭 +请注意,关闭 Mirai Console 请使用 `stop` 指令关闭 不要直接右上角关闭窗口。 安装 @@ -240,7 +240,7 @@ Mirai Console 会记录运行时的日志并保存到 `logs` 目录中。 可以参考[日志文档](../mirai-console/docs/Logging.md)了解如何配置日志的详略程度。 -若要向插件开发者提交问题,建议将日志等级调整为 `ALL` 并复现问题后一并提交。 +若要向插件开发者提交问题,建议将日志等级调整为 `ALL` 并复现问题后将日志一并提交。 ### 配置权限 From 14a593a1428980d80c83c16230b5fb60df7a95f8 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Sun, 23 Apr 2023 15:11:42 +0800 Subject: [PATCH 05/23] update: Question.md --- docs/Question.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/Question.md b/docs/Question.md index 86156b26cc5..4d924dfa6f1 100644 --- a/docs/Question.md +++ b/docs/Question.md @@ -13,7 +13,8 @@ MCL查询更新信息失败,你可以尝试编辑 `config.json` 更换 [`mirai > Login failed: Error(bot=..., code=..., title=.... 这些是服务器返回的信息,它表示你的 `BOT` 账号被登录风控了 -风控没有100%稳定的解决方法,你可以关注 [论坛公告帖 - 无法登录的临时处理方案](https://mirai.mamoe.net/topic/223) +风控没有100%稳定的解决方法,你可以关注 [论坛公告帖 - 无法登录的临时处理方案](https://mirai.mamoe.net/topic/223) +另外,密码登录中是否出现`滑块验证`或`短信验证`都是不可控的,这取决于腾讯的服务器要求你完成什么验证,没有办法自由选择。 > 登录协议如何修改 From 8074a795104eae294318f869d7a1185baa4be5c5 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Sun, 23 Apr 2023 17:43:21 +0800 Subject: [PATCH 06/23] update: Bots.md --- docs/Bots.md | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/docs/Bots.md b/docs/Bots.md index 2feba3049f4..b5070f5aa30 100644 --- a/docs/Bots.md +++ b/docs/Bots.md @@ -33,6 +33,8 @@ interface BotFactory { fun newBot(qq: Long, password: String): Bot fun newBot(qq: Long, passwordMd5: ByteArray, configuration: BotConfiguration): Bot fun newBot(qq: Long, passwordMd5: ByteArray): Bot + fun newBot(qq: Long, authorization: BotAuthorization) + fun newBot(qq: Long, authorization: BotAuthorization, configuration: BotConfiguration) companion object : BotFactory by BotFactoryImpl } @@ -59,12 +61,18 @@ val bot = BotFactory.newBot(qq, password) { // 配置,例如: fileBasedDeviceInfo() } +val bot BotFactory.newBot(qq, BotAuthorization.byQRCode()) { + protocol = BotConfiguration.MiraiProtocol.ANDROID_WATCH +} // Java Bot bot = BotFactory.INSTANCE.newBot(qq, password, new BotConfiguration() {{ // 配置,例如: fileBasedDeviceInfo() -}}) +}}); +Bot bot = BotFactory.INSTANCE.newBot(qq, BotAuthorization.byQRCode(), configuration -> { + configuration.setProtocol(BotConfiguration.MiraiProtocol.ANDROID_WATCH); +}); ``` 下文示例代码都要放入 `// 配置` 中。 @@ -176,7 +184,8 @@ deviceInfo = { bot -> /* create device info */ } setDeviceInfo(bot -> /* create device info */) ``` -在线生成自定义设备信息的 `device.json`: https://ryoii.github.io/mirai-devicejs-generator/ +在线生成自定义设备信息的 `device.json`: https://ryoii.github.io/mirai-devicejs-generator/ +更加仿真的设备信息的 `device.json`: https://github.com/cssxsh/mirai-device-generator #### 使用其他日志库接管 mirai 日志系统 *mirai 2.7 起支持* @@ -255,25 +264,26 @@ contactListCache.setSaveIntervalMillis(60000) // 可选设置有更新时的保 ### 处理滑动验证码 -[project-mirai/mirai-login-solver-selenium]: https://github.com/project-mirai/mirai-login-solver-selenium +[mirai-login-solver-sakura]: https://github.com/KasukuSakura/mirai-login-solver-sakura 服务器正在大力推广滑块验证码。 部分账号可以跳过滑块验证码,Mirai 会自动尝试。 -若你的账号无法跳过验证,可在 [project-mirai/mirai-login-solver-selenium] 查看处理方案。 +若你的账号无法跳过验证,可尝试使用 [mirai-login-solver-sakura] 处理。 -**若遇到滑块验证问题无法解决,可以参考[论坛帮助页面](https://mirai.mamoe.net/topic/223/%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95%E7%9A%84%E4%B8%B4%E6%97%B6%E5%A4%84%E7%90%86%E6%96%B9%E6%A1%88)。** +**若遇到滑块验证问题无法解决,可以参考[论坛帮助页面](https://mirai.mamoe.net/topic/223)。** ### 常见登录失败原因 [#993]: https://github.com/mamoe/mirai/discussions/993 -| 错误信息 | 可能的原因 | 可能的解决方案 | -|:--------------|:---------------|:-----------------------------------------------------------| -| 当前版本过低 | 密码错误 | 检查密码或修改密码到 16 位以内 | -| 当前上网环境异常 | 设备锁 | 开启或关闭设备锁 (登录保护) | -| 禁止登录 | 需要处理滑块验证码 | [project-mirai/mirai-login-solver-selenium] | +| 错误信息 | 可能的原因 | 可能的解决方案 | +|:-----------|:------------|:--------------------------------------------| | 密码错误 | 密码错误或过长 | 手机协议最大支持 16 位密码 ([#993]). 在官方 PC 客户端登录后修改密码 | +| `code=45` | 设备信息被拉黑 | 删除 device.json, 让其重新生成 | +| `code=235` | 设备信息被拉黑 | 删除 device.json, 让其重新生成 | +| `code=237` | 滑块验证处理过慢 | 尝试使用 [mirai-login-solver-sakura] 处理滑块验证 | +| `code=238` | 当前协议已禁止密码登录 | 使用扫码登录 | 若以上方案无法解决问题,请尝试 [切换登录协议](#切换登录协议) 和 **[处理滑动验证码](#处理滑动验证码)**。 From 4300d2b9e4da835b26bfdd163a0a456df6ff8e2e Mon Sep 17 00:00:00 2001 From: cssxsh Date: Sun, 23 Apr 2023 17:44:59 +0800 Subject: [PATCH 07/23] update: Question.md --- docs/Question.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/Question.md b/docs/Question.md index 4d924dfa6f1..65733df2f40 100644 --- a/docs/Question.md +++ b/docs/Question.md @@ -46,9 +46,14 @@ MCL查询更新信息失败,你可以尝试编辑 `config.json` 更换 [`mirai 你可能需要安装插件 https://github.com/project-mirai/mirai-api-http +> 如何添加 jvm 参数,例如 `-Dmirai.no-desktop=true` + +编辑启动脚本 `mcl.cmd`, 在 `-jar` 前面加上 `-D...` +例如 `-Dmirai.no-desktop=true -jar mcl...` + ## 开发者常见问题 -> 如何自定义登录处理 +> 如何自定义登录验证处理 [覆盖登录解决器](https://github.com/mamoe/mirai/blob/dev/docs/Bots.md#%E8%A6%86%E7%9B%96%E7%99%BB%E5%BD%95%E8%A7%A3%E5%86%B3%E5%99%A8) @@ -65,6 +70,8 @@ IDEA 太旧了,没法解析新版 kotlin, 最后升级到最新版 `GroupMessageEvent` 群事件收不到可能是因为你将群设置为`屏蔽群`或者`收入了群助手` +另外如果消息是 `转发消息` 或 `卡片消息` 等特殊消息, 也有可能因为风控无法接收和发出 + > 发送语音之后播放没有声音 -你可能需要安装插件/引入依赖 https://github.com/project-mirai/mirai-silk-converter +你可能需要 安装插件/引入依赖 https://github.com/project-mirai/mirai-silk-converter From f11c907a0192fc43da428578512146c2903faa47 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Wed, 26 Apr 2023 12:02:46 +0800 Subject: [PATCH 08/23] update: EventList.md --- docs/EventList.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/EventList.md b/docs/EventList.md index 1fd7f92749a..03bf72201f0 100644 --- a/docs/EventList.md +++ b/docs/EventList.md @@ -36,7 +36,11 @@ - 好友消息: FriendMessagePreSendEvent - 群临时会话消息: GroupTempMessagePreSendEvent - 陌生人消息:StrangerMessagePreSendEvent - - 其他客户端消息:OtherClientMessagePreSendEvent +- 从其他客户端同步消息 MessageSyncEvent + - 群消息: GroupMessageSyncEvent + - 好友消息: FriendMessageSyncEvent + - 群临时会话消息: GroupTempMessageSyncEvent + - 陌生人消息: StrangerMessageSyncEvent - 主动发送消息后: MessagePostSendEvent - 群消息: GroupMessagePostSendEvent - 好友消息: FriendMessagePostSendEvent @@ -86,6 +90,7 @@ ##### 名片和头衔 - 成员群名片改动: MemberCardChangeEvent - 成员群特殊头衔改动: MemberSpecialTitleChangeEvent +- 成员群荣誉改变: MemberHonorChangeEvent ##### 成员权限 - 成员权限改变: MemberPermissionChangeEvent @@ -102,3 +107,7 @@ - 好友头像改变: FriendAvatarChangedEvent - 好友昵称改变: FriendNickChangedEvent - 好友输入状态改变: FriendInputStatusChangedEvent + +### 控制台 +- 自动登录执行后: StartupEvent [2.15.0, +∞) +- 控制台启动完成: AutoLoginEvent [2.15.0, +∞) From b08b1c6daf458a0d8db3e088655d6c139f89a696 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Wed, 26 Apr 2023 12:14:32 +0800 Subject: [PATCH 09/23] update: Question.md --- docs/Question.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/Question.md b/docs/Question.md index 65733df2f40..373fe857e4f 100644 --- a/docs/Question.md +++ b/docs/Question.md @@ -40,7 +40,11 @@ MCL查询更新信息失败,你可以尝试编辑 `config.json` 更换 [`mirai > 如何确认 `Mirai 版本` 或 `插件版本` 等信息 -使用指令 `/status` +可以启动 MCL 的情况下: +用指令 `/status` + +无法启动的情况下: +`Mirai Console` 的组件在 `libs` 文件夹下, 文件名包含 `版本信息` > 找不到 `http api` 的相关配置文件 @@ -49,7 +53,8 @@ MCL查询更新信息失败,你可以尝试编辑 `config.json` 更换 [`mirai > 如何添加 jvm 参数,例如 `-Dmirai.no-desktop=true` 编辑启动脚本 `mcl.cmd`, 在 `-jar` 前面加上 `-D...` -例如 `-Dmirai.no-desktop=true -jar mcl...` +例如 `-Dmirai.no-desktop=true -jar mcl...` +`Linux/MacOS` 的启动脚本是 `mcl` (没有后缀的那个文件) ## 开发者常见问题 @@ -59,7 +64,7 @@ MCL查询更新信息失败,你可以尝试编辑 `config.json` 更换 [`mirai > IDEA 下 `import` 爆红,mirai 相关依赖全部无法解析 -IDEA 太旧了,没法解析新版 kotlin, 最后升级到最新版 +IDEA 太旧了,没法解析新版 kotlin, 最好升级到最新版 > 有些事件收到不到 From 78fdd5852d91f9ad177e31185df501cb35f75273 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Wed, 26 Apr 2023 12:30:22 +0800 Subject: [PATCH 10/23] update: Preparations.md --- docs/Preparations.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/Preparations.md b/docs/Preparations.md index 24e7a828ee8..f3a1eee63d9 100644 --- a/docs/Preparations.md +++ b/docs/Preparations.md @@ -4,12 +4,11 @@ ## JVM 环境要求 -- 桌面 JVM:最低 Java 8,但推荐 Java 11(要使用一键启动器,需要 11) +- 桌面 JVM:最低 Java 8,但推荐 Java 17(要使用一键启动器,需要 11+) - Android:Android SDK 26+ (Android 8.0,Oreo) 目前主要使用的自动启动器,[Mirai Console Loader](https://github.com/iTXTech/mirai-console-loader) -,(MCL) 默认安装 JRE 17。但旧版本 MCL 会默认安装 JRE 11。因此 Mirai Console 插件使用 JDK 11 -是较合适的。 +,(MCL) 默认安装 JRE 17。 **但注意不要使用 Oracle JDK** ([原因](https://github.com/mamoe/mirai/discussions/779)),可以使用其他任何 JDK。 From 2e17072c47a561d9c57c8cd8dcefb332c8e4827b Mon Sep 17 00:00:00 2001 From: cssxsh Date: Wed, 26 Apr 2023 12:30:53 +0800 Subject: [PATCH 11/23] update: ConsoleTerminal.md --- docs/ConsoleTerminal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ConsoleTerminal.md b/docs/ConsoleTerminal.md index 5bbc6bfb7dd..13ce0995d69 100644 --- a/docs/ConsoleTerminal.md +++ b/docs/ConsoleTerminal.md @@ -240,7 +240,7 @@ Mirai Console 会记录运行时的日志并保存到 `logs` 目录中。 可以参考[日志文档](../mirai-console/docs/Logging.md)了解如何配置日志的详略程度。 -若要向插件开发者提交问题,建议将日志等级调整为 `ALL` 并复现问题后将日志一并提交。 +若要向插件开发者提交问题,建议将日志等级调整为 `ALL` 并复现问题后将当天日志一并提交。 ### 配置权限 From bd6cb9d8d639039cb6416186d9b135cc989db728 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Wed, 26 Apr 2023 12:34:34 +0800 Subject: [PATCH 12/23] update: Bots.md --- docs/Bots.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/Bots.md b/docs/Bots.md index b5070f5aa30..cc021d97635 100644 --- a/docs/Bots.md +++ b/docs/Bots.md @@ -277,13 +277,13 @@ contactListCache.setSaveIntervalMillis(60000) // 可选设置有更新时的保 [#993]: https://github.com/mamoe/mirai/discussions/993 -| 错误信息 | 可能的原因 | 可能的解决方案 | -|:-----------|:------------|:--------------------------------------------| -| 密码错误 | 密码错误或过长 | 手机协议最大支持 16 位密码 ([#993]). 在官方 PC 客户端登录后修改密码 | -| `code=45` | 设备信息被拉黑 | 删除 device.json, 让其重新生成 | -| `code=235` | 设备信息被拉黑 | 删除 device.json, 让其重新生成 | -| `code=237` | 滑块验证处理过慢 | 尝试使用 [mirai-login-solver-sakura] 处理滑块验证 | -| `code=238` | 当前协议已禁止密码登录 | 使用扫码登录 | +| 错误信息 | 可能的原因 | 可能的解决方案 | +|:-----------|:---------------------|:--------------------------------------------| +| 密码错误 | 密码错误或过长 | 手机协议最大支持 16 位密码 ([#993]). 在官方 PC 客户端登录后修改密码 | +| `code=45` | 协议版本过低或设备信息被拉黑 | 删除 device.json, 让其重新生成 | +| `code=235` | 协议版本过低或设备信息被拉黑 | 删除 device.json, 让其重新生成 | +| `code=237` | 滑块验证处理过慢或者提交ticket有误 | 尝试使用 [mirai-login-solver-sakura] 处理滑块验证 | +| `code=238` | 当前协议已禁止密码登录 | 使用扫码登录 | 若以上方案无法解决问题,请尝试 [切换登录协议](#切换登录协议) 和 **[处理滑动验证码](#处理滑动验证码)**。 From e547ad1f90100870e26397df34e671586b576f8e Mon Sep 17 00:00:00 2001 From: cssxsh Date: Wed, 26 Apr 2023 12:45:59 +0800 Subject: [PATCH 13/23] update: nav.js --- docs/.conf/nav.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/.conf/nav.js b/docs/.conf/nav.js index d914358bc1b..d7f54102672 100644 --- a/docs/.conf/nav.js +++ b/docs/.conf/nav.js @@ -1,5 +1,5 @@ /* - * Copyright 2019-2022 Mamoe Technologies and contributors. + * Copyright 2019-2023 Mamoe Technologies and contributors. * * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证. * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link. @@ -18,6 +18,7 @@ module.exports = { {text: '用户手册 - 控制台', link: '/ConsoleTerminal.html'}, {text: 'JVM 环境和开发准备工作', link: '/Preparations.html'}, {text: "配置项目", link: "/ConfiguringProjects.html"}, + {text: "常见问题", link: "/Question.html"}, { text: "CoreAPI", items: [ {text: "CoreAPI", link: "/CoreAPI.html"}, From b9d7175782e3bac20583fbef767da923c2e895af Mon Sep 17 00:00:00 2001 From: cssxsh Date: Thu, 27 Apr 2023 16:36:59 +0800 Subject: [PATCH 14/23] update: UserManual.md --- docs/.conf/nav.js | 2 +- docs/{Question.md => Questions.md} | 2 +- docs/UserManual.md | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) rename docs/{Question.md => Questions.md} (99%) diff --git a/docs/.conf/nav.js b/docs/.conf/nav.js index d7f54102672..da21274830d 100644 --- a/docs/.conf/nav.js +++ b/docs/.conf/nav.js @@ -18,7 +18,7 @@ module.exports = { {text: '用户手册 - 控制台', link: '/ConsoleTerminal.html'}, {text: 'JVM 环境和开发准备工作', link: '/Preparations.html'}, {text: "配置项目", link: "/ConfiguringProjects.html"}, - {text: "常见问题", link: "/Question.html"}, + {text: "常见问题", link: "/Questions.html"}, { text: "CoreAPI", items: [ {text: "CoreAPI", link: "/CoreAPI.html"}, diff --git a/docs/Question.md b/docs/Questions.md similarity index 99% rename from docs/Question.md rename to docs/Questions.md index 373fe857e4f..652d9d00a23 100644 --- a/docs/Question.md +++ b/docs/Questions.md @@ -1,4 +1,4 @@ -# Mirai - Question +# Mirai - Questions ## 用户常见问题 diff --git a/docs/UserManual.md b/docs/UserManual.md index bbb0473faca..38668ece4bd 100644 --- a/docs/UserManual.md +++ b/docs/UserManual.md @@ -53,6 +53,8 @@ Mirai 控制台现在有两个版本,Mirai 插件在这两个版本的 Mirai C ## 解决问题 +你可以先阅读 [常见问题](Questions.md) + 如果遇到使用问题或想提建议,可以在 [issues](https://github.com/mamoe/mirai/issues) 发表。也可以在[论坛](https://mirai.mamoe.net/)交流想法。 From 6dc3591ef8d0748d387c68582c2e62f968c0fcba Mon Sep 17 00:00:00 2001 From: cssxsh Date: Thu, 27 Apr 2023 16:37:31 +0800 Subject: [PATCH 15/23] update: Bots.md --- docs/Bots.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/Bots.md b/docs/Bots.md index cc021d97635..422092cbc04 100644 --- a/docs/Bots.md +++ b/docs/Bots.md @@ -33,6 +33,7 @@ interface BotFactory { fun newBot(qq: Long, password: String): Bot fun newBot(qq: Long, passwordMd5: ByteArray, configuration: BotConfiguration): Bot fun newBot(qq: Long, passwordMd5: ByteArray): Bot + // 在 2.15.0 中加入 fun newBot(qq: Long, authorization: BotAuthorization) fun newBot(qq: Long, authorization: BotAuthorization, configuration: BotConfiguration) @@ -61,6 +62,7 @@ val bot = BotFactory.newBot(qq, password) { // 配置,例如: fileBasedDeviceInfo() } +// 在 2.15.0 中加入 val bot BotFactory.newBot(qq, BotAuthorization.byQRCode()) { protocol = BotConfiguration.MiraiProtocol.ANDROID_WATCH } @@ -70,6 +72,7 @@ Bot bot = BotFactory.INSTANCE.newBot(qq, password, new BotConfiguration() {{ // 配置,例如: fileBasedDeviceInfo() }}); +// 在 2.15.0 中加入 Bot bot = BotFactory.INSTANCE.newBot(qq, BotAuthorization.byQRCode(), configuration -> { configuration.setProtocol(BotConfiguration.MiraiProtocol.ANDROID_WATCH); }); From b73f8b32a46d730410013df2521432084f51cd0f Mon Sep 17 00:00:00 2001 From: cssxsh Date: Thu, 27 Apr 2023 16:39:12 +0800 Subject: [PATCH 16/23] update: Bots.md --- docs/Bots.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Bots.md b/docs/Bots.md index 422092cbc04..fc79153921f 100644 --- a/docs/Bots.md +++ b/docs/Bots.md @@ -63,7 +63,7 @@ val bot = BotFactory.newBot(qq, password) { fileBasedDeviceInfo() } // 在 2.15.0 中加入 -val bot BotFactory.newBot(qq, BotAuthorization.byQRCode()) { +val bot = BotFactory.newBot(qq, BotAuthorization.byQRCode()) { protocol = BotConfiguration.MiraiProtocol.ANDROID_WATCH } From a811ee634c1a8b0882897c8c621a5fd07a866db9 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Sun, 30 Apr 2023 17:09:22 +0800 Subject: [PATCH 17/23] update: Bots.md --- docs/Bots.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/Bots.md b/docs/Bots.md index fc79153921f..0cddf9c6717 100644 --- a/docs/Bots.md +++ b/docs/Bots.md @@ -72,6 +72,7 @@ Bot bot = BotFactory.INSTANCE.newBot(qq, password, new BotConfiguration() {{ // 配置,例如: fileBasedDeviceInfo() }}); +Bot bot = BotFactory.INSTANCE.newBot(qq, password, configuration -> {}) // 在 2.15.0 中加入 Bot bot = BotFactory.INSTANCE.newBot(qq, BotAuthorization.byQRCode(), configuration -> { configuration.setProtocol(BotConfiguration.MiraiProtocol.ANDROID_WATCH); From 084163363ff14ce4dfa8fb947b38806b4b51d952 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Sun, 30 Apr 2023 17:09:53 +0800 Subject: [PATCH 18/23] update: ConsoleTerminal.md --- docs/ConsoleTerminal.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ConsoleTerminal.md b/docs/ConsoleTerminal.md index 13ce0995d69..e67978f3761 100644 --- a/docs/ConsoleTerminal.md +++ b/docs/ConsoleTerminal.md @@ -9,8 +9,8 @@ Console,可参考 [Console 开发文档](../mirai-console/docs/README.md)。 本文假设你使用 Windows 操作系统。但 Mirai Console 并不仅限于 Windows 平台使用,在其他操作系统上的使用方法应当是类似的。 -请注意,关闭 Mirai Console 请使用 `stop` 指令关闭 -不要直接右上角关闭窗口。 +> 重要:关闭 Mirai Console 需要通过 `stop` 命令关闭。 +> 直接关闭窗口会导致数据损坏、数据丢失、系统崩溃等错误。 安装 ---- From e29bf63994ce822370fc03b2d94ea388a04735a4 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Sun, 30 Apr 2023 17:10:42 +0800 Subject: [PATCH 19/23] update: Questions.md --- docs/Questions.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/Questions.md b/docs/Questions.md index 652d9d00a23..f5680c8e12e 100644 --- a/docs/Questions.md +++ b/docs/Questions.md @@ -8,7 +8,9 @@ > `Failed to fetch announcement for ...` -MCL查询更新信息失败,你可以尝试编辑 `config.json` 更换 [`mirai_repo`](https://github.com/project-mirai/mirai-repo-mirror#%E4%BB%93%E5%BA%93%E9%95%9C%E5%83%8F) +[MCL](https://github.com/iTXTech/mirai-console-loader) 查询更新信息失败, +你可以尝试编辑 `config.json` +更换 [`mirai_repo`](https://github.com/project-mirai/mirai-repo-mirror#%E4%BB%93%E5%BA%93%E9%95%9C%E5%83%8F) > Login failed: Error(bot=..., code=..., title=.... @@ -29,18 +31,19 @@ MCL查询更新信息失败,你可以尝试编辑 `config.json` 更换 [`mirai 1. 确认机器人收到消息 日志里会有消息记录,没有就是没收到,如果是群聊消息,注意是否已 `收入群助手`,这可能会导致收不到消息 -2. 确认是否已经安装 [chat-command](https://github.com/project-mirai/chat-command/releases/download/v0.6.0/chat-command-0.6.0.mirai2.jar) +2. 确认是否已经安装 [chat-command](https://github.com/project-mirai/chat-command/releases/latest) 如果插件的指令是对接的 `Mirai Console` 的指令接口,那它就需要 `chat-command` 3. 确认是否已经授权给目标用户 - 默认情况下所有用户都是没有权限的,聊天框下无法使用指令 + 默认情况下所有用户都是没有权限的,聊天框下无法使用指令 + PS: 如果使用了 LuckPerms-Mirai, 可通过在控制台执行 /lp verbose on 查看权限检测情况 4. 确认日志中没有相关报错 如果插件指令执行出错,也有可能无法提供回复,请联系插件作者 > 如何确认 `Mirai 版本` 或 `插件版本` 等信息 -可以启动 MCL 的情况下: +可以启动 Mirai Console 的情况下: 用指令 `/status` 无法启动的情况下: @@ -64,7 +67,7 @@ MCL查询更新信息失败,你可以尝试编辑 `config.json` 更换 [`mirai > IDEA 下 `import` 爆红,mirai 相关依赖全部无法解析 -IDEA 太旧了,没法解析新版 kotlin, 最好升级到最新版 +IDEA 版本过于老旧,无法分析新版本的 kotlin 依赖,请尝试升级 IDEA 后重试 > 有些事件收到不到 @@ -73,7 +76,7 @@ IDEA 太旧了,没法解析新版 kotlin, 最好升级到最新版 对于这些协议来说是不会收到的,因为这在他们对应官方客户端版本里本来就没有这些功能 `GroupMessageEvent` -群事件收不到可能是因为你将群设置为`屏蔽群`或者`收入了群助手` +群事件收不到可能是因为你将群设置为 `屏蔽群` 或者 `收入了群助手` 另外如果消息是 `转发消息` 或 `卡片消息` 等特殊消息, 也有可能因为风控无法接收和发出 From 2d4cb66e8e38e4e6eccfb1c9048dc45918831fb9 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Sun, 30 Apr 2023 17:12:25 +0800 Subject: [PATCH 20/23] update: Questions.md --- docs/Questions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Questions.md b/docs/Questions.md index f5680c8e12e..a383b511b5b 100644 --- a/docs/Questions.md +++ b/docs/Questions.md @@ -36,14 +36,14 @@ 3. 确认是否已经授权给目标用户 默认情况下所有用户都是没有权限的,聊天框下无法使用指令 - PS: 如果使用了 LuckPerms-Mirai, 可通过在控制台执行 /lp verbose on 查看权限检测情况 + PS: 如果使用了 `LuckPerms-Mirai`, 可通过在控制台执行 /lp verbose on 查看权限检测情况 4. 确认日志中没有相关报错 如果插件指令执行出错,也有可能无法提供回复,请联系插件作者 > 如何确认 `Mirai 版本` 或 `插件版本` 等信息 -可以启动 Mirai Console 的情况下: +可以启动 `Mirai Console` 的情况下: 用指令 `/status` 无法启动的情况下: From 1e7f5d5960ac992c915b61df0d419f965805fd97 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Fri, 5 May 2023 02:38:46 +0800 Subject: [PATCH 21/23] update: ... --- docs/ConsoleTerminal.md | 4 ++-- docs/Preparations.md | 2 +- docs/Questions.md | 20 ++++++++++---------- docs/UserManual.md | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/ConsoleTerminal.md b/docs/ConsoleTerminal.md index e67978f3761..eb571857a5d 100644 --- a/docs/ConsoleTerminal.md +++ b/docs/ConsoleTerminal.md @@ -9,8 +9,8 @@ Console,可参考 [Console 开发文档](../mirai-console/docs/README.md)。 本文假设你使用 Windows 操作系统。但 Mirai Console 并不仅限于 Windows 平台使用,在其他操作系统上的使用方法应当是类似的。 -> 重要:关闭 Mirai Console 需要通过 `stop` 命令关闭。 -> 直接关闭窗口会导致数据损坏、数据丢失、系统崩溃等错误。 +**重要**:关闭 Mirai Console 需要通过 `stop` 命令关闭。 +直接关闭窗口会导致数据损坏、数据丢失、系统崩溃等错误。 安装 ---- diff --git a/docs/Preparations.md b/docs/Preparations.md index f3a1eee63d9..b110babaeed 100644 --- a/docs/Preparations.md +++ b/docs/Preparations.md @@ -4,7 +4,7 @@ ## JVM 环境要求 -- 桌面 JVM:最低 Java 8,但推荐 Java 17(要使用一键启动器,需要 11+) +- 桌面 JVM:最低 Java 8,但推荐 Java 17(要使用一键启动器,需要 11 及以上) - Android:Android SDK 26+ (Android 8.0,Oreo) 目前主要使用的自动启动器,[Mirai Console Loader](https://github.com/iTXTech/mirai-console-loader) diff --git a/docs/Questions.md b/docs/Questions.md index a383b511b5b..df3667b4eb3 100644 --- a/docs/Questions.md +++ b/docs/Questions.md @@ -4,13 +4,12 @@ > 'java' 不是内部或外部命令,也不是可运行的程序 -没有安装 `java` +没有安装 Java。 > `Failed to fetch announcement for ...` -[MCL](https://github.com/iTXTech/mirai-console-loader) 查询更新信息失败, -你可以尝试编辑 `config.json` -更换 [`mirai_repo`](https://github.com/project-mirai/mirai-repo-mirror#%E4%BB%93%E5%BA%93%E9%95%9C%E5%83%8F) +[MCL](https://github.com/iTXTech/mirai-console-loader) 查询更新信息失败,可以尝试编辑 `config.json`, +更换 [mirai repo](https://github.com/project-mirai/mirai-repo-mirror#%E4%BB%93%E5%BA%93%E9%95%9C%E5%83%8F)。 > Login failed: Error(bot=..., code=..., title=.... @@ -22,9 +21,10 @@ 对于手动密码登录,第三个参数就是协议, 例如 `login 12345 114514 MACOS` -对于自动密码登录,你可以使用指令修改,例如 `autoLogin setConfig 12345 protocol MACOS` -也可以在 `Mirai Console` 关闭的情况下, 编辑 `config/Console/AutoLogin.yml` 文件 -注意,文件中有一个账号为 `12345` 的示例,请注意确认修改的配置对应的账号,不要修改错了示例 +对于自动密码登录,可以使用指令修改,例如 `autoLogin setConfig 12345 protocol MACOS`, +也可以在 `Mirai Console` 关闭的情况下, 编辑 `config/Console/AutoLogin.yml` 文件。 + +注意,文件中有一个账号为 `12345` 的示例,请注意确认修改的配置对应的账号,不要修改错了示例。 > 聊天框无法使用指令(使用指令后没效果) @@ -44,14 +44,14 @@ > 如何确认 `Mirai 版本` 或 `插件版本` 等信息 可以启动 `Mirai Console` 的情况下: -用指令 `/status` +使用指令 `/status` 。 无法启动的情况下: `Mirai Console` 的组件在 `libs` 文件夹下, 文件名包含 `版本信息` > 找不到 `http api` 的相关配置文件 -你可能需要安装插件 https://github.com/project-mirai/mirai-api-http +可能需要安装插件 。 > 如何添加 jvm 参数,例如 `-Dmirai.no-desktop=true` @@ -82,4 +82,4 @@ IDEA 版本过于老旧,无法分析新版本的 kotlin 依赖,请尝试升 > 发送语音之后播放没有声音 -你可能需要 安装插件/引入依赖 https://github.com/project-mirai/mirai-silk-converter +你可能需要安装插件或引入依赖 。 diff --git a/docs/UserManual.md b/docs/UserManual.md index 38668ece4bd..a7180946fe4 100644 --- a/docs/UserManual.md +++ b/docs/UserManual.md @@ -53,7 +53,7 @@ Mirai 控制台现在有两个版本,Mirai 插件在这两个版本的 Mirai C ## 解决问题 -你可以先阅读 [常见问题](Questions.md) +请先阅读 [常见问题](Questions.md) 。 如果遇到使用问题或想提建议,可以在 [issues](https://github.com/mamoe/mirai/issues) 发表。也可以在[论坛](https://mirai.mamoe.net/)交流想法。 From b9f80179223de824214886ad1848563e3ee17430 Mon Sep 17 00:00:00 2001 From: cssxsh Date: Fri, 5 May 2023 02:40:28 +0800 Subject: [PATCH 22/23] update: Bots.md --- docs/Bots.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/Bots.md b/docs/Bots.md index 0cddf9c6717..33291a7b18a 100644 --- a/docs/Bots.md +++ b/docs/Bots.md @@ -58,22 +58,24 @@ Bot bot = BotFactory.INSTANCE.newBot( ); 仅能在构造 Bot 时修改其配置: ``` // Kotlin +// 使用密码登录 val bot = BotFactory.newBot(qq, password) { // 配置,例如: fileBasedDeviceInfo() } -// 在 2.15.0 中加入 +// 在 2.15.0 中加入, 使用二维码登录 val bot = BotFactory.newBot(qq, BotAuthorization.byQRCode()) { protocol = BotConfiguration.MiraiProtocol.ANDROID_WATCH } // Java +// 使用密码登录 Bot bot = BotFactory.INSTANCE.newBot(qq, password, new BotConfiguration() {{ // 配置,例如: fileBasedDeviceInfo() }}); Bot bot = BotFactory.INSTANCE.newBot(qq, password, configuration -> {}) -// 在 2.15.0 中加入 +// 在 2.15.0 中加入, 使用二维码登录 Bot bot = BotFactory.INSTANCE.newBot(qq, BotAuthorization.byQRCode(), configuration -> { configuration.setProtocol(BotConfiguration.MiraiProtocol.ANDROID_WATCH); }); From 53492701a7e24576e658f3950f079d3503185d0d Mon Sep 17 00:00:00 2001 From: cssxsh Date: Fri, 5 May 2023 02:49:00 +0800 Subject: [PATCH 23/23] update: Questions.md --- docs/Questions.md | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/docs/Questions.md b/docs/Questions.md index df3667b4eb3..72b49fb380e 100644 --- a/docs/Questions.md +++ b/docs/Questions.md @@ -13,16 +13,16 @@ > Login failed: Error(bot=..., code=..., title=.... -这些是服务器返回的信息,它表示你的 `BOT` 账号被登录风控了 -风控没有100%稳定的解决方法,你可以关注 [论坛公告帖 - 无法登录的临时处理方案](https://mirai.mamoe.net/topic/223) -另外,密码登录中是否出现`滑块验证`或`短信验证`都是不可控的,这取决于腾讯的服务器要求你完成什么验证,没有办法自由选择。 +这些是服务器返回的信息,它表示你的账号被登录风控了。 +风控没有 100% 稳定的解决方法,你可以关注 [论坛公告帖 - 无法登录的临时处理方案](https://mirai.mamoe.net/topic/223)。 +密码登录中是否出现滑块验证或短信验证都是不可控的,这取决于腾讯的服务器要求你完成什么验证,没有办法自由选择。 > 登录协议如何修改 对于手动密码登录,第三个参数就是协议, 例如 `login 12345 114514 MACOS` 对于自动密码登录,可以使用指令修改,例如 `autoLogin setConfig 12345 protocol MACOS`, -也可以在 `Mirai Console` 关闭的情况下, 编辑 `config/Console/AutoLogin.yml` 文件。 +也可以在 Mirai Console 关闭的情况下, 编辑 `config/Console/AutoLogin.yml` 文件。 注意,文件中有一个账号为 `12345` 的示例,请注意确认修改的配置对应的账号,不要修改错了示例。 @@ -36,18 +36,18 @@ 3. 确认是否已经授权给目标用户 默认情况下所有用户都是没有权限的,聊天框下无法使用指令 - PS: 如果使用了 `LuckPerms-Mirai`, 可通过在控制台执行 /lp verbose on 查看权限检测情况 + 备注:如果使用了 LuckPerms-Mirai,可通过在控制台执行 /lp verbose on 查看权限检测情况 4. 确认日志中没有相关报错 如果插件指令执行出错,也有可能无法提供回复,请联系插件作者 > 如何确认 `Mirai 版本` 或 `插件版本` 等信息 -可以启动 `Mirai Console` 的情况下: +可以启动 Mirai Console 的情况下: 使用指令 `/status` 。 无法启动的情况下: -`Mirai Console` 的组件在 `libs` 文件夹下, 文件名包含 `版本信息` +Mirai Console 的组件在 `libs` 文件夹下, 文件名包含 `版本信息`。 > 找不到 `http api` 的相关配置文件 @@ -55,9 +55,9 @@ > 如何添加 jvm 参数,例如 `-Dmirai.no-desktop=true` -编辑启动脚本 `mcl.cmd`, 在 `-jar` 前面加上 `-D...` -例如 `-Dmirai.no-desktop=true -jar mcl...` -`Linux/MacOS` 的启动脚本是 `mcl` (没有后缀的那个文件) +编辑启动脚本 `mcl.cmd`,在 `-jar` 前面加上 `-D...`,例如 `-Dmirai.no-desktop=true -jar mcl...`。 + +Linux 和 macOS 的启动脚本是 `mcl` (没有后缀的那个文件)。 ## 开发者常见问题 @@ -67,18 +67,19 @@ > IDEA 下 `import` 爆红,mirai 相关依赖全部无法解析 -IDEA 版本过于老旧,无法分析新版本的 kotlin 依赖,请尝试升级 IDEA 后重试 +IDEA 版本过于老旧,无法分析新版本的 Kotlin 依赖,请尝试升级 IDEA 后重试。 > 有些事件收到不到 -`SignEvent` 或者 `NudgeEvent` -总的来说 `MACOS` 和 `ANDROID_WATCH` 相对其他协议会缺少一些事件的接收 -对于这些协议来说是不会收到的,因为这在他们对应官方客户端版本里本来就没有这些功能 +`SignEvent` 或者 `NudgeEvent`: + +总的来说 `MACOS` 和 `ANDROID_WATCH` 相对其他协议会缺少一些事件的接收。 +对于这些协议来说是不会收到的,因为这在他们对应官方客户端版本里本来就没有这些功能。 -`GroupMessageEvent` -群事件收不到可能是因为你将群设置为 `屏蔽群` 或者 `收入了群助手` +`GroupMessageEvent`: -另外如果消息是 `转发消息` 或 `卡片消息` 等特殊消息, 也有可能因为风控无法接收和发出 +群事件收不到可能是因为你将群设置为 `屏蔽群` 或者 `收入了群助手`。 +另外如果消息是 `转发消息` 或 `卡片消息` 等特殊消息, 也有可能因为风控无法接收和发出。 > 发送语音之后播放没有声音