# robotApiServer **Repository Path**: Night.Ming/robot-api-server ## Basic Information - **Project Name**: robotApiServer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-11 - **Last Updated**: 2026-07-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Robot Server 微信机器人后端服务 ## 环境要求 - Node.js 18+ - MySQL 5.7+ - pnpm ## 快速开始 ### 1. 安装依赖 ```bash pnpm install ``` ### 2. 配置数据库 复制环境变量文件: ```bash cp .env.example .env ``` 编辑 `.env` 文件,配置你的 MySQL 数据库信息: ```env DB_HOST=localhost DB_PORT=3306 DB_NAME=robot_db DB_USER=root DB_PASSWORD=your_password ``` ### 3. 创建数据库 在 MySQL 中创建数据库: ```sql CREATE DATABASE robot_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` ### 4. 启动服务 开发环境: ```bash pnpm run dev ``` 生产环境: ```bash pnpm start ``` 服务将运行在 `http://localhost:3000` ## 功能特性 ### 基础功能 - ✅ 群聊消息监听与处理 - ✅ 群成员管理(进群/退群自动处理) - ✅ 消息统计与排行 - ✅ 开启/关闭群聊 ### 用户系统 - ✅ 用户签到系统(每日打卡) - ✅ 金币与经验系统 - ✅ 等级系统与特权 - ✅ 用户信息查询 - ✅ 金币排行榜 - ✅ 等级排行榜 - ✅ 买经验功能 ### 娱乐功能 - ✅ 红包系统(发红包/抢红包) - ✅ PK对战系统(任意应战) - ✅ 碰运气转盘 - ✅ 群抽奖活动 ### 金融系统 - ✅ 金币转账 - ✅ 用户互借金币(需出借人同意,到期自动归还) - ✅ 自动还款与提醒 ### 工具功能 - ✅ 下班倒计时 - ✅ 星座运势查询 - ✅ 假期查询 - ✅ AI画图 - ✅ 随机图片/视频 ### 技术特性 - ✅ Redis分布式锁(防止并发问题) - ✅ 命令级别并发控制 - ✅ 频率限制(防刷) - ✅ 定时任务(自动还款、数据同步等) ## 命令列表 ### 用户相关 - `打卡` - 每日签到 - `我的信息` - 查看个人信息 - `金币排行` - 查看金币排行榜 - `等级排行` - 查看等级排行榜 - `等级特权` - 查看等级特权说明 - `买经验#金额` - 购买经验(例:买经验#1000) - `功能列表` - 查看所有功能 ### 红包相关 - `发红包#总金额#个数` - 发红包(例:发红包#1000#5) - `抢红包` - 抢红包 - `红包详情` - 查看当前红包详情 ### PK对战 - `pk#金额` - 发起PK挑战(例:pk#2000) - `应战` - 接受PK挑战 - `取消pk` - 取消自己发起的PK - `pk列表` / `当前pk` / `pk详情` - 查看待应战的PK - `pk记录` - 查看PK对战记录 ### 阵营PK - `阵营pk详情` - 查看今日阵营PK比分 - `更换阵营` - 花费10000金币更换今日阵营 ### 抽奖相关 - `发起抽奖#奖品名#人数` - 发起抽奖(例:发起抽奖#iPhone 15#3) - `加入抽奖` - 参与抽奖 - `结束抽奖` - 结束抽奖并开奖(仅发起人) - `当前抽奖` - 查看当前抽奖 - `中奖排行` - 查看中奖排行榜 ### 娱乐功能 - `碰运气#次数` - 转盘抽奖(例:碰运气#3) - `碰运气记录` - 查看碰运气记录 - `奖品列表` - 查看转盘奖品列表 - `发起幸运数字#入场金币` - 管理员发起幸运数字(例:发起幸运数字#1000) - `选数字#数字` - 选择1-100之间的数字参与,每局只能选一次(例:选数字#36) - `幸运数字详情` - 查看参与人数、奖池和剩余时间 - `取消幸运数字` - 管理员取消并全额退款 ### 金融相关 - `转账#金额 @用户` - 转账给其他用户 - `转账记录` - 查看转账记录 - `借金币#金额#天数 @用户` - 向指定用户申请借金币 - `同意借金币` / `拒绝借金币` - 出借人处理申请,多条申请时需@借款人 - `取消借金币` - 借款人撤回待同意申请 - `还金币` - 提前还清所有借款 - `我的借金币` - 查看借款信息 - `我的出借金币` - 查看待处理和待收回的金币 - `借金币排行` - 查看群内未还借款排行 ### 工具功能 - `下班时间` - 查看下班倒计时 - `星座运势#星座` - 查询星座运势(例:星座运势#白羊座) - `假期查询` - 查询假期信息 - `画图#描述` - AI画图(例:画图#一只可爱的猫) - `小姐姐` - 随机图片 - `小姐姐视频` - 随机视频 ### 管理功能 - `开启群聊` - 开启机器人功能 - `关闭群聊` - 关闭机器人功能 - `同步群成员数据` - 同步群成员信息 - `群id` - 查看群ID - `未发言` - 查看未发言用户 - `今日摸鱼` - 查看今日消息排行 ## API 接口 - `GET /health` - 健康检查 - `POST /robot/message` - 接收机器人消息回调 ## 项目结构 ``` src/ ├── db/ # 数据库配置 ├── models/ # 数据模型 ├── services/ # 业务逻辑 ├── routes/ # 路由 ├── event/ # 事件处理 ├── middleware/ # 中间件 └── utils/ # 工具类 ```