diff --git a/README.md b/README.md index 551de14..4870648 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ git -C ./plugins/Yunzai-Kuro-Plugin/ pull 建议通过 [锅巴插件](https://gitee.com/guoba-yunzai/guoba-plugin) 进行配置. 当然, 你也可以自己配置, 默认配置文件位置 `./data/system/default_config.json`, 配置文件位置 `./config/config.json`, 配置项作用: ```json -// 此处的 json 可能忘记更新, 如果和实际的配置文件字段不同, qing'ji'sh +// 此处的 json 可能忘记更新, 如果和实际的配置文件字段不同, 请及时反馈 { "logger": { // 插件的日志器配置 "logLevel": "info", // 日志等级, 可选值: trace, debug, info, warn, error, fatal @@ -149,7 +149,7 @@ git -C ./plugins/Yunzai-Kuro-Plugin/ pull - [ ] 鸣潮 - [ ] 战双 -- [ ] 库街区战双游戏信息查询你 +- [ ] 库街区战双游戏信息查询 - [ ] 角色信息 diff --git a/apps/kuroBBSLogin.js b/apps/kuroBBSLogin.js index 50d1aa9..f6ccd6e 100644 --- a/apps/kuroBBSLogin.js +++ b/apps/kuroBBSLogin.js @@ -39,10 +39,6 @@ export class kuroBBSLogin extends plugin { } async captchaLoginHelp(e) { - if (!e.isPrivate) { - this.reply(`请私聊使用, 或使用 #库洛在线登录`) - return false - } let kuro = new kurologin(e) await kuro.captchaLoginHelp() return true @@ -60,10 +56,6 @@ export class kuroBBSLogin extends plugin { } async tokenLoginHelp(e) { - if (!e.isPrivate) { - this.reply(`请私聊使用, 或使用 #库洛在线登录`) - return false - } let kuro = new kurologin(e) await kuro.tokenLoginHelp() return true diff --git a/model/kuroBBSLogin.js b/model/kuroBBSLogin.js index da604b6..e3bb472 100644 --- a/model/kuroBBSLogin.js +++ b/model/kuroBBSLogin.js @@ -22,6 +22,7 @@ export default class kuroBBSLogin { `建议优先使用 #库洛在线登录 , 无法使用可使用此功能`, this.captchaLoginHelpTip, '======== 登录步骤 ========', + '注意, 同一个验证码可以多次使用, 所以请私聊发送!', `1. 前往 https://wiki.kurobbs.com/pns/home 点击右上角头像, 或下载安装库街区 APP 进入登录页面 \n2. 输入手机号点击发送验证码 \n3. 与 Bot 私聊, 将手机号和验证码用逗号隔开发送以完成绑定 \n \n例: 库洛账号18888888888,验证码114514`, `注意: 库街区 APP 同战双一样, 只能登录一个设备, 即机器人的登录和你自己手机 APP 的登录会互顶. 如果你需要用到库街区 APP, 请发送 #库洛token登录 查看抓包登录教程`, ], @@ -86,6 +87,7 @@ export default class kuroBBSLogin { `此方法允许你的手机与 Bot 使用相同的 token 以实现共存 \n需要 iOS 设备, 或者 ROOT 的 Android 设备, 如果没有请放弃并使用 #库洛在线登录`, this.tokenLoginHelpTip, '======== 登录步骤 ========', + '高敏感登录方式, 请私聊使用!', `1. 根据抓包教程文章安装抓包软件并完成抓包: https://blog.tomys.top/2023-07/kuro-token/ \n2. 与 Bot 私聊, 将抓包获取到的 token 以 #库洛token后面跟上你的token 发送给 Bot 即可完成登录`, ], '[库洛插件] 库洛 token 登录帮助' diff --git a/model/mcGachaData.js b/model/mcGachaData.js index c8f2d34..99dd3db 100644 --- a/model/mcGachaData.js +++ b/model/mcGachaData.js @@ -53,28 +53,68 @@ export default class mcGachaData { // 然后检查是否是通过链接上传的信息, 如果是链接上传就更新再生成, 如果是本地上传就直接生成 if (gachaLink) { - await this.e.reply( + let willUpdateMsg = await this.e.reply( `QQ ${this.e.user_id} 的游戏 uid ${gameUid} 本地存在抽卡链接, 尝试更新抽卡记录...` ) + setTimeout(() => { + if (willUpdateMsg) { + try { + if (this.e.group) this.e.group.recallMsg(willUpdateMsg.message_id) + if (this.e.friend) this.e.friend.recallMsg(willUpdateMsg.message_id) + } catch (err) { + kuroLogger.warn('撤回消息失败:', JSON.stringify(err)) + } + } + }, 6000) let gachaRecord = await this.get(gachaLink, this.e.user_id) if (typeof gachaRecord === 'string') { // 如果记录更新失败, 进行提示; 如果更新成功, 不提示直接进入生成 - await this.e.reply( + let updateFailMsg = await this.e.reply( `QQ ${this.e.user_id} 的游戏 uid ${gameUid} 更新抽卡记录失败: \n${failedReason} \n将展示历史抽卡记录 ` ) + setTimeout(() => { + if (updateFailMsg) { + try { + if (this.e.group) this.e.group.recallMsg(updateFailMsg.message_id) + if (this.e.friend) this.e.friend.recallMsg(updateFailMsg.message_id) + } catch (err) { + kuroLogger.warn('撤回消息失败:', JSON.stringify(err)) + } + } + }, 6000) } else { // 更新成功, 存入本地 let gachaUpdateRet = await this.update(this.e.user_id, gachaRecord) if (typeof gachaUpdateRet === 'string') { - await this.e.reply( + let saveFailedMsg = await this.e.reply( `QQ ${this.e.user_id} 的游戏 uid ${gameUid} 抽卡更新记录成功但保存失败: \n${gachaUpdateRet} \n将展示历史抽卡记录 ` ) + setTimeout(() => { + if (saveFailedMsg) { + try { + if (this.e.group) this.e.group.recallMsg(saveFailedMsg.message_id) + if (this.e.friend) this.e.friend.recallMsg(saveFailedMsg.message_id) + } catch (err) { + kuroLogger.warn('撤回消息失败:', JSON.stringify(err)) + } + } + }, 6000) } // 更新且保存成功, 无需提示 } } else { - await this.e.reply( + let localUploadedMsg = await this.e.reply( `QQ ${this.e.user_id} 的游戏 uid ${gameUid} 通过本地上传的抽卡记录, 将展示历史抽卡记录` ) + setTimeout(() => { + if (localUploadedMsg) { + try { + if (this.e.group) this.e.group.recallMsg(localUploadedMsg.message_id) + if (this.e.friend) this.e.friend.recallMsg(localUploadedMsg.message_id) + } catch (err) { + kuroLogger.warn('撤回消息失败:', JSON.stringify(err)) + } + } + }, 6000) } if (tokenData && Object.keys(tokenData).length > 0) { diff --git a/package-lock.json b/package-lock.json index 19e4ed6..a0c2637 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "yunzai-kuro-plugin", - "version": "0.2.17-rel", + "version": "0.2.18-dev", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "yunzai-kuro-plugin", - "version": "0.2.17-rel", + "version": "0.2.18-dev", "license": "MPL-2.0", "dependencies": { "chalk": "^5.3.0", diff --git a/package.json b/package.json index 4051d81..4ac2a7e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yunzai-kuro-plugin", - "version": "0.2.17-rel", + "version": "0.2.18-dev", "author": "TomyJan", "description": "Yunzai-Bot plugin for kuro games.", "type": "module",