UNPKG

koishi-plugin-interactive

Version:

多功能互动型QQ机器人插件,支持猜数字、每日签到、幸运抽奖、积分商店、排行榜、成就系统、个人资料、随机互动、每日提醒等功能

503 lines (428 loc) 15.5 kB
# koishi-plugin-interactive [![npm](https://img.shields.io/npm/v/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