koishi-plugin-brick-qq
v0.0.1
Published
功夫再好,一砖撂倒。烧制砖头来拍群友吧,拍好了禁言他,没拍好被禁言!
Readme
koishi-plugin-brick-qq
功夫再好,一砖撂倒。让群友帮你烧制砖头,再用砖头把人拍晕(禁言);普通拍人也可能遭到对方反击。
本插件基于原版 brick 插件优化,增加了群聊开关、暴力拍人、每日签到、持久化签到统计,以及禁言失败时的消息拦截降级。
使用要求
- Koishi 4.18
- 已启用 Koishi
database服务 - QQ 官方机器人适配器
@satorijs/adapter-qq - Bot 需要群成员禁言权限;没有权限时,插件会在本地暂时停止响应被拍晕用户的消息
砖头数量按“用户 + 群聊”分别保存,不能跨群使用。
安装
在 Koishi 插件市场搜索 brick-qq,或通过包管理器安装:
yarn add koishi-plugin-brick-qq安装后请先启用数据库插件,再启用本插件,并至少配置 cost。
玩法
- 发送
烧砖开始烧制砖头。 - 烧制期间,其他群友每发送
cost条消息,即可烧好一块砖。 - 发送
拍人 @用户消耗一块砖,使对方随机禁言一段时间;对方有概率夺走砖头并反击。 - 发送
暴力拍人 @用户消耗两块砖,必定命中,并造成普通拍人的三倍禁言时间。
普通拍人与暴力拍人共用冷却时间。砖头在拍人判定前扣除,即使遭到反击也不会返还。
指令
| 指令 | 别名 | 说明 |
| --- | --- | --- |
| 砖头 | - | 查看砖头指令列表 |
| 砖头.烧砖 | 烧砖 | 开始烧制一块砖 |
| 砖头.拍人 @用户 | 拍人 @用户 | 消耗一块砖随机拍晕对方,有概率被反击 |
| 砖头.暴力拍人 @用户 | 暴力拍人 @用户 | 消耗两块砖必定拍晕对方,禁言时间为三倍 |
| 砖头.查看 | 查看砖头 | 查看自己在当前群持有的砖头 |
| 砖头.签到 | 砖头签到 | 每日签到并随机获得砖头,仅在开启签到功能后注册 |
| 开启砖头 | - | 开启当前群的砖头功能 |
| 关闭砖头 | - | 关闭当前群的砖头功能 |
源码中还保留了 随机拍人 指令,但该指令目前仅对 OneBot 平台注册,不适用于本插件面向的 QQ 官方机器人适配器。
配置项
| 配置项 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| maxBrick | number | 1 | 每位用户在单个群内最多持有的砖头数量 |
| cost | number | 必填 | 烧好一块砖所需的其他群友消息数 |
| cooldown | number | 60 | 拍人冷却时间,单位为秒;设为 0 可关闭冷却 |
| minMuteTime | number | 10 | 普通拍人的最短禁言时间,单位为秒 |
| maxMuteTime | number | 120 | 普通拍人的最长禁言时间,单位为秒 |
| ignoreMuted | boolean | false | 是否关闭插件内置的拍晕状态限制与消息拦截,仅依赖平台禁言结果 |
| reverse | number | 10 | 普通拍人时对方反击的默认概率,范围为 0~100 |
| specialUser | Record<string, number> | {} | 为指定 QQ 用户 ID 单独设置反击概率,值为 0~100 |
| checking | boolean | false | 是否启用每日签到获取砖头 |
| minGain | number | - | 单次签到最少获得的砖头,仅在 checking 开启时必填 |
| maxGain | number | - | 单次签到最多获得的砖头,仅在 checking 开启时必填 |
建议保证 maxMuteTime >= minMuteTime、maxGain >= minGain。签到奖励不会让砖头数量超过 maxBrick。
specialUser 配置示例:
specialUser:
"123456789": 50
"987654321": 100上述配置表示用户 123456789 被普通拍人时有 50% 概率反击,用户 987654321 必定反击;未配置的用户使用 reverse。
签到说明
- 每位用户在每个群每天可以领取一次签到砖头。
- 总签到天数和连续签到天数按用户全局统计,不区分群聊。
- 同一天在其他群继续签到可以领取该群的砖头,但不会重复增加全局签到天数。
- 当当前群的砖头已经达到上限时,签到仍会成功,但不会获得新砖头。
注意事项
- 烧砖进度保存在内存中,插件重载或 Bot 重启后,尚未完成的烧砖进度会丢失。
- 默认情况下,平台禁言失败时插件会拦截被拍晕用户在当前群的消息,使其他插件暂时不响应该用户。
- 开启
ignoreMuted后,插件不会使用上述降级机制,也不会阻止处于拍晕状态的用户继续使用 Bot;请确认 Bot 拥有有效的群禁言权限。 - QQ 原生 Markdown 消息是否能正常发送,取决于 QQ 官方机器人账号的消息能力和权限。
许可证
MIT
