koishi-plugin-interactive
Version:
多功能互动型QQ机器人插件,支持猜数字、每日签到、幸运抽奖、积分商店、排行榜、成就系统、个人资料、随机互动、每日提醒等功能
503 lines (428 loc) • 15.5 kB
Markdown
# koishi-plugin-interactive
[](https://www.npmjs.com/package/koishi-plugin-interactive)
一个多功能互动型QQ机器人插件,基于 [Koishi](https://koishi.chat) 框架开发。提供丰富的游戏和互动功能,让你的机器人更加生动有趣。现已升级为更全面的社交互动系统,包含答题、关系、农场、公司系统和猜歌名游戏等多种功能。
## 功能特点
- 🎮 **猜数字游戏**:经典的猜数字游戏,支持提示功能
- 📅 **每日签到**:连续签到获得额外奖励
- 🎰 **幸运抽奖**:消耗积分获得随机奖励
- 🛒 **积分商店**:使用积分购买各种道具
- 🎒 **物品系统**:管理和使用背包中的物品
- 🏆 **排行榜系统**:查看不同类别的用户排名
- 🎖️ **成就系统**:完成特定目标解锁成就
- 📊 **个人资料**:查看详细的个人数据统计
- 💰 **寻宝功能**:冒险获取双倍积分
- 🏦 **银行系统**:存款并获取每日利息
- 🏠 **房产系统**:购买房产并收取租金
- 🧧 **红包功能**:发送和抢红包
- 🔫 **抢劫功能**:冒险抢劫其他玩家
- ❓ **答题系统**:回答问题获取积分奖励
- 💞 **关系系统**:与其他用户建立好友、情侣关系
- 🌱 **农场系统**:种植作物、收获农产品
- 🏢 **公司系统**:创建公司、招募员工、提升技能
- 🎵 **猜歌名游戏**:根据歌词片段猜测歌曲名称
- � **养牛系统**:领养牛牛,通过互动获得奖励
- 🏢 **公司公户**:公司资金管理,支持税率调整
- 🎟️ **技能券**:使用后获得技能碎片
- 💬 **随机互动**:机器人会随机回复用户消息
- ⏰ **每日提醒**:定时提醒用户签到和参与活动
## 安装方法
```bash
# 使用 npm
npm install koishi-plugin-interactive
# 使用 yarn
yarn add koishi-plugin-interactive
# 使用 pnpm
pnpm add koishi-plugin-interactive
```
## 使用方法
安装并启用插件后,可以使用以下命令:
### 猜数字游戏
- `猜数字 start` - 开始猜数字游戏
- `猜数字 <数字>` - 进行猜测
- `猜数字 hint` - 使用提示令牌获取提示
- `猜数字 giveup` - 放弃当前游戏
### 签到系统
- `签到` - 进行每日签到,获取积分
### 抽奖系统
- `抽奖` - 消耗10积分进行抽奖
### 积分商店
- `商店 list` - 查看商品列表
- `商店 buy <商品ID>` - 购买指定商品
### 排行榜
- `排行榜` - 查看积分排行榜
- `排行榜 points` - 查看积分排行榜
- `排行榜 sign` - 查看连续签到排行榜
- `排行榜 games` - 查看游戏胜场排行榜
- `排行榜 lottery` - 查看抽卡之王排行榜
### 成就系统
- `成就` - 查看已解锁和未解锁的成就
### 个人资料
- `资料` - 查看个人详细数据
### 寻宝功能
- `寻宝` - 冒险寻宝,有机会获得双倍积分
- `寻宝 状态` - 查看当前寻宝状态和冷却时间
### 银行系统
- `银行 存款 <金额>` - 将积分存入银行
- `银行 取款 <金额>` - 从银行取出积分
- `银行 查询` - 查询银行账户信息和利息
### 房产系统
- `房产 列表` - 查看可购买的房产类型
- `房产 购买 <类型>` - 购买指定类型的房产
- `房产 出售 <ID>` - 出售指定ID的房产
- `房产 查询` - 查询已拥有的房产
- `房产 收租` - 收取所有房产的租金
### 红包功能
- `发红包 <金额> <数量>` - 发送指定金额和数量的红包
- `抢红包 <ID>` - 抢指定ID的红包
- `红包 列表` - 查看当前可抢的红包
### 抢劫功能
- `抢劫 @用户` - 尝试抢劫指定用户
- `抢劫 状态` - 查看当前抢劫冷却时间
### 答题系统
- `答题` - 获取一道随机题目
- `答题 <答案>` - 提交答案
- `答题 排行` - 查看答题排行榜
### 关系系统
- `好友 申请 @用户` - 向指定用户发送好友申请
- `好友 接受 @用户` - 接受指定用户的好友申请
- `好友 拒绝 @用户` - 拒绝指定用户的好友申请
- `好友 列表` - 查看自己的好友列表
- `好友 赠送 @用户 <物品ID>` - 赠送物品给好友
- `情侣 求婚 @用户` - 向指定用户求婚
- `情侣 接受 @用户` - 接受指定用户的求婚
- `情侣 拒绝 @用户` - 拒绝指定用户的求婚
- `情侣 状态` - 查看自己的情侣状态
- `情侣 分手` - 与当前情侣分手
### 农场系统
- `农场` - 查看自己的农场状态
- `农场 种植 <作物>` - 种植指定作物
- `农场 收获 <位置>` - 收获指定位置的作物
- `农场 浇水 <位置>` - 给指定位置的作物浇水
- `农场 升级` - 升级农场,增加种植位置
- `农场 商店` - 查看农场商店
- `农场 购买 <物品> <数量>` - 购买农场物品
### 公司系统
- `公司 注册 <公司名>` - 注册一家新公司
- `公司 信息` - 查看你的公司信息
- `公司 升级` - 升级你的公司
- `公司 雇佣 @用户` - 雇佣指定用户
- `公司 解雇 @用户` - 解雇指定用户
- `公司 列表` - 查看所有公司列表
- `公司 公户 存入 <金额>` - 向公司公户存入资金
- `公司 公户 取出 <金额>` - 从公司公户取出资金
- `公司 公户 查询` - 查询公司公户余额
- `公司 税率 设置 <税率>` - 设置公司税率(0-30%)
- `公司 税率 查询` - 查询当前公司税率
- `打工` - 在公司工作赚取积分
- `打工 信息` - 查看你的工作信息
- `打工 辞职` - 辞去当前工作
- `技能 列表` - 查看可学习的技能列表
- `技能 学习 <技能名>` - 学习指定技能
- `技能 信息` - 查看你的技能信息
- `技能券 使用` - 使用技能券获得技能碎片
- `技能券 合成 <技能名>` - 使用技能碎片合成技能
### 养牛系统
- `牛牛 领养` - 领养一头牛牛
- `牛牛 信息` - 查看你的牛牛信息
- `牛牛 喂食` - 给牛牛喂食
- `牛牛 清理` - 清理牛牛的粪便
- `牛牛 挤奶` - 从牛牛身上获取牛奶
- `牛牛 出售 <产品>` - 出售牛牛产品获得积分
### 猜歌名游戏
- `猜歌` - 开始猜歌名游戏
- `猜歌 跳过` - 跳过当前歌曲
- `猜歌 提示` - 获取歌名提示
- `猜歌 排行` - 查看猜歌排行榜
### 帮助命令
- `互动帮助` - 查看所有功能的使用说明
## 配置项
```yaml
# 基础配置
maxGuessNumber: 100 # 猜数字游戏的最大数值
signReward: 10 # 每日签到基础奖励积分
replyProbability: 0.3 # 随机回复概率
coolDown: 5000 # 命令冷却时间(ms)
dailyLimit: 50 # 每日命令使用上限
# 抽奖配置
lotteryPrice: 10 # 抽奖消耗的积分
lotteryItems: # 抽奖物品列表
- 'SSR·神秘大奖'
- 'SR·高级道具'
- 'R·普通道具'
- 'N·谢谢参与'
lotteryProbability: # 各等级物品的概率
SSR: 0.05
SR: 0.15
R: 0.30
N: 0.50
# 寻宝配置
treasureReward: # 寻宝奖励范围
min: 5
max: 50
treasureCooldown: 3600000 # 寻宝冷却时间(ms)
treasureRiskRate: 0.3 # 寻宝失败概率
# 银行配置
bankInterestRate: 0.05 # 银行日利率
bankMinDeposit: 100 # 最低存款金额
bankMaxDeposit: 10000 # 最高存款金额
# 房产配置
propertyTypes: # 房产类型配置
- type: small
name: 小型公寓
price: 500
rent: 50
description: 每日收取50积分租金
- type: medium
name: 中型别墅
price: 2000
rent: 200
description: 每日收取200积分租金
- type: large
name: 豪华庄园
price: 5000
rent: 500
description: 每日收取500积分租金
# 红包配置
redPacketExpireTime: 3600000 # 红包过期时间(ms)
redPacketMinAmount: 10 # 红包最小金额
redPacketMaxCount: 10 # 红包最大数量
# 抢劫配置
robberySuccessRate: 0.4 # 抢劫成功率
robberyPunishment: 100 # 抢劫失败惩罚
robberyCooldown: 7200000 # 抢劫冷却时间(ms)
# 答题配置
quizRewardBase: 20 # 答题基础奖励
quizDailyLimit: 10 # 每日答题次数上限
quizCategories: # 题目分类
- name: 常识
weight: 40
- name: 历史
weight: 20
- name: 科学
weight: 20
- name: 娱乐
weight: 20
quizDifficulties: # 难度及对应奖励倍数
- name: 简单
multiplier: 1
weight: 50
- name: 中等
multiplier: 2
weight: 30
- name: 困难
multiplier: 3
weight: 20
# 关系系统配置
relationshipConfig:
friendLimit: 10 # 好友上限
friendGiftCooldown: 86400000 # 好友礼物冷却时间(ms)
coupleRequirements: # 情侣关系要求
minFriendDays: 3 # 成为好友的最少天数
minPoints: 1000 # 最少积分要求
coupleBonus: # 情侣关系奖励
signMultiplier: 1.5 # 签到奖励倍数
farmYieldBonus: 0.2 # 农场产量提升
# 农场系统配置
farmConfig:
initialSlots: 3 # 初始种植位置数量
maxSlots: 9 # 最大种植位置数量
upgradePrice: 500 # 升级农场价格
waterInterval: 28800000 # 浇水间隔时间(ms)
crops: # 作物配置
- id: wheat
name: 小麦
growthTime: 3600000 # 生长时间(ms)
price: 10 # 种子价格
yield: 20 # 收获产量
waterBonus: 0.5 # 浇水产量提升
- id: corn
name: 玉米
growthTime: 7200000
price: 20
yield: 45
waterBonus: 0.5
- id: rice
name: 水稻
growthTime: 10800000
price: 30
yield: 70
waterBonus: 0.5
- id: strawberry
name: 草莓
growthTime: 14400000
price: 50
yield: 120
waterBonus: 0.5
# 公司系统配置
companyConfig:
registerCost: 1000 # 注册公司所需积分
initialEmployeeLimit: 5 # 初始员工上限
maxEmployeeLimit: 20 # 最大员工上限
upgradeBaseCost: 2000 # 升级基础成本
upgradeCostMultiplier: 1.5 # 每次升级成本倍数
salaryBase: 50 # 员工基础薪资
companyTypes: # 公司类型配置
- id: tech
name: 科技公司
profitRate: 0.15
description: 高风险高回报
- id: food
name: 餐饮公司
profitRate: 0.1
description: 稳定收益
- id: retail
name: 零售公司
profitRate: 0.12
description: 中等风险和回报
# 技能系统配置
skillConfig:
skillPoints: 1 # 每次工作获得的技能点
skills: # 技能配置
- id: programming
name: 编程
maxLevel: 10
costPerLevel: 5
salaryBonus: 0.1 # 每级薪资提升
- id: management
name: 管理
maxLevel: 10
costPerLevel: 5
employeeBonus: 0.1 # 每级员工效率提升
- id: marketing
name: 营销
maxLevel: 10
costPerLevel: 5
profitBonus: 0.05 # 每级公司利润提升
# 养牛系统配置
cattleConfig:
adoptCost: 500 # 领养牛牛的成本
feedCost: 50 # 喂食成本
feedInterval: 43200000 # 喂食间隔时间(ms)
cleanInterval: 28800000 # 清理间隔时间(ms)
milkInterval: 86400000 # 挤奶间隔时间(ms)
milkValue: 100 # 牛奶价值
fertilizerValue: 50 # 肥料价值
starvePenalty: 0.1 # 饥饿惩罚系数
dirtyPenalty: 0.1 # 不清洁惩罚系数
growthRate: 0.05 # 牛牛每天成长率
maxLevel: 10 # 牛牛最大等级
levelBonus: 0.2 # 每级产出提升
# 猜歌名游戏配置
guessSongConfig:
rewardBase: 30 # 猜对基础奖励
dailyLimit: 5 # 每日游戏次数上限
hintCost: 10 # 获取提示消耗积分
skipCost: 15 # 跳过歌曲消耗积分
timeLimit: 60000 # 答题时间限制(ms)
difficulties: # 难度配置
- name: 简单
multiplier: 1
weight: 50
- name: 中等
multiplier: 2
weight: 30
- name: 困难
multiplier: 3
weight: 20
# 商店商品配置
shopItems:
- id: double_card
name: 双倍积分卡
description: 下次签到获得双倍积分
price: 50
type: consumable
- id: lottery_ticket
name: 免费抽奖券
description: 免费抽奖一次
price: 40
type: consumable
- id: hint_token
name: 提示令牌
description: 猜数字时获得提示
price: 30
type: consumable
- id: lucky_charm
name: 幸运护符
description: 增加抽中高级奖品的概率
price: 100
type: consumable
- id: robbery_shield
name: 防盗盾
description: 防止被抢劫一次
price: 200
type: consumable
- id: treasure_map
name: 藏宝图
description: 寻宝时提高成功率和奖励
price: 150
type: consumable
- id: bank_card
name: 银行卡
description: 提高银行存款利率
price: 300
type: permanent
- id: property_discount
name: 房产折扣券
description: 购买房产时享受10%折扣
price: 500
type: consumable
- id: quiz_skip
name: 跳过题目
description: 跳过当前题目获得新题目
price: 30
type: consumable
- id: fertilizer
name: 高级肥料
description: 加速作物生长
price: 100
type: consumable
- id: relationship_gift
name: 精美礼物
description: 增加好感度的精美礼物
price: 200
type: consumable
```
## 更新日志
### v1.0.0
- 初始版本发布
- 实现基础功能:猜数字游戏、签到系统、抽奖系统、积分商店
### v2.0.0
- 更名为 interactive
- 新增寻宝功能
- 新增银行系统
- 新增房产系统
- 新增红包功能
- 新增抢劫功能
- 优化物品系统,增加物品类型
- 优化排行榜系统,增加更多排行类别
- 优化配置项,增加更多自定义选项
### v3.0.0
- 新增答题系统,支持多种题目类型和难度
- 新增关系系统,支持好友和情侣关系
- 新增农场系统,支持种植、收获和农场升级
- 优化商店系统,增加更多物品类型
- 优化用户体验,增加更多互动方式
- 增强系统稳定性和性能
### v4.0.0
- 新增公司系统,支持创建公司、招募员工和公司升级
- 新增打工功能,可在其他玩家的公司工作赚取积分
- 新增技能系统,提升工作效率和公司收益
- 新增猜歌名游戏,根据歌词片段猜测歌曲名称
- 优化用户界面和交互体验
- 修复了多个已知问题
### v5.0.0
- ✨ 新增养牛系统,用户可以领养、喂养牛牛并获得产品
- 🏢 公司系统增加公户功能,支持资金存取管理
- 💰 新增公司税率设置,可调整0-30%之间
- 🎟️ 新增技能券系统,可获得技能碎片并合成技能
- 🔧 优化公司系统工作机制,提高用户体验
- 🐛 修复多个已知问题,提升系统稳定性
## 贡献指南
欢迎为本项目做出贡献!以下是贡献的步骤:
1. Fork 本仓库
2. 创建你的特性分支 (`git checkout -b feature/amazing-feature`)
3. 提交你的更改 (`git commit -m 'Add some amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 开启一个 Pull Request
## 许可证
MIT