# ControllerBot-like Posts API ## Create a post with buttons POST /api/v1/groups/{group_id}/posts ```json { "title": "活动通知", "content_type": "text", "content": "今晚 8 点活动开始,点击按钮报名", "buttons": [ [{"text": "报名", "url": "https://example.com/signup"}], [{"text": "群规", "url": "https://example.com/rules"}] ], "target_chat_id": -1001234567890, "pin": true } ``` ## Publish (send to channel/group) POST /api/v1/groups/{group_id}/posts/{post_id}/publish ```json { "target_chat_id": -1001234567890, "pin": true } ``` Notes: - buttons 是二维数组,表示按钮行 - content_type 可用: text/photo/video - 若为 photo/video,需提供 media_id - publish 会将状态置为 queued 并发队列 post_send ## 定时发送(每日重复)示例 为帖子设置每日 9:00 发送: POST /api/v1/groups/{group_id}/posts/{post_id}/schedule ```json { "cron_expr": "0 9 * * *", "enabled": true } ``` 删除定时: DELETE /api/v1/groups/{group_id}/posts/{post_id}/schedule ## 发送执行 运行 worker 处理 post_send: ```powershell $env:BOT_TOKEN="" $env:DATABASE_URL="postgresql+psycopg://afool:afool@localhost:5432/afool" venv\Scripts\python.exe scripts\worker.py ``` 定时发送需要额外运行调度器: ```powershell $env:DATABASE_URL="postgresql+psycopg://afool:afool@localhost:5432/afool" venv\Scripts\python.exe scripts\post_scheduler.py ```