Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08682045d4 |
@@ -1,11 +1,5 @@
|
||||
# Changelog
|
||||
|
||||
## beta 2.0.5.1023 - 2026-10-23 17:16:12
|
||||
|
||||
- 21 点胜率显示修复完成:`/摩拉` 里的 21 点战绩现在会和 `/21点 胜率` 使用同一套统计口径。
|
||||
- 修复 `/摩拉` 误读旧版通用胜负字段的问题,避免旧抽奖等历史数据污染 21 点胜率展示。
|
||||
- 超时认输、主动认输、单人结算和多人牌桌仍统一写入 `blackjack_stats`,本次只调整展示读取来源。
|
||||
|
||||
## beta 2.0.4.1023 - 2026-10-23 16:56:33
|
||||
|
||||
- 许愿池和 21 点小版本更新完成:`/抽奖` 已并入许愿池,21 点新增群内胜率统计并调整下注上限。
|
||||
|
||||
@@ -8,7 +8,7 @@ JWeBot 是运行于 Linux 的单群微信自动回复系统。它通过本地 OC
|
||||
观察选定的微信窗口,将消息写入持久化 Edge 账本,调用经过审核的命令插件,
|
||||
并通过带视觉确认的 GUI 发送链路回复。
|
||||
|
||||
当前版本:`beta 2.0.5.1023`,更新时间:2026-10-23 17:16:12。
|
||||
当前版本:`beta 2.0.4.1023`,更新时间:2026-10-23 16:56:33。
|
||||
|
||||
1.0 Beta 收口了当前稳定功能:本地命令插件、人物与上下文索引、
|
||||
Steam 状态与时长查询、虚拟摩拉游戏、多人彩票、21 点、CS Major
|
||||
@@ -272,10 +272,10 @@ visually confirmed GUI bridge.
|
||||
Current version:
|
||||
|
||||
```text
|
||||
beta 2.0.5.1023
|
||||
beta 2.0.4.1023
|
||||
```
|
||||
|
||||
Updated: 2026-10-23 17:16:12.
|
||||
Updated: 2026-10-23 16:56:33.
|
||||
|
||||
The 1.0 Beta baseline consolidates the stable local command set, person and
|
||||
context indexes, Steam presence/playtime queries, virtual coin games,
|
||||
|
||||
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "jwebot-config"
|
||||
version = "2.0.5b1+1023"
|
||||
version = "2.0.4b1+1023"
|
||||
description = "Profile-based configuration compiler for JWeBot"
|
||||
requires-python = ">=3.9"
|
||||
dependencies = [
|
||||
|
||||
@@ -36,4 +36,4 @@ __all__ = [
|
||||
"write_default_profile",
|
||||
]
|
||||
|
||||
__version__ = "2.0.5b1+1023"
|
||||
__version__ = "2.0.4b1+1023"
|
||||
|
||||
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "jwebot-extension-host"
|
||||
version = "2.0.5b1+1023"
|
||||
version = "2.0.4b1+1023"
|
||||
description = "Single-release, single-invocation process host for JWeBot extensions"
|
||||
requires-python = ">=3.9"
|
||||
dependencies = [
|
||||
"jwebot-sdk==2.0.5b1+1023",
|
||||
"jwebot-kernel==2.0.5b1+1023",
|
||||
"jwebot-sdk==2.0.4b1+1023",
|
||||
"jwebot-kernel==2.0.4b1+1023",
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
|
||||
@@ -16,4 +16,4 @@ __all__ = [
|
||||
"process_request",
|
||||
]
|
||||
|
||||
__version__ = "2.0.5b1+1023"
|
||||
__version__ = "2.0.4b1+1023"
|
||||
|
||||
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "jwebot-kernel"
|
||||
version = "2.0.5b1+1023"
|
||||
version = "2.0.4b1+1023"
|
||||
description = "Stable routing and extension authority for JWeBot"
|
||||
requires-python = ">=3.9"
|
||||
dependencies = [
|
||||
"jwebot-config==2.0.5b1+1023",
|
||||
"jwebot-sdk==2.0.5b1+1023",
|
||||
"jwebot-official-extensions==2.0.5b1+1023",
|
||||
"jwebot-config==2.0.4b1+1023",
|
||||
"jwebot-sdk==2.0.4b1+1023",
|
||||
"jwebot-official-extensions==2.0.4b1+1023",
|
||||
"tomli>=2; python_version < '3.11'",
|
||||
]
|
||||
|
||||
|
||||
@@ -107,4 +107,4 @@ __all__ = [
|
||||
"verify_installed_release_signature",
|
||||
]
|
||||
|
||||
__version__ = "2.0.5b1+1023"
|
||||
__version__ = "2.0.4b1+1023"
|
||||
|
||||
@@ -4,11 +4,11 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "jwebot-official-extensions"
|
||||
version = "2.0.5b1+1023"
|
||||
version = "2.0.4b1+1023"
|
||||
description = "Reviewed local command adapters and broker implementation for JWeBot"
|
||||
requires-python = ">=3.9"
|
||||
dependencies = [
|
||||
"jwebot-sdk==2.0.5b1+1023",
|
||||
"jwebot-sdk==2.0.4b1+1023",
|
||||
]
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
|
||||
@@ -90,4 +90,4 @@ __all__ = [
|
||||
"render_feature_list",
|
||||
]
|
||||
|
||||
__version__ = "2.0.5b1+1023"
|
||||
__version__ = "2.0.4b1+1023"
|
||||
|
||||
@@ -816,12 +816,8 @@ class PlayerGames:
|
||||
state = "进行中" if account.get("game") else "无进行中的牌局"
|
||||
loan = account.get("loan")
|
||||
loan_text = f"未还贷款 {loan['principal']};" if loan else "无贷款;"
|
||||
blackjack_stats = account["blackjack_stats"]
|
||||
total = int(blackjack_stats["hands"])
|
||||
wins = int(blackjack_stats["wins"])
|
||||
losses = int(blackjack_stats["losses"])
|
||||
ties = int(blackjack_stats["ties"])
|
||||
win_rate = (wins / total * 100) if total else 0.0
|
||||
total = account["wins"] + account["losses"] + account["ties"]
|
||||
win_rate = (account["wins"] / total * 100) if total else 0.0
|
||||
lines = [
|
||||
(
|
||||
f"{player_label}:{expired}当前摩拉 {account['balance']};"
|
||||
@@ -830,8 +826,8 @@ class PlayerGames:
|
||||
f"{loan_text}"
|
||||
),
|
||||
(
|
||||
f"21点 {state};已结算胜 {wins} / "
|
||||
f"负 {losses} / 平 {ties},"
|
||||
f"21点 {state};已结算胜 {account['wins']} / "
|
||||
f"负 {account['losses']} / 平 {account['ties']},"
|
||||
f"胜率 {win_rate:.2f}%。"
|
||||
),
|
||||
"最近10次账户变动:",
|
||||
|
||||
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "jwebot-sdk"
|
||||
version = "2.0.5b1+1023"
|
||||
version = "2.0.4b1+1023"
|
||||
description = "Typed, capability-limited extension API for JWeBot plugins"
|
||||
requires-python = ">=3.9"
|
||||
dependencies = []
|
||||
|
||||
@@ -40,4 +40,4 @@ __all__ = [
|
||||
"SingleGroupContext",
|
||||
]
|
||||
|
||||
__version__ = "2.0.5b1+1023"
|
||||
__version__ = "2.0.4b1+1023"
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
[tool.jwebot]
|
||||
release = "beta 2.0.5.1023"
|
||||
release = "beta 2.0.4.1023"
|
||||
production_deployments_enabled_by_default = false
|
||||
|
||||
[tool.jwebot.workspace]
|
||||
|
||||
@@ -1291,9 +1291,9 @@ class LedgerAndApplicationTests(unittest.TestCase):
|
||||
self.assertEqual(version["route"], "local")
|
||||
self.assertIn("JWeBot 版本", version["text"])
|
||||
self.assertIn("kernel", version["text"])
|
||||
self.assertIn("最新版本:beta 2.0.5.1023", version["text"])
|
||||
self.assertIn("更新时间:2026-10-23 17:16:12", version["text"])
|
||||
self.assertIn("更新摘要:21 点胜率显示修复完成", version["text"])
|
||||
self.assertIn("最新版本:beta 2.0.4.1023", version["text"])
|
||||
self.assertIn("更新时间:2026-10-23 16:56:33", version["text"])
|
||||
self.assertIn("更新摘要:许愿池和 21 点小版本更新完成", version["text"])
|
||||
self.assertEqual(debug["route"], "local")
|
||||
self.assertIn("调试埋点", debug["text"])
|
||||
self.assertEqual(balance["route"], "local")
|
||||
|
||||
@@ -193,19 +193,6 @@ class Release063GameTests(unittest.TestCase):
|
||||
"alice:胜 0 / 负 0 / 平 1,胜率 0.00%;净赚净亏 0 摩拉",
|
||||
rates,
|
||||
)
|
||||
account = self.state()
|
||||
account["wins"] = 12
|
||||
account["losses"] = 15
|
||||
account["ties"] = 3
|
||||
self.engine.ledger._save_player_account(
|
||||
"group-a",
|
||||
person_key,
|
||||
account,
|
||||
MODULE.utc_now(),
|
||||
)
|
||||
wallet = self.command("/摩拉")
|
||||
self.assertIn("21点 无进行中的牌局;已结算胜 0 / 负 0 / 平 1", wallet)
|
||||
self.assertNotIn("已结算胜 12 / 负 15 / 平 3", wallet)
|
||||
self.assertIn("1~2000", self.command("/21点开始2001"))
|
||||
|
||||
def test_multiplayer_blackjack_table_guides_turns_and_settles(self):
|
||||
|
||||
@@ -20,7 +20,7 @@ SPEC.loader.exec_module(MODULE)
|
||||
|
||||
|
||||
class ReleaseUpdateTests(unittest.TestCase):
|
||||
release = "beta 2.0.5.1023"
|
||||
release = "beta 2.0.4.1023"
|
||||
major_release = "beta 2.0.0.1021"
|
||||
|
||||
def setUp(self):
|
||||
|
||||
Reference in New Issue
Block a user