# 签到插件 (SignIn Plugin) ## 功能介绍 - 用户发送签到关键词即可进行签到 - 随机获得 3-10 积分奖励 - 每天只能签到一次 - 支持连续签到奖励(每7天额外获得5积分) - 记录用户昵称和签到历史 - 使用 MySQL 数据库存储 ## 安装步骤 ### 1. 安装依赖 ```bash pip install pymysql ``` ### 2. 创建数据库 执行 `database.sql` 文件中的 SQL 语句创建数据库表: ```sql -- 在你的 MySQL 数据库中执行 source /path/to/database.sql ``` ### 3. 配置数据库连接 编辑 `config.toml` 文件,修改数据库连接信息: ```toml [database] host = "your_mysql_host" port = 3306 user = "your_username" password = "your_password" database = "your_database_name" charset = "utf8mb4" ``` ### 4. 自定义配置(可选) 你可以在 `config.toml` 中自定义: - 积分奖励范围 (`min_points`, `max_points`) - 连续签到奖励设置 (`bonus_streak_days`, `bonus_points`) - 签到触发关键词 (`keywords`) - 回复消息模板 (`messages`) ## 使用方法 用户在微信中发送以下任意关键词即可签到: - 签到 - 打卡 - checkin - sign ## 功能特性 ### 签到奖励 - 基础积分:3-10 随机积分 - 连续签到奖励:每连续签到7天额外获得5积分 ### 数据记录 - 用户基本信息(wxid、昵称、总积分) - 签到统计(最后签到日期、连续签到天数、总签到天数) - 详细签到记录(每次签到的时间、获得积分等) ### 防重复签到 - 每天只能签到一次 - 自动检测签到状态并提示 ## 数据库表结构 ### user_signin 表 - 存储用户基本信息和签到统计 - 包含积分、连续签到天数等字段 ### signin_records 表 - 存储详细的签到历史记录 - 可用于统计分析和历史查询 ## 回复消息示例 ### 签到成功 ``` ✅ 签到成功! 🎁 获得积分:7 💰 当前积分:127 🔥 连续签到:5天 ``` ### 连续签到奖励 ``` ✅ 签到成功! 🎁 获得积分:8 💰 当前积分:200 🔥 连续签到:7天 🎉 连续签到7天奖励:+5积分! ``` ### 重复签到 ``` ❌ 今天已经签到过了! 💰 当前积分:127 🔥 连续签到:5天 ``` ## 注意事项 1. 确保 MySQL 数据库服务正常运行 2. 数据库连接信息配置正确 3. 插件会自动创建用户记录,无需手动添加 4. 连续签到以自然日为准,中断后重新计算 ## 扩展功能 你可以基于此插件扩展更多功能: - 签到排行榜 - 积分商城 - 签到提醒 - 更复杂的奖励机制 - 群组签到统计