feat(telegram): candidate list/delete/clear commands

私聊新增 /candidate [页码](待决策列表)、/candi_del(标题按钮逐条删除,删后原地重建键盘、可翻页连续删)、/candi_clear(全部/待决策/取消)。重构 handle_callback 为前缀分派(cdel/cpage/cclr,保留 add/ign/blk/fav);repository 加 list_pending_candidates/delete_all_candidates;LibraryService 加 pending_candidates/delete_candidate/clear_candidates 并刷看板缓存。
This commit is contained in:
kairee committed 2026-11-01 20:45:57 +08:00
1 parent c6790f0ba1
commit 4a9c37f2f3
9 files changed
+473 -23

No files matched your search

+6
View File
@@ -308,6 +308,12 @@ score >= 通知线 → 通知
- **「拉黑」**:把该视频的 **UP 拉入 `up_blacklist`**,同时把该 UP 的其他待决策候选一并标记为 `rejected`;**已入库/收藏夹里的该 UP 视频不受影响**
- 「打开视频」链接(`https://www.bilibili.com/video/<bvid>`)
**私聊管理命令**(仅 `telegram.chat_id` 本人可用):
- `/candidate [页码]`:纯文本列出待决策候选标题,每页 10 条;
- `/candi_del`:每页 10 个**标题按钮**(`cdel:<page>:<aid>`)+ 上一页/下一页;点击删除该候选后用 `editMessageReplyMarkup` **原地重建**本页键盘,可连续删;删空本页则回退上一页;
- `/candi_clear`:`[全部][待决策][取消]`(`cclr:all|pending|cancel`);「全部」清整张 `candidate` 表,「待决策」只清 `decision IS NULL`。
**黑名单语义(明确边界)**:
1. 只过滤"未来发现"——命中黑名单的 UP 新视频不进候选池、不发通知;