# 定时发推文功能说明
## 功能概述
新增的定时发推文功能允许你:
1. **定时发布单条推文** - 在指定时间自动发布一条推文
2. **定时发布推文串** - 在指定时间自动发布一个完整的推文串
3. **循环定时发推文** - 按固定间隔自动循环发布多条推文
## 🚀 自动发布特性
- **真正的自动发布**: 不是草稿,到时间会真正发布到Twitter
- **后台自动执行**: 创建定时推文后,调度器会自动启动并监控
- **无需手动干预**: 一旦设置,系统会自动处理所有发布流程
- **智能错误处理**: 发布失败会自动记录并移动到失败目录
## 功能特点
- 支持多种时间格式(绝对时间和相对时间)
- 后台自动执行,无需手动干预
- 可以随时查看和取消已安排的推文
- 支持循环发布,适合定期内容推送
- 自动处理推文串的回复链
## 使用方法
### 1. 创建定时推文
```json
{
"tool": "create_scheduled_tweet",
"arguments": {
"content": "这是一条定时推文!",
"scheduled_time": "2024-01-15T14:30:00"
}
}
```
**时间格式支持:**
- 绝对时间:`2024-01-15T14:30:00` 或 `2024-01-15T14:30`
- 相对时间:
- `+10m` - 10分钟后
- `+2h` - 2小时后
- `+1d` - 1天后
### 2. 创建定时推文串
```json
{
"tool": "create_scheduled_thread",
"arguments": {
"contents": [
"这是推文串的第一条 1/3",
"这是推文串的第二条 2/3",
"这是推文串的第三条 3/3"
],
"scheduled_time": "+1h"
}
}
```
### 3. 创建循环定时推文
```json
{
"tool": "create_recurring_tweets",
"arguments": {
"contents": [
"每日提醒:记得喝水!💧",
"每日提醒:记得休息!😴",
"每日提醒:记得运动!🏃♂️"
],
"interval_minutes": 10,
"start_time": "+5m",
"total_count": 6
}
}
```
**参数说明:**
- `contents`: 推文内容数组,会循环使用
- `interval_minutes`: 发布间隔(分钟)
- `start_time`: 开始时间
- `total_count`: 总共发布次数(可选,默认为内容数组长度)
### 4. 管理定时推文
#### 查看所有定时推文
```json
{
"tool": "list_scheduled_tweets",
"arguments": {}
}
```
#### 取消定时推文
```json
{
"tool": "cancel_scheduled_tweet",
"arguments": {
"schedule_id": "scheduled_tweet_1704567890.json"
}
}
```
### 5. 控制调度器
#### 检查调度器状态
```json
{
"tool": "get_scheduler_status",
"arguments": {}
}
```
#### 启动调度器(通常不需要手动启动)
```json
{
"tool": "start_scheduler",
"arguments": {}
}
```
#### 停止调度器
```json
{
"tool": "stop_scheduler",
"arguments": {}
}
```
**注意**: 创建定时推文时,调度器会自动启动,通常不需要手动启动。
## 使用场景示例
### 场景1:每10分钟发一条推文,共发5条
```json
{
"tool": "create_recurring_tweets",
"arguments": {
"contents": [
"产品更新 #1:新功能即将上线!",
"产品更新 #2:用户体验大幅提升!",
"产品更新 #3:性能优化完成!",
"产品更新 #4:安全性进一步加强!",
"产品更新 #5:感谢大家的支持!"
],
"interval_minutes": 10,
"start_time": "+5m",
"total_count": 5
}
}
```
### 场景2:明天上午9点发布推文串
```json
{
"tool": "create_scheduled_thread",
"arguments": {
"contents": [
"🌅 早安!今天的计划:",
"📝 1. 完成项目文档",
"💻 2. 代码review",
"🤝 3. 团队会议",
"🎯 让我们一起加油!"
],
"scheduled_time": "2024-01-16T09:00:00"
}
}
```
### 场景3:1小时后发布单条推文
```json
{
"tool": "create_scheduled_tweet",
"arguments": {
"content": "刚刚完成了一个重要的功能开发!🎉 #编程 #成就感",
"scheduled_time": "+1h"
}
}
```
## 注意事项
1. **自动发布**: 这是真正的自动发布功能,不是草稿!到时间会直接发布到Twitter
2. **调度器自启动**: 创建定时推文时调度器会自动启动,无需手动操作
3. **时间格式**: 确保使用正确的时间格式,时间必须是未来时间
4. **网络连接**: 确保程序运行期间网络连接稳定
5. **API限制**: 注意Twitter API的频率限制
6. **文件存储**: 定时推文信息存储在 `scheduled/` 目录中
7. **错误处理**: 发布失败的推文会移动到 `scheduled/failed/` 目录
## 文件结构
```
项目根目录/
├── scheduled/ # 待发布的定时推文
│ ├── scheduled_tweet_*.json
│ ├── scheduled_thread_*.json
│ ├── recurring_tweets_*.json
│ └── failed/ # 发布失败的推文
└── drafts/ # 草稿推文(原有功能)
```
## 状态说明
- `ready_to_publish`: 已到发布时间,等待发布
- `publishing_in_X_minutes`: X分钟后发布
- `scheduled_for_YYYY-MM-DD_HH:MM`: 计划在指定时间发布
这个功能让你可以更好地规划和管理你的Twitter内容发布策略!