|
|
386e67ec60
|
feat(赛马插件): 在结算时显示用户昵称而非ID
- 新增 `_get_user_name` 和 `_build_name_map` 函数,用于根据群名片或昵称获取用户显示名
- 修改 `_format_point_change_lines` 函数,接受并应用昵称映射
- 在 `run_race_with_settlement` 中构建昵称映射,并在冠军马主和中奖下注者处使用显示名
|
2026-04-06 23:24:32 +08:00 |
|
|
|
498d39b676
|
feat(赛马插件): 调整参与奖励并优化赛马显示对齐
- 将参与奖励从50点降低到20点以平衡经济系统
- 为所有马主添加参与奖励计算和发放逻辑
- 优化赛况显示中的马名对齐,支持中文字符宽度计算
|
2026-04-06 23:21:21 +08:00 |
|
|
|
aca33820fc
|
fix(群赛马): 将比赛开始消息发送方式从finish改为send
避免使用finish导致命令执行提前结束,确保后续异步比赛任务能正常执行
|
2026-04-06 23:14:20 +08:00 |
|
|
|
5e0d397843
|
feat(群赛马): 为参赛者添加基础积分奖励
将 PARTICIPANT_REWARD 默认值从 0 调整为 50,以激励更多用户参与赛马活动。
同时更新了 README 中的相关说明文档。
|
2026-04-06 23:03:07 +08:00 |
|
|
|
7f022b92e0
|
feat: 抽卡签到功能 - 首次抽卡/三连自动签到获随机积分
- data_manager: 新增 daily_sign_in 表、has_signed_in_today、record_sign_in 方法
- utils: 新增 get_luck_description、format_sign_in_message 函数
- __init__: 新增 try_handle_daily_sign_in 签到入口
- handle_gacha/handle_triple_gacha 成功路径 finish()→send()+签到+return
- 签到失败不影响抽卡主流程,UNIQUE约束防并发重复
|
2026-04-05 22:07:50 +08:00 |
|
|
|
08ba1399ef
|
fix: 清理抽卡插件遗留迁移死代码
- 删除 claim_achievement_reward 中不可达的 _migrate_data() 调用
- 删除 _migrate_data() 方法(JSON→SQLite 迁移已完成,不再需要)
- 删除 config 中 DAILY_DRAWS_FILE / USER_STATS_FILE 遗留配置
|
2026-04-05 21:35:14 +08:00 |
|
|
|
e773a7a1ef
|
feat: 赛马游戏调整 - 允许自马下注 & 取消非冠军参赛奖励
- 移除下注时不能给自己马匹下注的限制
- 非冠军马主不再获得参赛奖励积分(PARTICIPANT_REWARD=0)
- 同步更新帮助文本、README文档和config默认值
|
2026-04-05 21:25:10 +08:00 |
|
|
|
ff8cf611af
|
feat(赛马): 完善帮助命令信息
|
2026-04-04 22:51:05 +08:00 |
|
|
|
64020cb0e6
|
feat(赛马): 为马匹添加序号并优化积分结算展示
- 为 Horse 模型添加 index 字段,用于唯一标识马匹序号
- 在报名时自动分配递增序号,并在所有展示中使用固定序号排序
- 新增积分变化计算功能,在比赛结果中展示每位用户的积分变化和总结描述
- 支持通过序号或马匹名下注,优化用户交互体验
- 添加用户上次马名记忆功能,允许重复使用马名报名
- 更新测试用例以验证序号展示和积分变化功能
|
2026-04-04 22:43:46 +08:00 |
|
|
|
2214e22b80
|
feat: 添加 pilmoji 依赖并支持渲染 emoji 表情
- 在 requirements.txt 中添加 pilmoji==2.0.5 依赖
- 重构 ImageRenderer 类,使用 Pilmoji 替代 PIL 的原生 text 方法以支持渲染 emoji 表情
- 将字体路径配置提取为类常量 DEFAULT_FONT_PATHS,并包含 Windows 和 Linux 的默认路径
- 初始化方法中的 font_paths 参数默认为 None,自动使用默认字体路径列表
|
2026-04-04 22:27:00 +08:00 |
|
|
|
45fbb947da
|
fix(image_render): 为字体路径提供默认值
避免在未提供字体路径时出现None值错误,确保渲染器能正常初始化。
默认使用NotoSansCJK-Regular.ttc和NotoColorEmoji.ttf字体文件。
|
2026-04-04 22:19:49 +08:00 |
|
|
|
ab1329042a
|
feat(group_horse_racing): 增加赛马消息图片渲染功能
- 在配置中新增图片渲染相关参数:RACE_RENDER_AS_IMAGE、RACE_IMAGE_WIDTH 等
- 复用 danding_qqpush 的 ImageRenderer,使其支持自定义标题
- 在比赛开始、结束和进度播报时,将文本消息转换为带标题的图片发送
- 修复测试用例中的消息发送函数调用
|
2026-04-04 22:09:53 +08:00 |
|
|
|
8adc17d311
|
test: 在模拟赛马测试中添加假机器人实例
为模拟赛马命令的测试环境添加一个 `_FakeBot` 实例,以更真实地模拟机器人交互场景。
|
2026-04-04 21:57:53 +08:00 |
|
|
|
79d1f69ec5
|
feat(测试): 为赛马模拟测试添加实时进度展示选项
添加对测试命令的参数解析,支持通过关键词触发实时展示赛马进度。
调整模拟配置以支持可控的回合间隔,并增加超时时间以适应展示模式。
|
2026-04-04 21:55:12 +08:00 |
|
|
|
488c6fa6f6
|
test(赛马插件): 修复模拟测试中的竞态条件
在测试模拟赛马时,添加对 CancelledError 的异常处理,防止任务取消导致测试挂起。同时修复 stop_race 方法的模拟,确保测试清理时能正确移除活动任务。
|
2026-04-04 21:50:53 +08:00 |
|
|
|
dc5ee6755b
|
fix(test): 移除测试赛马模拟中的锁机制以避免死锁
重构测试模拟赛马流程,移除房间锁获取逻辑,改为直接清理现有房间状态。
引入沙盒环境构建提示信息,提升测试过程的可观测性。
|
2026-04-04 21:41:42 +08:00 |
|
|
|
e5d0db268b
|
fix(test): 修复完全模拟赛马测试的并发与超时问题
- 将锁获取改为带超时的等待,避免因锁占用导致测试卡死
- 增加模拟任务的超时控制,防止无限等待
- 添加异常捕获与详细错误信息输出,便于问题定位
- 确保在测试异常或超时后正确清理资源
|
2026-04-04 21:36:58 +08:00 |
|
|
|
e22b44ff07
|
fix(群赛马): 降低测试命令优先级并添加确认消息
将测试模拟赛马命令的优先级从5调整为1,以避免与正式命令冲突。
在执行测试模拟前发送确认消息,明确告知用户此为无副作用的完全模拟。
|
2026-04-04 21:30:55 +08:00 |
|
|
|
699b57d1ea
|
feat(赛马插件): 为测试模拟赛马命令添加别名
添加"测试模拟"作为"测试模拟赛马"命令的别名,并设置block=True防止命令冲突
|
2026-04-04 21:25:45 +08:00 |
|
|
|
1c9d964747
|
test(group_horse_racing): 重构模拟赛马测试以使用依赖注入
重构测试命令 `测试模拟赛马`,使用模拟依赖(内存存储、积分服务)替换真实组件,避免测试产生数据库副作用。
新增模拟类 `_FakeBot`、`_InMemoryRoomStore`、`_InMemoryPointsService` 和 `_NoopMessageService`,并临时替换模块中的全局依赖以执行完整比赛流程。
验证开赛消息、回合进度、结束结算、赛史保存及积分奖励调用的正确性,确保核心逻辑在隔离环境中正常工作。
|
2026-04-04 21:21:36 +08:00 |
|
|
|
c0798d127b
|
test(赛马插件): 添加模拟赛马测试命令
新增测试命令“测试模拟赛马”,用于验证赛马引擎的核心逻辑。该命令会:
- 自动创建包含8匹随机命名赛马的房间
- 运行赛马引擎直至比赛结束
- 验证进度渲染格式的正确性
- 输出比赛结果和进度片段
这有助于在开发过程中快速验证赛马功能的完整性和正确性。
|
2026-04-04 17:08:45 +08:00 |
|
|
|
adccbfebb5
|
添加赛马实时进度播报
将比赛循环从race_engine移到commands中,每回合发送进度条:
马匹名 |████████░░░░░░| 45.2m
race_engine改为提供tick/determine_champion/format_progress方法
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-04 01:32:42 +08:00 |
|
|
|
1dd247ab4b
|
修复:参赛奖励改为结算时发放
报名时不再立即发放积分,改为比赛结算时统一发放参与奖励,
防止通过反复报名/取消刷积分
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-04 01:23:06 +08:00 |
|
|
|
e341fc085c
|
补全赛马插件完整游戏逻辑
实现所有帮助文本中声明的命令和比赛结算流程:
- 赛马报名:解析马匹名、创建Horse对象、防重复报名、发放参赛奖励
- 赛马取消报名:移除马匹、退还相关下注
- 赛马下注:扣积分、记录下注、不能给自己的马下注
- 赛马赔率:基于下注分布动态计算赔率
- 赛马开赛:异步执行比赛、自动结算冠军奖励和下注赔付、保存结果
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-04 01:18:49 +08:00 |
|
|
|
633294f6cc
|
修复:group_horse_racing 配置键大小写匹配问题
NoneBot 将 .env 键名转为小写,前缀匹配需使用小写 group_horse_racing_
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-04 00:55:21 +08:00 |
|
|
|
4c9e2814ca
|
debug 11
|
2026-04-04 00:50:38 +08:00 |
|
|
|
9ca1f1b1cb
|
Merge branch 'main' of https://git.370888.xyz/xia.silei/DanDingNoneBot
|
2026-04-04 00:44:29 +08:00 |
|
|
|
3372242d78
|
testenv1
|
2026-04-04 00:42:51 +08:00 |
|
|
|
af4c5134b5
|
testenv
|
2026-04-04 00:37:28 +08:00 |
|
|
|
28702e3228
|
debug
|
2026-04-04 00:12:49 +08:00 |
|
|
|
fd6887d96a
|
Merge branch 'main' of https://git.370888.xyz/xia.silei/DanDingNoneBot
|
2026-04-04 00:06:02 +08:00 |
|
|
|
fb3cc67b68
|
修改env读取手段
|
2026-04-04 00:05:56 +08:00 |
|
|
|
99b1c51487
|
修改env读取手段
|
2026-04-03 23:33:59 +08:00 |
|
|
|
387dd3a0bb
|
修复:group_horse_racing 环境变量加载问题
- 修改 __init__.py 在插件初始化时加载 Config
- 修改 commands.py 和 test_commands.py 从 __init__.py 导入 plugin_config
- 确保配置通过 NoneBot 的 driver 正确加载环境变量
- 这样可以正确解析 .env 中的 JSON 格式环境变量
这解决了权限检查中 TESTERS 集合为空的问题。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-03 22:50:20 +08:00 |
|
|
|
8eca8fba49
|
修复:group_horse_racing 权限检查问题1
- 添加 field_validator 来正确解析环境变量中的 ID 集合
- 支持 JSON 格式 "[1424473282]" 和逗号分隔格式 "1424473282,621016172"
- 修复 TESTERS、TEST_GROUPS、ALLOWED_GROUPS 的环境变量解析
- 移除调试日志,保持代码整洁
这解决了环境变量中的 JSON 字符串无法正确解析为集合的问题。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-03 22:47:01 +08:00 |
|
|
|
756019b9ef
|
功能:完整实现测试设置积分命令
- 实现 handle_test_set_points 函数的完整逻辑
- 支持解析命令参数中的金额值
- 添加参数验证(非负数、整数类型)
- 返回设置结果反馈给用户
用法: /测试设置积分 <金额>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-03 22:41:54 +08:00 |
|
|
|
21a936fee6
|
修复:group_horse_racing 测试命令权限检查
- 修复 check_tester() 函数未检查 TEST_MODE 状态的问题
- 现在测试命令会正确验证 TEST_MODE 是否启用
- 确保只有在测试模式下且用户在 TESTERS 列表中才能执行测试命令
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-03 22:37:33 +08:00 |
|
|
|
6eed4bf3a2
|
修复:升级 Pydantic v2 兼容性,修复插件加载错误
- 更新 danding_points 配置使用 pydantic_settings.BaseSettings 和 SettingsConfigDict
- 更新 onmyoji_gacha 配置使用 pydantic_settings.BaseSettings
- 修复 danding_qqpush 配置加载使用 model_validate 替代 parse_obj
- 添加 group_horse_racing 插件的详细 README 文档
这些修复解决了 Pydantic v2 迁移中的导入错误和 API 变更问题。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-03 22:27:45 +08:00 |
|
|
|
482eda5253
|
杂项:更新 .gitignore,取消追踪本地工具和临时文件
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-03 00:32:22 +08:00 |
|
|
|
ab1b25e239
|
功能:实现 Group_Horse_Racing 群赛马插件
- 新增群赛马游戏插件,支持多人参与赛马竞猜
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-03 00:24:25 +08:00 |
|
|
|
0fd011fa1e
|
功能:实现 Danding_Points 积分系统插件
- 新增积分系统插件,支持积分查询、签到、转账等核心功能
- 包含对应的测试脚本
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-03 00:24:00 +08:00 |
|
|
|
ef259bd73c
|
功能:为 danding_qqpush 消息添加标记以支持自动撤回功能
|
2026-01-25 19:54:32 +08:00 |
|
|
|
dedc872f1b
|
功能:通过 HTTP API 实现 Danding_QqPush 插件,用于 QQ 群通知
- 增加了通过外部 HTTP API 向 QQ 群组发送消息的核心功能。
- 实现了对长文本消息的图片渲染,以避免被认定为垃圾信息。
- 支持在消息中提及特定的 QQ 用户。
- 创建了用于 API 令牌和图片渲染设置的配置选项。
- 开发了一个测试脚本以验证 API 功能。
- 对现有代码进行了重构,以提高组织性和可维护性。
|
2026-01-20 21:19:05 +08:00 |
|
|
|
4a944316fe
|
首次提交
|
2025-12-26 22:41:42 +08:00 |
|