# 青龙面板脚本

qcxs_mtbbs.py

# 帖子

为防止脚本大量使用对论坛造成影响，没有发帖，也没有声张，不建议在公开场合讨论。

# MT论坛 青龙自动签到助手

青龙面板专用的MT论坛多账号自动签到脚本，支持概率签到、Cookie缓存、消息提醒、异常通知

## 功能亮点

* ✅ **多账号支持**：一次配置，批量自动签到
* 🎲 **智能概率签到**：自定义时间段内概率递增签到，避免固定时间打卡风控（配合青龙面板执行前随机延迟，更难以区分）
* 🍪 **自动缓存Cookie**：首次登录缓存Cookie，之后复用Cookie，避免频繁登录（论坛退出登录无意义：[震惊！论坛退出登录竟不清除Cookie！](https://bbs.binmt.cc/thread-162563-1-1.html)）
* 📩 **论坛新消息提醒**：自动检测未读消息并推送
* ⏰ **自定义通知时间**：仅在指定时段发送通知，不打扰
* 🚨 **异常自动处理**：Cookie过期自动清空，下次运行重新登录
* 📝 **完整日志记录**：执行状态一目了然，支持青龙面板通知推送

## 环境变量配置

青龙面板 → 环境变量 → 新建变量，**必填1个，选填2个**

### 1. 必选：账号配置（mtbbs_accounts）

格式为**JSON数组**，支持多账号

````json
[  
    {"username":"账号1","password":"密码1"},  
    {"username":"账号2","password":"密码2"}  
]
````

### 2. 可选：消息提醒时间段（mtbbs_message_time）

仅在该时段发送青龙通知，格式：`开始小时-结束小时`，多时段用逗号分隔

````text
8-12,18-22
````

* 示例：`9-21` 代表每天9点~21点才发送通知
* 不配置则**全天不发送通知**，只挂机

### 3. 可选：概率签到时间段（mtbbs_sign_time）

在该时段内**概率递增签到**，格式同上

````
0-23
````

* 概率规则：越接近结束时间，签到概率越高
* 不配置则**不自动签到**
* 配置`0-23`为全天概率签到

## 快速部署

1. 青龙面板 → 脚本管理 → 新建脚本（如`mt_bbs.py`）
1. 粘贴完整Python代码并保存
1. 配置环境变量（至少配置账号变量）
1. 添加定时任务：命令填`task mt_bbs.py`，建议定时`0 8-22/2 * * *`（每2小时执行一次）

## 定时建议

* 执行频率：每12分钟运行一次，随机延迟3分钟
  原因：论坛访问一次，则15分钟以内均算在线，这是discuz论坛的设计特性，按照上述配置，则始终在线。并且每次执行脚本仅发送几个https请求，对论坛的影响可忽略不计。
* 推荐定时：`0 8,20,32,44,56 * * * ?`（始终保持在线，签到和消息提醒单独设置）

## 运行说明

1. 首次运行：自动登录并缓存Cookie，后续优先使用Cookie
1. 签到判断：当天已签到则跳过，未签到则按概率触发
1. Cookie失效：自动清空缓存，下次运行重新登录
1. 通知规则：仅在配置的时段内发送成功/失败/消息通知

## 常见问题

### 1. 提示登录失败

* 检查账号密码是否正确
* 确认MT论坛账号无异常
* 不支持验证码、安全提问

### 2. 频繁提示Cookie过期

* 手动登录论坛后，删除缓存文件或清空环境变量重新登录
* 尽量不要在多处同时使用相同账号签到

### 3. 不发送通知

* 检查是否配置`mtbbs_message_time`变量
* 确认当前时间在通知时段内
* 检查青龙通知渠道是否正常

## 文件说明

* 脚本运行后会自动创建`cache`目录，存储账号Cookie与签到记录
* 无需手动修改缓存文件，脚本自动管理

---

### 总结

1. 核心配置：**必须配置** **`mtbbs_accounts`** **环境变量**，填写论坛账号密码
1. 推荐配置：搭配`消息提醒`+`概率签到`时间段，使用更智能
1. 定时任务：每2小时运行一次，实现全自动无人值守
