Files
JWeBot/docs/group-lottery-0.6.3.md
T
2026-10-15 13:57:32 +08:00

69 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# alpha 0.6.3.1015 多人彩票与游戏记录
## 一把彩票怎么玩
1. 任意群友发送 `/彩票 开始`。发起人是本轮主持人。
2. 每个人发送 `/彩票 报名 3 4 7 100`,表示选择 3、4、7,下注 100
金币。也可简写为 `/彩票347100`;省略金额时默认下注 10。
3. 发送 `/彩票 当前状态` 查看本轮主持人、报名人数、每个人的号码和下注。
4. 主持人发送 `/彩票 开奖`。机器人从 0~9 中抽取三个互不重复的数字,
统一排序后结算。
5. 主持人也可在开奖前发送 `/彩票 取消`,所有报名者全额退款。
命令关键词和数字之间的空格均可省略。`/买彩票` 和 `/lottery` 保留为
对应别名。
## 选号与报名
- 每张票必须是三个互不重复的 0~9 数字。
- 数字顺序不影响结果:`347`、`743` 和 `3 4 7` 都保存为 `3 4 7`。
- 每人每把只有一张票。再次报名会更新号码和下注,不增加个人局号。
- 更新到更高下注时只补扣差额;降低下注时退回差额。
- 下注范围是 1~500,省略时为 10。
- 没有进行中的彩票时不能报名;没有报名者时不能开奖。
- 只有创建本轮的主持人可以开奖或取消,状态查询对群内所有人开放。
支持的报名示例:
```text
/彩票 347
/彩票 743 100
/彩票 报名 3 4 7 100
/彩票报名347金额100
/彩票347100
/lottery join 347 100
```
## 返还规则
报名时先扣除下注。开奖号和玩家号码按集合比较,返还包含本金:
| 命中数 | 返还 |
|---|---:|
| 0 个 | 0% |
| 1 个 | 50% |
| 2 个 | 120% |
| 3 个 | 300% |
金币只使用整数;百分比计算的小数部分向下取整。例如下注 100,命中两个
返还 120,净变化为 `+20`。
## 个人局号与记录
抽奖、彩票和 21 点分别维护本人的游戏局号。第一次参与某种游戏显示
`Jacky #1:...`,下一把显示 `Jacky #2:...`。配置别名解析到同一人物时,
共用同一账户、局号和历史。
发送 `/游戏记录 [页码]`、`/个人记录 [页码]` 或
`/gamehistory [page]` 查看最近记录,每页五条。记录包含游戏、个人局号、
结果、下注、返还和净变化,最多保留最近 50 条。
21 点下注范围同步调整为 1~500。`/21点 开始 100` 只表示本局下注 100;
发牌后再单独发送 `/21点 要牌` 或 `/21点 停牌`。
## 持久化与并发
彩票轮次、报名和结算保存在 Edge SQLite。报名/改注、所有玩家的开奖返还、
取消退款和事件重放响应都在 `BEGIN IMMEDIATE` 事务中提交。重复事件不会
重复扣款、发奖或增加局号;进程重启后未开奖轮次和个人记录仍然保留。