@sjtdev/koishi-plugin-dota2tracker
Version:
koishi插件-追踪群友的DOTA2对局 | A Koishi plugin to track Dota 2 matches
921 lines (653 loc) • 58.1 kB
Markdown
# 更新日志
### [2.5.8](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.5.7...v2.5.8) (2026-03-31)
### 🚀 功能优化
* **templates/hero:** 优化部分显示逻辑,避免在数据失效时显示错误字符 ([480b418](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/480b4181310afaff45dfa7c98ff52390fe1e59f4))
### 🐛 Bug 修复
* **opendota-adapter:** 提升`dotaconstants`依赖版本以修复使用`opendota`查询比赛数据失败的问题 ([81b56fd](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/81b56fdcc636b792e1371855fdbbcd9416d3eefc))
### [2.5.7](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.5.6...v2.5.7) (2026-03-25)
### 🚀 功能优化
* 跟进`DOTA2 7.41`移除命石系统更新,全面清理`facet`相关代码以优化性能与减小存储占用 ([5842fd0](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/5842fd0d9925c361b0bccf8c0db9ab861cc4c47d))
### 🐛 Bug 修复
* **template:** 修复因`2.4.0`重写ejs读取图片逻辑导致`match_1` `player_1`模板中对线结果图片显示错误的问题 ([d619b10](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/d619b10abd15a22eae052c725070b0db976ca097))
### [2.5.6](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.5.5...v2.5.6) (2026-03-12)
### 🐛 Bug 修复
* **daily:** 修复了对于"LVP(头号战犯)"卡片判定的逻辑错误 ([1797209](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/17972098102dc0479dd9d3a9a3d33b041919cf1b))
### [2.5.5](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.5.4...v2.5.5) (2026-03-08)
### 🐛 Bug 修复
* **ejs:** 修复使用`查询群友``DOTA2帮助`因简单模板未适配新字体方案导致报错的问题 ([7ecf9e7](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/7ecf9e7518488dde9c0a174f14ee1c9efc57698c)), closes [#18](https://github.com/sjtdev/koishi-plugin-dota2tracker/issues/18)
### [2.5.4](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.5.3...v2.5.4) (2026-02-26)
### 🚀 功能优化
* **database:** 增加缓存群友列表机制,加入对拉取有效群友时的检测,每小时更新缓存 ([1ac1df9](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/1ac1df9513a883b17031fdc3e912fccc0af8a3e2)), closes [#17](https://github.com/sjtdev/koishi-plugin-dota2tracker/issues/17)
### 🐛 Bug 修复
* **match-watcher:** 修复无有效群友时还会发送查询请求 ([a8d1e8c](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/a8d1e8c173d71b850516912729e398943d3ea391))
### [2.5.3](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.5.2...v2.5.3) (2026-02-23)
### 🎨 样式
* **report/daily:** 缩窄整体宽度 ([ef756e0](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/ef756e0f418715a63b50586653221f92c25afd91))
### 🐛 Bug 修复
* 尝试修复在**异常状态群组**中获取群友信息时失败导致流程阻塞的问题 ([f00841d](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/f00841dd82794afd69987926804147a4b49fbfee)), closes [#17](https://github.com/sjtdev/koishi-plugin-dota2tracker/issues/17)
* **database:** 修改`dt_match_extension`键类型定义排除某些可能的隐患 ([72c0bbe](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/72c0bbebc0faf540aea29c8e2e4ae8210ab13b3e))
### [2.5.2](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.5.1...v2.5.2) (2026-02-20)
### 🐛 Bug 修复
* **report/daily:** 修复如果已订阅的玩家中有不公开数据的玩家,获取日报数据失败的问题 ([e293fb6](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/e293fb62b4120d9db2709c8c073b45225d6e466d))
### 📝 文档
* **image/daily:** 修正日报展示图 ([25ad31d](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/25ad31d193a41920aa940c4c4b188fdb627c1d95))
### [2.5.1](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.5.0...v2.5.1) (2026-02-19)
### 🎨 样式
* **report/daily:** 优化日报的宽度显示与一处文字内容 ([85d17f8](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/85d17f89b617bc7a0befba88f02d1fffbcb38202))
### 🐛 Bug 修复
* **report/daily:** 修复一处英文语言下数据展示错误 ([6e02113](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/6e021130f41b6a17ab2baadc303f1efd05f4ed0c))
### 📝 文档
* **images:** 重建英雄展示图 ([108d941](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/108d9416f85b08ef4135003f2a337fe48ba3351c))
* **report/daily:** 添加日报周报展示页并构建日报展示图 ([cc599d6](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/cc599d60f8adeefe29860e042cd51cb0da7a4f7c))
## [2.5.0](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.4.0...v2.5.0) (2026-02-18)
### ✨ 新增功能
* **report/daily:** 重写了全新的日报模板 ([8e8687a](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/8e8687adc4ad92df423c8b2be4a23f54ec07c105))
### 🐛 Bug 修复
* **font-service:** 调整监控重载字体目录打印日志逻辑防止刷屏 ([49a16fd](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/49a16fd288184e6619d416fb304d541d7e6d0181))
* **logger/font:** 修复重载字体目录时打印日志失败 ([9226d76](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/9226d7683b020d87b72edb85318c7422565a20b1))
### 📝 文档
* 补上关于重构`font`内容的文档 ([ac25965](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/ac25965dab839f8040e19d6f9f6237c2d1404a7d))
* **template-fonts:** 更新一些文档说明 ([a4530fc](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/a4530fcd86d2cdfc048e718fa37242af5e41f14d))
## [2.4.0](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.3.4...v2.4.0) (2026-02-15)
### ✨ 新增功能
* **fonts:** **破坏性更新** 弃用`templateFonts`,重构实现更完善的模板字体配置服务 ([2883322](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/2883322dcaabeaadad26bbf88e6b419a97ced594))
### 🚀 功能优化
* **dep:** 依赖 `ejs` 从`3.1.10`升级至`4.0.1`,略微提升性能(?) ([35d79ea](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/35d79ea8bc1c63dcab3794405096231d293f34dc))
* **locale-en/template/titles:** update English titles to full words for adaptive rendering ([6ce279d](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/6ce279daeafed77478618b95b77a83991c5b428a))
* **view:** 切换 ejs 获取本地图片资源的方式,优化模板生成速度 ([6687537](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/66875377e685d8de71e4c5edd7e3b2a1c79b9895))
### 📝 文档
* **config/autoRecallTips:** 补充说明 ([1dfb38d](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/1dfb38d3755d32ce10e8dd1d5e4170b8852760a6))
### [2.3.4](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.3.3...v2.3.4) (2026-02-03)
### ✨ 新增功能
* **report:** 将每场比赛部分数据存至数据库中留待未来重构的日报周报功能使用 ([9f68253](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/9f68253aac43f4d99fc4477fd338e3626a0a3b06))
### [2.3.3](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.3.2...v2.3.3) (2026-01-16)
### ✨ 新增功能
* **command:** 新增`TaskMessenger`实现调用指令时在回复正文或错误信息后将**撤回/删除**如“正在查询****,请稍候……”之类的提示语句。 ([bc987d2](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/bc987d2b3ee2774d9f9cc1894892333a398629cf))
* **config/autoRecallTips:** 为新增的**提示消息撤回**功能添加配置项`autoRecallTips`,默认启用。 ([31e173a](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/31e173a2e47a5b5b92535e8a93f54514f2ef9890))
### 🚀 功能优化
* **command/hero-of-the-day:** 适配提示消息撤回;增加了提示等待信息与错误提示信息。 ([43b9aa5](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/43b9aa5fd4364637148b34ff407f75faad0320ac))
* **command/query-hero:** 适配提示消息撤回;增加了查询失败的错误提示信息。 ([d7e577c](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/d7e577c749a19768f8852cbe9eacee24ffa9f150))
* **command/query-item:** 适配提示消息撤回;优化判断逻辑。 ([f3ae006](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/f3ae006eb93b49661cc10c58c201ffa279fb3462))
* **command/query-match:** 适配提示消息撤回;增加了查询失败时的错误提示信息。 ([b7a9d77](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/b7a9d774bd95ea0836bfe8d133a2c1a4a11c2050))
* **command/query-player:** 适配提示消息撤回;增加了查询失败时的错误提示信息。 ([476a7bc](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/476a7bc98fe275e3049e1f0f7a2efbee154e0699))
* **command/query-recent-match:** 适配提示消息撤回;优化了错误处理逻辑。 ([4ad88a3](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/4ad88a32f2bb9a053f757cda986c8fa6e4ceb27e))
* **configs:** 移除此前声明**已弃用**的配置项`suppressStratzNetworkErrors`。 ([f602ec3](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/f602ec34d8b5c37d9d936d82c9420e80ab1965a7))
* **console:** 移除**控制台**相关减小📦体积。想不到这玩意能做什么。 ([3002a03](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/3002a035adcdd87eb882c21ef32473bd167a521b))
### 🐛 Bug 修复
* **templates/match_2+:** 尝试修复部分场景下t4时间标签错误显示的问题。 ([92f2521](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/92f2521f47a8483889ca632f4abed3f10ee64092))
* **templates/match_2+:** 使`opendota-adapter`支持使用**opendota数据源**时正确渲染小地图图标与时间 ([2bedf8d](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/2bedf8d10071b4043eece1e4431ce2bdf86460c8))
* **templates/match_2+:** 修复`v2.3.0`添加小地图后,未解析提示、opendota数据提示样式不正确的问题。 ([4559509](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/455950977cce0f51648f2378f4cb46a21f4361d1))
### [2.3.2](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.3.1...v2.3.2) (2025-12-18)
### 🚀 功能优化
* **templates/match_2+:** 更换至`7.40`版地图,并调整了建筑坐标使位置更合理;修复了部分近战/远程兵营位置错乱的问题。 ([cb88644](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/cb88644d0f519d44bc983f975d62c8aea33879eb))
### 🐛 Bug 修复
* **locale:** 补充新英雄在`本地化`词典中的词条。 ([8a72813](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/8a728134e15ca1f570d06dd8c215c25fcab23286))
### 📝 文档
* 更新图片构建、补充对`match_2+`的说明。 ([9193c21](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/9193c21981c5ced74f6c759c82f137871efd163c))
### [2.3.1](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.3.0...v2.3.1) (2025-12-17)
### 🐛 Bug 修复
* 修复依赖`dotaconstants`的新版本在部分环境中无法引用导致插件启用失败的问题。 ([045cd0c](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/045cd0c8a66dda2bf084a3b5d6470250a372a366))
## [2.3.0](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.2.3...v2.3.0) (2025-12-17)
### ✨ 新增功能
* 适配`7.40`新英雄 **朗戈**,更新`dotaconstants`依赖。 ([8308ed9](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/8308ed96c641519ec52a39329e2c3312b0fa2dc8))
* **templates/match_2+:** 添加小地图,显示防御塔、兵营、基地的存活状态,数据可用时显示建筑被拆毁时间。(高地仅显示各路近战兵营被破时间、4塔被全部拆除时间、基地时间) ([923b40f](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/923b40fc8f24e05ce4b28dfa9a20ad3166c8e2f5))
### 🚀 功能优化
* **api:** 将超时时间从10秒统一上调到15秒,解决某些数据量大的耗时任务失败概率高的问题。 ([b3f51de](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/b3f51defd49ac7c9c176f894aa9d94d9b392b3aa))
* **logger:** 优化部分查询情况下的报错提示日志。 ([79ba28b](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/79ba28b4822df8858e4f4c8d71303b339d407569))
### 🐛 Bug 修复
* **command/query-hero:** 修复了指令`查询英雄`无参数但携带`-r/--random`选项无响应的问题。(即无法通过`查询英雄 -r`直接随机查询英雄的问题) ([c56a22c](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/c56a22caacf65eef573e6434b1032b06f589c2b8))
* **command/query-match:** 修复`2.2.2`更新导致指令`查询比赛`不可用的问题。 ([be5061c](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/be5061c9b67593cceb8067d480b965cb47c53d4d))
### ⚡ 性能提升
* **command/query-match:** 清理`2.0.0`大型重构时遗留耗时代码,提升执行速度。 ([4c0bf34](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/4c0bf34c358af3d508bf1be6be88fd1e86fefc17))
* **templates:** 重构大部分模板,使其构建打包后体积更小,略微提升生成速度。 ([fdf1d33](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/fdf1d3367e12f8e46124df31d6f432e7fd0a7187))
### [2.2.3](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.2.2...v2.2.3) (2025-11-20)
### 🎨 样式
* **console:** 为`OpenDotaAPI访问次数`添加“今日”使其描述更准确。 ([a77ced6](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/a77ced6619ea07612e2afbf762f0a4fa1e7a0e9a))
### 🐛 Bug 修复
* **opendota:** 修复`cache`调用配置项失败导致`opendota`访问缓存失败的问题。 ([30fdb90](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/30fdb90a69d231590d665235f92c7f8287995278))
### [2.2.2](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.2.1...v2.2.2) (2025-11-19)
### ✨ 新增功能
* **console:** 提供一个控制台页面作为**实验性**功能添加,通过`enableConsole`配置项启用。当前仅简单显示OpenDotaAPI访问次数。 ([4ff3725](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/4ff3725e16f35c33caeb3e815f5867142d5bfff2))
### 🚀 功能优化
* `suppressStratzNetworkErrors`更名为`suppressApiNetworkErrors` ([d2c17a9](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/d2c17a95434167c695990823841e8fc50c7cea6e))
* 各部分错误处理方式优化 ([5d3a227](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/5d3a22781625048d8d0fbb63ef223f31a3a0267a))
### 🎨 样式
* 使`查询群友`返回图片的高度更适配内容 ([e1b2b17](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/e1b2b1714ffbaf3ebf37048c63f8fb740974663f))
* **match_2/match_2+:** 优化命石名称显示效果 ([7739499](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/7739499dd3e3ddead9b19aeb419b1801ef1ce309))
### 🐛 Bug 修复
* 修复`查询最近比赛`指令在私聊且不提供steamId参数时,返回提示错误的问题。 ([4337840](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/43378402449e9e5a3a09313b2d50f5308f3b24f8))
* **opendota-api:** 采用代码方式修复访问opendota-api失败问题,并添加对应的配置选项。 ([418bd3d](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/418bd3dc0127aad9ca7da2e55f48480b6fbf4589))
* **opendota:** 弃用koishi提供的`http`服务,网络请求切换到`axios`依赖,以此解决某些无ipv6环境无法访问`opendota`服务器的问题。 ([0458298](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/04582982979d97b1b954d767e851d3faacae378b))
* **opendota:** 修复 一些极端的分路情况导致位置推测函数报错的问题。 ([47a1795](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/47a17955f9d80348070f8f4f90914b695aff5e70))
* **opendota:** 修复数据中可能没有`pick_bans`数据时会导致opendota-adapter报错的问题。 ([8d40343](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/8d40343ae7a8bc39b5841632941279c688f1b2aa))
* **opendota:** 修复opendota-adapter的一些数据转换错误。 ([9212fb2](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/9212fb208863ae3e69f2061f3aaa8772827f42e1))
### 📝 文档
* 补充不再支持`proxy-agent`插件设置的代理的说明 ([7d93c8e](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/7d93c8ee90808640d7ab496ac3fa789b09d865e3))
* 添加对opendota访问失败问题的说明 ([5fe129d](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/5fe129da605864868d6211b814184a93bc95e87a))
* 优化过时的`readme`并添加英文版`readme_en` ([04c0a0d](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/04c0a0de9a0864f03552d055fad65686e28bd4ee))
### [2.2.1](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.2.0...v2.2.1) (2025-10-09)
### 🐛 Bug 修复
* **rank:** 修复`2.0.0`中将`rank_fun.ejs`内文本使用i18n方案重构后意外导致html代码 (如提前传入的头像img标签) 被转义的问题。 ([f76897f](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/f76897fc6fae53b78bfa6966863dbae0d18390e3))
* **report:** 修复因`2.0.0`中因时间处理库依赖从`moment`切换至`luxon`导致日报周报 (report) 不可用的问题。 ([8c3cd39](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/8c3cd39a333b5822f897e9bcaa0ff617ac66d75d))
### 📝 文档
* 修正changelog顺序 ([af9c74d](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/af9c74d10271231b8d209a3f1aeeb1bcb5ebb460))
## [2.2.0](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.1.1...v2.2.0) (2025-10-08)
### ✨ 新增功能
* **opendota:** 新增`opendota`备用数据源,在配置页开启选项后,使用`战报追踪`、`查询比赛`的等待解析功能时在等待stratz数据时同步对opendota发送解析请求并获取比赛数据。 ([a0662ae](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/a0662ae2393b49577f5a0d40b02369482260a774))
### 🐛 Bug 修复
* 添加项目重构后忘记实现的 每分钟轮询比赛数据时等待解析中打印的日志信息,并调整为5分钟发布一次以优化表现 ([139ae8e](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/139ae8edd761a19119fb49bae8a095e060169ddb))
* 修复`查询最近比赛`等待解析的消息提示不正确的问题。 ([a3b0a77](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/a3b0a77ffaf581f7cef0244a1f112438d1326f48))
* 修复cron未加载时的日志输出提示的命名空间不正确的问题。 ([0c7fc97](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/0c7fc97f48c3f408fb5362818937594d5bcc723d))
### 📝 文档
* 配置说明页补充stratzAPI页面链接 ([743e2ef](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/743e2ef1ba6d96bd0c66eca2b43be53ce1b568ab))
### ⏪ 回滚
* 回滚加入的"ES2023"库,并放弃使用"toSorted"函数,以满足koishi最低nodejs18+的版本要求。 ([3d26c86](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/3d26c864f80e5ed1ae9ae92f0575aa372b297543))
### [2.1.1](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.1.0...v2.1.1) (2025-09-29)
### 🚀 功能优化
* 优化`DOTA2指南`指令,由仅发送文档链接扩展为还会展示一张包含了全部指令信息以及使用方法的图片 ([#11](https://github.com/sjtdev/koishi-plugin-dota2tracker/issues/11)) ([172c36a](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/172c36aded4546b425df3e5e66dbcbaa886fa38b))
### [2.1.0](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.0.4...v2.1.0) (2025-09-27)
### ✨ 新增功能
* 新增`match`模板称号“辅”与对应的“辅助分数”,并加入MVP分数计算。具体说明与算法见[文档展示](https://sjtdev.github.io/koishi-plugin-dota2tracker/template.html#%E7%A7%B0%E5%8F%B7%E7%B3%BB%E7%BB%9F-match-1-match-2) ([41646dc](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/41646dc0c38957fe999091e17e976911cfdb513c))
### 📝 文档
* 添加对新称号及算法的说明 ([30243ae](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/30243aec1f50499c15c5efc405fd16b4e4497014))
### [2.0.4](https://github.com/sjtdev/koishi-plugin-dota2tracker/compare/v2.0.3...v2.0.4) (2025-09-27)
### 🚀 功能优化
* 优化“今日英雄”消息zh-CN文本 ([94d9bfd](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/94d9bfd0539cc15e991e77d1dad5f806d910e9d3))
* hero-of-the-day指令中添加对隐藏数据玩家的额外提示 ([fc5a643](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/fc5a64363d9c1efe7a2ecbf32e887cf3f0a604de))
### 🐛 Bug 修复
* **template:** 修复[hero_1, item, itemlist]模板未适配新架构的自定义字体传值,导致渲染失败的问题。 ([d736d9c](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/d736d9ce806cd6725e434422ffff5c696c2c5a2a))
* **template:** 修复match2/match2+中命石文字意外变小的问题并适当缩小称号间距 ([b0d6ded](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/b0d6dede80bbac4e3a764e82cd07d580a3304231))
### 📝 文档
* 构建的文档用展示图片 ([77968fa](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/77968fa198e902f0c4d968319b5aaaf9fc803fea))
* **changelog:** 对自动化的补充说明 ([52f7e8d](https://github.com/sjtdev/koishi-plugin-dota2tracker/commit/52f7e8da52d4b7bc9a27293d7dfebade047bab04))
### **v2.0.4开始使用更标准化的代码提交规范与流程,并由`standard-version`进行更新日志托管,后续更新日志基于commits自动生成。**
**以下是2.0.4前的手写更新日志:**
### [2.0.3]
**优化**:加入对`今日英雄`与新`查询群友`模板使用自定义字体`config.templateFonts`的支持。
### [2.0.2]
**修复**:`p-queue`兼容性修不好_(:3」∠)_ 只能找gemini帮忙写一个**MiniQueue**把`p-queue`踢掉了。
### [2.0.0]
### **彻底重构了源码架构并重写了大部分源码。**
**新增**:
- 新增`dota2tracker.hero-of-the-day``今日英雄`指令,可查询指定玩家(或自查,逻辑同`查询玩家`、`查询最近比赛`指令)根据近期与生涯英雄胜场与表现进行计分,在分数排名前十的英雄中以分数为权重随机三位推荐英雄;并会根据近一周环境数据推荐各位置英雄。
- 新增`dota2tracker.help``DOTA2指南`指令,调用后返回插件的文档链接,帮助用户了解插件的使用方法、功能效果、公式算法等详细信息。
- 新增配置项`基础设置-suppressStratzNetworkErrors`,开启后在调用stratzAPI是引发因网络波动、stratz服务器问题导致的网络错误将以debug等级输出日志,默认不显示。更详细的说明请见:[📖 配置项#suppressstratznetworkerrors](http://sjtdev.github.io/koishi-plugin-dota2tracker/configs.html#suppressstratznetworkerrors-boolean)
- 新增配置项`消息设置-useHeroNicknames`,默认开启,关闭后在`战报消息`(或许还有未来的新功能)中仅使用英雄正名。
**优化**:
- 使用`p-queue`包,控制对stratzAPI的并发请求数量与速率。
- 在生成`比赛模板`图片流程中,当`stratzAPI`缺失命石本地化文本时,补偿查询`ValveAPI`对应的英雄数据以补全命石信息,并跟随constants数据一并缓存。
- 插件的日期时间处理依赖包由`moment`切换到`luxon`。(moment包体庞大且已进入仅维护状态,luxon体积更小且性能更优、功能更强大)
**调整**:
- 调整了`查询群友`,输出结果格式修改为昵称/别名、最近10场胜率、最近比赛时间。抛弃效果较差的模板以减小插件的包体积。
- 因为使用了全新架构,一些日志输出文本、错误信息输出文本有所调整。
**修复**:
- 修复`查询英雄`模板中,未跟进`7.38`版本<b><span style="color: #EC3D06;">全</span><span style="color: #26E030;">才</span><span style="color: #00D9EC;">英</span><span style="color: #BDA96F;">雄</span></b>攻击力计算公式变动的攻击力数值错误。
- 修复`段位变动播报`功能,常规播报无法使用的问题。
- 修正了一些文本描述错误。
### [1.5.5]
**修复**:修复`match_1`模板一些样式问题。
### [1.5.4]
**新增**:新增配置项`templateFonts`,可配置模板使用的字体。
**改进**:
- 调整`cron服务`由必须项改为可选项,当未配置cron服务时仍可提供查询服务。
- 重写了`match_1`模板,优化性能减小体积。
### [1.5.3]
**修复**:修复因`7.39`版本更新而stratz未跟进,获取命石数据失败导致无法发出战报的报错。
### [1.5.2]
**修复**:修复`查询英雄`部分英雄查询失败的问题。
### [1.5.1]
**修复**:修复`查询物品`只会进行别名搜索与精准搜索,而不会模糊搜索的问题。
### [1.5.0]
> 将1.5.0-pre.x版本汇总,功能与`1.5.0-pre.7`一致。
> 以下为pre.1~pre.7的更新日志汇总
**新增**:
- 新增比赛模板`match_2+`,对`match_2`模板进行了一些扩充,加入了局势图表、经济图表、对线情况展示。[模板展示](https://sjtdev.github.io/koishi-plugin-dota2tracker/template-match.html#match-2-1)
- 新增`查询物品 [物品名/ID]`指令,支持模糊搜索,查询到的结果小于等于5(*可配置*)时依次发送物品图片;未输入关键词或查询结果大于限制时,将发送物品列表图片(*可配置*)。[模板展示](https://sjtdev.github.io/koishi-plugin-dota2tracker/template-item.html)
> 内置了一份[物品别名常用词典](https://github.com/sjtdev/koishi-plugin-dota2tracker/blob/master/src/locales/zh-CN.constants.json#L304-L407),如有疏漏可在插件配置页自行添加,也欢迎提出issue或pull request协助完善词典。
- 实现了由[issue](../../issues/6)提出的代理设置。
**改进**:
- 调整优化配置页布局,将消息设置从基础设置中分离。
- 配置项`比赛模板`的说明中的模板展示链接更换为新文档对应链接。
**修复**:
- 修复一项在使用`查询比赛/查询最近比赛`指令时引发错误后不会返回查询失败消息的问题。
- 修复因上版本改动称号系统导致`match_2`模板称号间隔意外变宽的样式问题。
<details>
<summary><b>1.5.0-pre.1~pre.7 更新日志</b></summary>
# 1.5.0-pre.7
**修复**:
- 修复`查询物品`自定义物品别名列表未生效的问题。
- 修复`查询物品`模板一个样式错误的问题。
# 1.5.0-pre.6
**修复**:修复`查询物品`图片中部分无需图纸物品的合成表中被错误添加了图纸的问题。
# 1.5.0-pre.5
**新增**:
- 新增`查询物品 [物品名/ID]`指令,支持模糊搜索,查询到的结果小于等于5(*可配置*)时依次发送物品图片;未输入关键词或查询结果大于限制时,将发送物品列表图片(*可配置*)。
> 内置了一份[物品别名常用词典](https://github.com/sjtdev/koishi-plugin-dota2tracker/blob/master/src/locales/zh-CN.constants.json#L304-L407),如有疏漏可在插件配置页自行添加,也可提出issue或pull request协助完善词典。
**改进**:
- 调整优化配置页布局,将消息设置从基础设置中分离。
# 1.5.0-pre.4
**改进**:继续扩充`match_2+`模板,加入对线结果显示。
**修复**:修复一项在使用`查询比赛/查询最近比赛`指令时引发错误后不会发送查询失败的问题。
# 1.5.0-pre.3
**新增**:尝试实现由[issue](../../issues/6)提出的代理设置。
# 1.5.0-pre.2
**改进**:
- `match_2+`对于未解析或无局势数据的比赛,将在底部显示友好性提示。
- `match_2+`的经济面板调整,英雄头像将从左到右由低到高按顺序排列 而不是固定按玩家顺序。
**修复**:
- 修复使用查询比赛相关功能时,因插件版本更新缓存失效导致一直查询失败的问题。(由[issue](../../issues/6)指出,感谢捉虫。)
# 1.5.0-pre.1
**新增**:
- 新增比赛模板`match_2+`,对`match_2`模板进行了一些扩充,加入了局势图表、经济图表。[模板展示](https://sjtdev.github.io/koishi-plugin-dota2tracker/template-match.html#match-2-1)
> 原有部分直接引用了`match_2`模板的代码,节省体积。
**改进**:
- 配置页-`比赛模板`配置项说明中的模板展示链接更换为新文档对应链接。
**修复**:
- 修复因上版本改动称号系统导致`match_2`模板称号间隔意外变宽的样式问题。
</details>
### [1.4.3]
**改进**:
- `称号系统`适配i18n,可以自定义文本与颜色了,格式为`称号-颜色`(颜色为HEX颜色值,需要携带`#`前缀)
**修复**:
- 修复使用`查询英雄`未找到英雄时返回的消息丢失问题。
**文档**:
- [插件英文文档](https://sjtdev.github.io/koishi-plugin-dota2tracker/en-US/) 也机翻的差不多了。
***
# 其他更新
**1.4.2**版本起,插件更新时会在Github发布一个无附件release,用于插件更新提醒。
如有需要可以使用 `Watch` 功能接收插件更新通知,以下为详细步骤:
1. 访问[仓库页面](https://github.com/sjtdev/koishi-plugin-dota2tracker)
2. 点击右上方的 "Watch" 按钮
3. 选择 "Custom" 选项
4. 在弹出的设置中勾选 "Releases" 选项
5. 点击 "Apply" 保存设置
这样就可以在Github通知中心收到通知了。
如果你开启了邮件通知,也会收到一封Github发出的邮件提醒。
***
### [1.4.2]
**改进**:
- 段位变动的文字消息与整活模板适配`i18n`。
- 移除一些无用`graphql查询`,减小代码体积。
- 改进玩家信息模板`player_1`中线优率的计算逻辑,现在对线平手的情况算50%线优,
避免出现只要没有线劣结果时线优率计算为100%的情况,以及极端情况下全平手时会出现除0的情况。
- 原:$线优率=\frac{线碾+线优}{线碾+线优+线劣+线被碾}\times100\%$
- 新:$线优率=\frac{线碾+线优+(线平/2)}{线碾+线优+线平+线劣+线被碾}\times100\%$
**修复**:
- 修复一处调用`取消订阅`指令时的文本丢失错误。
- 修复日报/周报禁用显示组合可能无效的问题。
- 修正了一些文本错误。
**文档**:
- [插件中文文档](https://sjtdev.github.io/koishi-plugin-dota2tracker/) 写的差不多了。
### [1.4.1]
**修复**:
- 修复`match_2`模板中英雄选取顺序显示错误的问题。
**调整**:
- 将`match_2`模板中称号的显示位置左移,防止称号过多时显示不全。
- 提升依赖版本,适配koishi修复的[Bug: 由插件开发者定义的指令别名被禁用后仍然生效 #1483](https://github.com/koishijs/koishi/issues/1483)问题。(赞美koishi!)
> 即`1.3.0`版本提到的问题
- 其他的一些微调以适配编写中的新文档。
### [1.4.0]
**新增&改进**:
- 新增`模板设置`配置项`playerRankEstimate(估算玩家段位)` 默认开启。启用后在使用`查询玩家`时如果玩家没有段位,将根据玩家近期对局数据估算玩家段位,估算的段位显示为灰色图片。
- 添加了使用`查询玩家`查询隐藏数据玩家时的标识。
***
### [1.3.1]
**改进**:群友`绑定`与`查询最近比赛`时若检测到游戏数据未公开将给予提示。
**修复**:
- 修复群友中有未公开数据的玩家时,调用`查询群友`指令失败。
- 修复当未公开成绩的群友绑定后,追踪比赛会报错的问题。
以上问题均由[issue](../../issues/5)指出,感谢捉虫。
***
### [1.3.0]
> `1.3.0`版本基本准备就绪,发布正式版。以下为包括pre版本的汇总更新日志。
> 此后明晰版本号进位规则:小修小补`0.0.*`,新增功能`0.*.0`,大型重构`*.0.0`。
**新增**:
- 全面适配了`i18n`(本地化),现在可在`koishi-本地化`自定义绝大多数插件文本内容,包括英雄别名列表、位置代称等。
- 并且也支持了*AI机翻*英文`en-US`(包括模板中的文本)。插件优先读取频道语言,未设置时读取平台语言。
> 频道语言设置:可通过channel.locale设置频道语言([设置方式](https://koishi.chat/zh-CN/manual/usage/customize.html#%E8%AE%BE%E7%BD%AE%E8%AF%AD%E8%A8%80%E5%81%8F%E5%A5%BD))
> 平台语言设置:在平台设置中的插件设置-全局设置中调整语言优先级。
**改进**:
- API查询重构为使用标准的graphql查询模式开发,为所有的查询都添加了类型支持,提升今后的开发便捷性。(用户体验无差别)
- 优化了比赛数据查询逻辑,节省了流量并稍微加快了响应速度。(相较此前每次查询比赛可节省20~22KB的流量)
- 查询缓存改用cache服务,优化了相关代码且更便于管理。
>(需要安装cache服务插件,按照koishi提示即可。由于改用全新缓存,可能会发出群友一天内的最近一场战报,对造成的困扰在此抱歉😞)
- 为防止指令名与其他插件冲突,本插件所有指令原名均改为`dota2tracker.*`;同时为指令设置了原先的中文指令名作为别名,依旧可按照原先方式调用,<del>也可由用户自由修改与禁用。</del>
> [!WARNING]
> 注意到目前由开发者设置的指令别名被用户禁用后仍然生效,暂不确定是否为koishi的bug
- `查询英雄`图片模板优化,现在英雄属性的显示更贴近官方风格。(高仿了游戏中的血条蓝条等)
- `查询比赛` `查询最近比赛`新增选项`--parse/-p`,使用此选项时将会检测数据是否已解析,若未解析则会向服务器发送解析请求,等待检测到解析完成后再发出战报图片,这些逻辑与`战报追踪`功能一致。
> 此功能等待超时时间采用配置项`dataParsingTimeoutMinutes`
- `查询最近比赛`指令代码优化。
- 优化了部分日志输出结果,减少重复无用的文字。
- `战报追踪`调整代码逻辑,避免潜在的高并发问题。
**修复**:
- 修复此前新增的战报解析请求并没能成功发送的问题。
- 修复插件版本更新可能带来的`查询比赛`报错。
>(没错,就是挂在首页readme中很久的已知问题)
- 修复一处比赛数据处理函数中的逻辑错误,导致此前`match_1`模板中参葬率运算结果不准确。
- 尝试修复[比赛数据解析不完整引发的报错](https://github.com/sjtdev/koishi-plugin-dota2tracker/issues/4)。
**移除**:
- `查询英雄对战`指令暂时移除。
> 这个指令是草草写的,实用性不是很高。本来早有准备在stratz推出根据命石查询英雄胜率等信息时重写这个毛坯指令的,等了快一年了也没等到所以一直搁置……
> 这次使用i18n重构项目,感觉这个毛坯也没必要适配i18n了索性先退场吧。
### 代码层面:
大量的解耦与重构,并尽可能的使用TS特性,现在代码比起以前能看很多了。
> 这个版本代码变动量真的很大!
### 文档方向:
<del>[全新的文档](https://sjtdev.github.io/koishi-plugin-dota2tracker/)也在编写中,敬请期待。</del>
文档编写暂缓,正在计划重构模板代码。
<details>
<summary><b>1.3.0-pre&1.2.20-pre更新日志</b></summary>
# 1.3.0-pre.6
**新增**:现在日志输出也支持i18n了。
**改进**:
- `查询比赛` `查询最近比赛`新增选项`--parse/-p`,使用此指令将会检测数据是否已解析,若未解析则会向服务器发送解析请求,等待检测到解析完成后再发出战报图片,这些逻辑与`战报追踪`功能一致。
> 此功能等待超时时间采用配置项`dataParsingTimeoutMinutes`
- `查询最近比赛`指令代码优化。
- 优化了部分日志输出结果,减少重复无用的文字。
- `战报追踪`调整代码逻辑,避免潜在的高并发问题。
# 1.3.0-pre.5
**修复**:修复因i18n重构导致的`段位变动整活模板`生成报错的问题。
# 1.3.0-pre.4
**改进**:指令`i18n`适配完成。
为防止指令名与其他插件冲突,本插件所有指令原名均改为`dota2tracker.*`;同时为指令设置了原先的中文指令名作为别名,依旧可按照原先方式调用,<del>也可由用户自由修改与禁用。</del>
> [!WARNING]
> 注意到目前由开发者设置的指令别名被用户禁用后仍然生效,暂不确定是否为koishi的bug
# 1.3.0-pre.3
**修复**:修复1.2.20-pre.2重构查询代码导致使用`绑定`指令时可能无法验证SteamID的问题。
# 1.3.0-pre.2
**修复**:尝试修复[比赛数据解析不完整引发的报错](https://github.com/sjtdev/koishi-plugin-dota2tracker/issues/4)。
# 1.3.0-pre.1
(英雄别名的键名修改导致在`1.2.20-pre.3`版本自定义的本地化内容丢失,如有需要请到`koishi/data/locales/{locale}.yml`或者于`locales`插件的自定义目录中查找恢复)
**新增**:
- 全部结构性支持`i18n国际化多语言`。(尚未全部改写完成,不过框架完成了剩下的就是堆量了)
> 未完成部分:日报周报、部分指令
**调整**:
- 为了适配i18n改造,指令系统由原来的中文指令改为同义英文;中文指令作为别名也内置进了指令中,依然可以按照原先的方式调用。
**改进**:
- 优化了比赛数据查询逻辑,节省了流量并稍微加快了响应速度。(相较此前每次查询比赛可节省20~22KB的流量)
- 查询缓存改用cache服务,优化了相关代码且更便于管理。
>(需要安装cache服务插件,按照koishi提示即可。由于改用全新缓存,可能会发出群友一天内的最近一场战报,对造成的困扰在此抱歉😞)
- `查询英雄`图片模板优化,现在英雄属性的显示更贴近官方风格。(高仿了游戏中的血条蓝条等)
**修复**:
- 修复一处比赛数据处理函数中的逻辑错误,导致此前`match_1`模板中参葬率运算结果不准确。
**移除**:
- `查询英雄对战`指令暂时移除。
> 这个指令是草草写的,实用性不是很高。本来早有准备在stratz推出根据命石查询英雄胜率等信息时重写这个毛坯指令的,等了快一年了也没等到所以一直搁置……
> 这次使用i18n重构项目,感觉这个毛坯也没必要适配i18n了索性先退场吧。
### 代码层面:
大量的解耦与重构,并尽可能的使用TS特性,现在代码比起以前能看很多了。
> 这个版本代码变动量真的很大!
### 文档方向:
[全新的文档](https://sjtdev.github.io/koishi-plugin-dota2tracker/)也在编写中,敬请期待。
***
# 1.2.20-pre.3
**新增&改进**:重构了部分数据文件并转移至新建的`i18n`文档中,现在可以自定义 [英雄别名] 与 [位置名称] ,在 **koishi侧边栏-本地化** 中配置。
```
本地化
├─ ...
├─ dota2tracker
│ ├─ heroes #此处修改英雄别名
├─ ...
```
顺便也支持了多语言[zh-CN(简体中文)、en-US(英文)],目前只有前面提到的两项可被编辑(且位置名称修改暂时无效),将继续开发逐步支持更多文本内容。
# 1.2.20-pre.2
**改进**:API查询重构为使用标准的graphql查询模式开发,为所有的查询都添加了类型支持,提升今后的开发便捷性。(用户体验无差别)
**修复**:修复插件版本更新可能带来的`查询比赛`报错。(没错,就是挂在首页readme中很久的已知问题)
# 1.2.20-pre.1
**修复**:修复此前新增的战报解析请求并没能成功发送的问题。
</details>
***
### [1.2.19]
**修复**:
- 修复使用`绑定`指令时总是验证失败的问题。
***
### [1.2.18]
**修复**:
- 修复[当绑定人数大于5时无法使用的问题 与 `查询最近比赛`无法使用的问题](https://github.com/sjtdev/koishi-plugin-dota2tracker/issues/3),感谢issue捉虫!
- 修复部分情况下`查询群友`无法使用的问题。
***
### [1.2.17]
**新增**:
- 新增`段位变动播报功能`,开启后每分钟检测所有已绑定玩家的段位情况,若段位变动则向所在群组发送播报信息。(查询段位的请求附加到查询最近比赛请求中,不会额外浪费API使用次数)
> 注:作者最近很少打dota,朋友中也没有在打天梯的,制作此功能纯属兴趣,请在使用此功能遇到问题的朋友及时发issue反馈。
**改进**:
- 因([STRATZ discord消息](https://discord.com/channels/268890221943324677/647693746757959682/1305969679075901462))原API重新可用,战报/日报等功能代码回滚至原先更稳定的实现方式。
- 战报功能:在获取到新比赛时,将主动发送一次解析请求,以避免对局内所有玩家都未注册过STRATZ时比赛不会被解析的问题。
***
### [1.2.16]
> 同`pre.1`
**修复**:
- 尝试修复由于STRATZ API变动导致战报与查询比赛功能失效的问题。
***
### [1.2.15]
**新增**:
- 添加对新英雄`凯`的支持。(战报播报、查询英雄等)
***
### [1.2.14]
**修复**:
- 修复插件配置中`周报功能`与`日报功能`错误地成为必须项的问题,感谢[issue](https://github.com/sjtdev/koishi-plugin-dota2tracker/issues/2)捉虫!
***
### [1.2.13]
**新增&改进**:
- 战报模板`match_1`追加显示命石名,并调整了其他信息的显示效果以适配此改动。
***
### [1.2.12]
**新增&改进**:
- 战报模板`match_2`追加显示命石名,并调整了其他信息的显示效果以适配此改动。
***
### [1.2.11]
**新增&改进**:
- 对战报模板添加命石显示,微调了其他信息的显示效果以适配此改动。
***
### [1.2.10]
**新增**:
- 添加对新英雄`百戏大王`的支持。(战报播报、查询英雄等)
**修复**:
- 修复`查询英雄`图片中英雄的“基础攻击间隔”显示有误的问题。
- 修复战报图中若玩家名有html标签会导致图片排版错乱的问题。
- 修复周报与日报中评分条样式不正确的问题。
**改进**:
- 调整了总结模板和玩家信息模板中胜负字体颜色样式,使其看起来更清晰。
- 优化了总结模板中胜负数和胜率的样式。
<details>
<summary><b>1.2.10-pre更新日志</b></summary>
### 1.2.10-pre.2
**改进**:
- 调整了总结模板和玩家信息模板中胜负字体颜色样式,使其看起来更清晰。
- 优化了总结模板中胜负数和胜率的样式。
### 1.2.10-pre
**修复**:
- 修复战报图中若玩家名有html标签会导致图片排版错乱的问题。
- 修复周报与日报中评分条样式不正确的问题。
</details>
***
### [1.2.9]
**改进**:
- 现在周报与日报改为图片版,依旧由`ejs`生成。去除配置页中周报与日报的“实验性”标识。(目前周报与日报使用同一模板,未来可能会设计数据更丰富的周报,也可能不会_(:3」∠)_
- 优化播报评语随机选择算法离散性,以避免此前若是有多位玩家的随机种子相近则这些玩家选择结果总是相同。
- 优化追踪比赛逻辑:在追踪到群友比赛后等待解析时,此前为按添加顺序等待队列中的比赛,现在修改了判断逻辑,对当前时间分钟数与等待队列的长度进行取余,周期性访问队列中每一场比赛,这样可以优先发送已解析完成的比赛而不会被早加入但迟迟未解析的比赛阻塞。
- 现在可在战报模板`match_1`和玩家信息模板中正确显示打野玩家的对线结果为“野区霸主”并有对应的图标,而不是跟随默认的中路对线结果。([wiki/match_1](https://github.com/sjtdev/koishi-plugin-dota2tracker/wiki/match_1)也已更新。)
- `查询英雄`:命石技能的技能名栏位添加对应命石图标与背景色用于标识。
**修复**:
- `查询英雄`:修复DOTA2 7.37版本更新后API变动导致部分英雄查询报错。
<details>
<summary><b>1.2.9-pre更新日志</b></summary>
### 1.2.9-pre.3
**改进**:
- 尝试修改逻辑:在追踪到群友比赛后等待解析时,此前为按添加顺序等待队列中的比赛,现在修改了判断逻辑,对当前时间分钟数与等待队列的长度进行取余,周期性访问队列中每一场比赛,这样可以优先发送已解析完成的比赛而不会被早加入但迟迟未解析的比赛阻塞。
### 1.2.9-pre.2
**改进**:
- 现在可在战报模板`match_1`和玩家信息模板中正确显示打野玩家的对线结果为“野区霸主”并有对应的图标,而不是跟随默认的中路对线结果。([wiki/match_1](https://github.com/sjtdev/koishi-plugin-dota2tracker/wiki/match_1)也已更新。)
### 1.2.9-pre
**修复&改进**:
- `查询英雄`:尝试修复DOTA2 7.37版本更新后API变动导致部分英雄查询报错。
- `查询英雄`:命石技能的技能名栏位添加对应命石图标与背景色用于标识。
</details>
***
### [1.2.8]
**新增**:
- 新增周报功能,效果等同日报。
- 日报与周报中新增可关闭总结中显示组合的功能。
**改进**:
- 现在`查询玩家`与`查询最近比赛`指令可在私聊状态下使用,必须提供SteamID参数。
- 将战报中的播报评语由随机选取改为固定种子:比赛ID+玩家SteamID+玩家位置,确保在不同调用时刻、次数及平台下,对同一场比赛中的玩家评语保持一致。
- `查询玩家`指令图片中,玩家近期比赛表中未解析的场次参战率由"?%"改为估算值,显示为"≈xx%"。
- `查询英雄`指令图片中,由于命石带来的属性数值无法确定作用方式(增加或是替换等),去除命石属性前的“+”,请结合命石说明自行判断。(7.37版本更新带来的API变动,导致使用指令查询某些英雄报错问题,暂无法解决)
- 战报模板`match_2`中,现在冠绝排名数字位置更准确了。
- 战报模板`match_2`中,比赛段位可以显示星级了。
<details>
<summary>为什么未解析的比赛需要“估算”?</summary>
比赛未解析无法获取“团队击杀数”,若是将己方所有玩家的击杀数相加,则会漏掉那些由小兵、防御塔等非玩家单位击杀数;若是将敌方所有玩家的死亡数相加,又会多出送野、自杀等不应算在己方战果中的计数。<br>目前程序采用将己方所有击杀数累加的方式来估算参战率,可能会略高于实际值。
</details>
<details>
<summary><b>1.2.8-pre更新日志</b></summary>
### 1.2.8-pre
**改进**:
- 现在`查询玩家`可在私聊状态使用,必须提供SteamID参数。
- 将战报中的播报评语由随机选取改为固定种子:比赛ID+玩家SteamID,确保在不同调用时刻、次数及平台下,对同一场比赛中的玩家评语保持一致。
- `查询玩家`指令图片中,玩家近期比赛表中未解析的场次参战率由"?%"改为估算值,显示为"≈xx%"
##### pre.2
**改进**:
- 战报模板`match_2`中,现在冠绝排名数字位置更准确了。
- 战报模板`match_2`中,比赛段位可以显示星级了。
</details>
***
### [1.2.7]
##### 于1.2.7-beta中尝试修复的功能均已正常工作,正式发布1.2.7
##### 以下为包括beta版更新内容在内的所有改动
##### **新增**:
- 可在配置页设置查询比赛与发布战报时附带stratz比赛链接、查询玩家信息时附带stratz玩家页面链接、查询英雄数据信息时附带刀塔百科对应英雄页面链接,这些选项均默认关闭。
##### **修复**:
- 修复当同一个steamId在多个已订阅群组中绑定时,仅会向最早绑定的群组发送战报的问题。
- 现在若所有玩家某项属性都为0时不会错误地将对应称号赋予玩家1,而是取消此称号赋予。(此版本前例如所有玩家治疗量都为0,玩家1会获得“奶”称号,而现在将不会有玩家获得“奶”称号)
- 修复无法获取群组相关信息导致的日报功能失效。
- 修复日报功能中统计组合有可能出现重复的问题。
<details>
<summary><b>1.2.7-beta更新日志</b></summary>
### 1.2.7-beta
##### **新增**:
- 可在配置页设置发布战报时附带stratz比赛链接、查询玩家信息时附带stratz玩家页面链接,这些选项均默认关闭。
##### **修复**:
- (beta测试中) 尝试修复当同一个steamId在多个已订阅群组中绑定时,仅会向最早绑定的群组发送战报的问题。
- 现在若所有玩家某项属性都为0时不会错误地将对应称号赋予玩家1,而是取消此称号赋予。(此版本前例如所有玩家治疗量都为0,玩家1会获得“奶”称号,而现在将不会有玩家获得“奶”称号)
#### beta.2
**修复**:尝试修复无法获取群组相关信息导致的日报功能失效。
#### beta.3
**修复**:尝试修复日报功能中统计组合有可能出现重复的问题。
</details>
***
### [1.2.6]
##### 因koishi更新至4.17.10修复了主动发送消息的函数,本插件的发送消息方式也换回之前的方案以避免可能的代码问题。(功能使用上与1.2.6-pre3版本一致)
**改进&修复**:修复了`查询英雄`图片中 技能数值未被正确替换、全才英雄基础攻击力显示错误的问题,并优化了命石描述显示方式
**改进**:调整比赛战报图片样式:解析失败时显示的“第-手”改为“第?手”
**改进**:为英雄`艾欧`添加别名:["艾欧", "小精灵"] → ["艾欧", "小精灵", "精灵", "IO"]
**修复**:修复`查询玩家`图片中场次表现评分为0时显示为?的问题
<details>
<summary><b>1.2.6-pre更新日志</b></summary>
### 1.2.6-pre
##### (因koishi尚未更新发布pre版)
**改进&修复**:修复了`查询英雄`图片中 技能数值未被正确替换、全才英雄基础攻击力显示错误的问题,并优化了命石描述显示方式
**改进**:调整比赛战报图片样式:解析失败时显示的“第-手”改为“第?手”
**修复**:修复`查询玩家`图片中场次表现评分为0时显示为?的问题
#### pre2
**改进&修复**:彻底完善了`查询英雄`图片中所有由命石、神杖、魔晶提供或改变的数值说明,修复命石说明中技能数值为百分数时未带百分号的问题。
#### pre3
**改进&修复**:继续优化`查询英雄`代码结构使由命石、神杖、魔晶改变的技能属性更直观;修复某些技能数据中有旧天赋加成数据留存、导致的天赋数值未被正确填充。
**改进**:为英雄`艾欧`添加别名:["艾欧", "小精灵"] → ["艾欧", "小精灵", "精灵", "IO"]
</details>
***
### [1.2.5]
**改进**:优化`查询玩家`图片中近期战绩列表内未解析比赛的显示效果
**修复**:修复`查询英雄`图片技能属性名多显示了一个冒号的问题
#### fix
**修复**:使用临时替代方案修复由koishi-4.17.9的bug引起的无法主动发送消息(播报战报等),待koishi更新修复后回滚此改动。
#### fix3
**修复**:修复使用替代方案导致日报失效的问题。
***
### [1.2.4]
**修复**:修正调用help指令时本插件某些指令的说明错误
**修复**:修复`取消订阅`指令失效的问题
***
### [1.2.3]
**修复**:修复了比赛战报图片中称号`摸`判定不正确的问题
**改进**:微调了比赛战报图片模板`match_2`中称号的显示样式
***
### [1.2.2]
**移除**:取消`查询英雄`的缓存功能,原因为valve的API返回的数据可能包含未本地化的字段(例如这次的7.36b更新后获取到的很多改动后技能说明暂时都是英文),这些数据无法根据版本判断是否需要更新缓存。
**修复**:修复了`查询英雄`图片中某些命石提供技能可能被判定为先天技能的问题。
***
### [1.2.1]
**改进**:优化比赛战报图片中,对多个同种物品(例如双护腕双挂件一类)的出装时间显示进行优化,原先都将显示为最后一件此种物品的购买时间,现在可以显示不同的时间。
> 从第一件购买时间算起,例如火枪于1:00 2:00 3:00购买了三个系带,游戏结束前卖出其中之一,则剩余两个则显示为1:00 2:00
**改进**:出于实用性考虑,比赛战报图片中将不再显示辅助道具的购买时间。
***
### [1.2.0]
**改进**:对`查询英雄`模板代码进行了调整与部分重写,完成7.36版本的英雄数据匹配,现在可正常使用。
> (人话说就是先天技能和命石适配完成了)
**移除**:因`查询英雄`指令已适配7.36版本,`7.36`指令退役。(删除)
#### hotfix
**修复**:删除一些留存的测试用代码
***
### [1.1.10]
**修复**:修复`7.36`指令因DOTA2官网的cdn链接变动导致获取失败的问题,并优化了加载速度。
**修复**:修复每次在koishi重新启动后,使用指令`7.36`都会重新获取数据的问题。
#### hotfix
**修复**:修复一处编译问题导致`7.36`指令无法使用的问题
***
### [1.1.9]
**新增**:v1.1.6加入的功能等待解析时间现在可以配置,位于插件页配置项`dataParsingTimeoutMinutes`
**修复**:修复因v1.1.8修改数据获取方式导致的`绑定`指令失效
**修复**:修复指令`查询英雄`报错问题(数据仍为7.35d,等待上游API更新)
**改进**:兼容Discord、KOOK等频道类平台,将订阅与绑定存储时群组(guild)改为频道(channel),对onebot(qq)类无影响(出现使用问题请联系我)
<details>
<summary>若此前已在使用频道类平台……</summary>
此版本前频道类平台应该无法使用战报功能与日报功能。此版本在订阅本群与绑定玩家时将存储channelId而不是guildID,对于非频道类平台这两个值是一样的,不会造成影响。但频道类平台应该会彻底失效,解决方案只有操作数据库,将channelId填入原先guildId处(兼容原因,未修改数据库字段名[guildId],但实际上存入的已经是channel的ID了;guildId和channelId可参考数据库表channel中的数据),或重新订阅与绑定。(若是重新订阅与绑定,不会覆盖原先存储guildId的数据,也就是说旧数据依然会存在,可根据需求选择是否删除)
</details>
***
### [1.1.8]
**改进**:将数据获取方式从 npm 包 `axios` 切换为 Koishi 提供的 `http` 服务,并简化了相关代码(用户体验无差别)。
**改进**:为 `match_2` 模板添加了玩家小队标识(效果与 `match_1` 模板中的相同功能一致,但在显示上进行了微调)。
***
### [1.1.7]
**改进**:玩家信息模板中代表位置的图标替换为简约风格图标
**修复**:于v1.1.5新增的`7.36`指令生成英雄改动图片时会额外产生的测试用的`remainingContent.html`文件,现已不再生成。(如果之前使用了该命令并产生了此文件,可根据需要手动删除。位于`koishi/node_modules/@sjtdev/koishi-plugin-dota2tracker/`)
***
### [1.1.6]
由于近期stratz网站问题,比赛数据无法自动解析,导致bot会一直等待解析后的战报数据而无法发送。
**新增**:现在调整为比赛结束1小时后仍然未解析时将直接发出缺失部分数据的战报(缺失包括BP顺序、出装时间、英雄受到伤害等)
#### hotfix
**修复**:修复引发播报未解析比赛战报失败的一个小问题
***
### [1.1.5]
**新增**:为新版本7.36添加新指令`7.36`
`7.36 <英雄ID|英雄名|英雄常用别名>`可查询对应英雄的改动信息,未输入英雄查询参数时直接返回官网7.36更新日志链接
添加`--refresh|-r`参数可强制重新获取数据,如`7.36 -r`,也可在查询时使用,如`7.36 敌法师 -r`
***
### [1.1.4]
**改进**:完善查询玩家指定英雄的生成模板
***
### [1.1.3]
**新增**:新增实验性功能【日报昨日总结】,在指定时间播报昨日已订阅群组中已绑定群友的战绩(简略文字),默认关闭,可在插件配置中打开
`查询玩家`指令新增功能,现在额外输入参数`--hero <英雄ID|英雄名|英雄常用别名>`可查询目标玩家指定英雄的详情(--hero可替换为-o)
例如:
* `查询玩家 123456789 --hero 敌法师`
* `查询玩家 -o 敌法师` (仍可缺省玩家参数以自查)
***
### [1.1.2]
**改进**:完成查询群友功能
**修复**:修复玩家模板中显示NaN的部分
#### hotfix
**修复**:修复查询远古玩家账号时可能意外失败的问题
**改进**:调整mvp中的控制分与[控]称号算法
#### hotfix.2
**修复**:修复初次使用查询英雄指令时,技能名初始化失败导致的错误
### [1.1.2-beta]
**改进**:为`查询群友`添加模板,还在调整布局中
***
### [1.1.1]
**改进**:玩家信息模板添加近25场内各个位置表现展示
***
### [1.1.0]
**改进**:使用ejs重写模板相关代码使其模块化,使新增模板更方便
**新增**:为比赛信息添加了仿MAX+模板,效果可见[match_2](https://github.com/sjtdev/koishi-plugin-dota2tracker/wiki/match_2),可在插件配置中切换