Files
WechatHookBot/plugins/SignInPlugin/README.md

125 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 签到插件 (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. 连续签到以自然日为准,中断后重新计算
## 扩展功能
你可以基于此插件扩展更多功能:
- 签到排行榜
- 积分商城
- 签到提醒
- 更复杂的奖励机制
- 群组签到统计