@sjtdev/koishi-plugin-dota2tracker 1.2.7-beta → 1.2.7-beta.3

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/changelog.md CHANGED
@@ -3,6 +3,12 @@
3
3
  **修复**:(beta测试中) 尝试修复当同一个steamId在多个已订阅群组中绑定时,仅会向最早绑定的群组发送战报的问题。
4
4
  **修复**:现在若所有玩家某项属性都为0时不会错误地将对应称号赋予玩家1,而是取消此称号赋予。(此版本前例如所有玩家治疗量都为0,玩家1会获得“奶”称号,而现在将不会有玩家获得“奶”称号)
5
5
 
6
+ #### beta.2
7
+ **修复**:尝试修复无法获取群组相关信息导致的日报功能失效。
8
+
9
+ #### beta.3
10
+ **修复**:尝试修复日报功能中统计组合有可能出现重复的问题。
11
+
6
12
  ### 1.2.6
7
13
  因koishi更新至4.17.10修复了主动发送消息的函数,本插件的发送消息方式也换回之前的方案以避免可能的代码问题。(功能使用上与1.2.6-pre3版本一致)
8
14
 
package/lib/index.js CHANGED
@@ -1665,7 +1665,12 @@ async function apply(ctx, config) {
1665
1665
  let player = players.find((player2) => subPlayer.steamId == player2.steamAccount.id);
1666
1666
  if (!player)
1667
1667
  continue;
1668
- const guildMember = await ctx.bots.find((bot) => bot.platform == subPlayer.platform)?.getGuildMember(subPlayer.guildId, subPlayer.userId);
1668
+ let guildMember;
1669
+ try {
1670
+ guildMember = await ctx.bots.find((bot) => bot.platform == subPlayer.platform)?.getGuildMember(subPlayer.guildId, subPlayer.userId);
1671
+ } catch (error) {
1672
+ ctx.logger.error("获取群组信息失败。" + error);
1673
+ }
1669
1674
  subPlayer.name = subPlayer.nickName || (guildMember?.nick ?? players.find((player2) => player2.steamAccount.id == subPlayer.steamId)?.steamAccount.name);
1670
1675
  player.winCount = player.matches.filter((match) => match.didRadiantWin == match.players.find((innerPlayer) => innerPlayer.steamAccount.id == player.steamAccount.id).isRadiant).length;
1671
1676
  player.loseCount = player.matches.length - player.winCount;
@@ -1685,7 +1690,7 @@ async function apply(ctx, config) {
1685
1690
  const currentsubscribedPlayersIds = currentsubscribedPlayers.map((player) => player.steamId);
1686
1691
  const combinationsMap = /* @__PURE__ */ new Map();
1687
1692
  matches.forEach((match) => {
1688
- const sortedPlayerIds = match.players.map((player) => player.steamAccount.id).filter((id) => currentsubscribedPlayersIds.includes(id)).sort((a, b) => a.steamId - b.steamId);
1693
+ const sortedPlayerIds = match.players.map((player) => player.steamAccount.id).filter((id) => currentsubscribedPlayersIds.includes(id)).sort((a, b) => a - b);
1689
1694
  const key = sortedPlayerIds.join(",");
1690
1695
  if (!combinationsMap.has(key)) {
1691
1696
  const players2 = currentsubscribedPlayers.filter((subPlayer) => sortedPlayerIds.includes(subPlayer.steamId));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sjtdev/koishi-plugin-dota2tracker",
3
3
  "description": "koishi插件-追踪群友的DOTA2对局",
4
- "version": "1.2.7-beta",
4
+ "version": "1.2.7-beta.3",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [