发帖际遇内容管理
发帖/回帖时按后台设定的概率产生随机际遇,对发帖者进行积分 / 金币 / 人民币的奖惩,增加发帖趣味性。
2.00原价
一次购买,永久使用
详情介绍
发帖际遇(luckypost)
发帖/回帖时按后台设定的概率产生随机际遇,对发帖者进行积分 / 金币 / 人民币的奖惩,增加发帖趣味性。
参考 Discuz! 经典插件「发帖际遇」,适配 Zsens Admin 社区插件。
功能特性
- 发帖(主题帖)与回帖均可独立开关触发
- 可配置全局触发概率(千分比)与每人每日触发上限
- 支持自定义多条际遇事件,随机抽取
- 每条事件可配置:货币类型、奖惩区间、事件文案、卡片名称、卡片图片
- 奖惩金额支持正数(奖励)、负数(惩罚)、0(仅出文案)
- 支持卡片模式:自定义卡片名称 + 卡片图片,展示在帖子内容下方
- 可自定义际遇卡片的文字颜色
- 奖励/扣除自动写入社区资产流水(类型:发帖际遇)
- 帖子列表返回
luckypost附加字段,便于主题模板展示标识
安装
将本目录放置到 plugins/luckypost/,在后台「应用管理」中安装即可。安装时会自动创建 luckypost_log 表。
配置说明
进入后台「应用管理 → 发帖际遇 → 配置」。
事件列表格式
每行一条事件,参数以 | 分隔:
货币类型 | 最小,最大 | 事件文案 | 卡片名称(可选) | 卡片图片(可选)参数说明:
- 货币类型:
coins(积分)/gold(金币)/cny(人民币) - 最小,最大:奖励或惩罚的数量区间,逗号分隔。例如
1,5表示 1~5;-3,-1表示扣除 1~3 - 事件文案:支持占位符
- {username} 发帖者用户名
- {credit} 变动数量(绝对值)
- {extcredits} 货币名称(积分 / 金币 / 人民币)
- 卡片名称(可选):填写后启用卡片模式,展示卡片标题
- 卡片图片(可选):卡片图片文件名,需放到
plugins/luckypost/static/images/目录下;也可填写完整 URL
示例
coins|1,5|一袋金币砸在了 {username} 头上,{username} 赚了 {credit} {extcredits}。|小财神卡|
coins|-3,-1|{username} 发帖时手一滑,丢了 {credit} {extcredits}。|倒霉蛋|
gold|1,2|{username} 挖出了宝藏,获得 {credit} {extcredits}!|寻宝达人|
coins|0,0|{username} 这篇帖子波澜不惊,什么也没发生。|平平无奇|
coins|2,8|路过的版主赞赏了 {username} 的帖子,奖励 {credit} {extcredits}。|版主赏识|金额为 0 的事件只展示文案,不会写入资产流水。
工作原理
- 通过社区插件的
afterTopicSave/afterReplySave钩子自动触发 - 触发概率命中后,从事件列表随机抽取一条,在区间内取值
- 正数调用积分入账,负数调用积分扣款(余额不足时归一为 0 并记录文案)
- 际遇记录写入
luckypost_log表,并在帖子详情内容下方展示卡片
目录结构
plugins/luckypost/
├── LuckypostPlugin.php # 插件主类(钩子 / 配置 / 渲染)
├── service/Lucky.php # 事件解析、随机抽取、奖惩、卡片渲染
├── install.sql # 数据表结构
├── plugin.json # 插件元数据
├── routes.php # 路由(本插件无需前台路由)
├── static/
│ ├── luckypost.css # 卡片样式
│ └── images/ # 卡片图片目录
├── icon.svg / icon.png # 插件图标
└── README.md数据结构
luckypost_log:
| 字段 | 说明 |
|---|---|
| topic_id | 主题帖 ID(唯一) |
| reply_id | 回帖 ID,0 表示主题帖际遇 |
| actortype / actorid | 触发者(user/admin) |
| currency | coins / gold / cny |
| amount | 变动数量,正奖励负惩罚 |
| eventname / eventimage | 卡片名称 / 图片 |
| message | 渲染后的际遇文案 |
| color | 展示颜色 |
更新记录 (1)
-
v1.0.0
2026-11-06
正式发布
微信客服
QQ官方交流群