feat: 持久记忆和代码优化、函数工具筛选

This commit is contained in:
2025-12-10 17:21:43 +08:00
parent 7d3ef70093
commit e0a38eb6f2
87 changed files with 2179 additions and 241 deletions

View File

@@ -0,0 +1,125 @@
# 签到插件 (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. 连续签到以自然日为准,中断后重新计算
## 扩展功能
你可以基于此插件扩展更多功能:
- 签到排行榜
- 积分商城
- 签到提醒
- 更复杂的奖励机制
- 群组签到统计