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