功能特性
推送邏輯機制
深入了解插件嘅抖音同B站推送實現原理
本頁詳細介紹咗插件針對抖音同 Bilibili 平台嘅推送檢測與分發邏輯,幫助用戶理解推送嘅觸發機制、去重策略及新特性。
抖音推送 (Douyin)
抖音推送模塊支持多種類型嘅動態監聽,包括作品更新、點贊操作、推薦列表更新以及直播狀態。
新特性:交互行為推送
此功能將於 v2.19.0 版本中發佈!
喺最新版本中,我哋引入咗對用戶交互行為嘅監控能力,讓你能第一時間捕捉到博主嘅興趣動態。
隱私設置警告:呢兩個功能依賴於博主嘅隱私設置。如果博主將喜歡/推薦列表設置為「僅自己可見」,插件將無法獲取數據並會輸出警告日誌。
核心機制
定時輪詢
插件會根據配置文件 config/pushlist.yaml 中嘅設置,定期輪詢已訂閱用戶嘅狀態。
類型分發
針對每個訂閱用戶,系統會並行檢查以下配置開啟嘅推送類型:
- 作品 (Post): 用戶嘅發佈視頻或圖文。
- 喜歡 (Favorite): 用戶點贊嘅內容(需用戶公開喜歡列表)。
- 推薦 (Recommend): 用戶推薦嘅內容(需用戶公開推薦列表)。
- 直播 (Live): 用戶嘅實時直播狀態。
數據比對與去重
系統維護一個 SQLite 數據庫 (douyin.db),記錄已推送過嘅 aweme_id。
每次獲取到最新列表(通常為前5條)後,會與數據庫中嘅記錄進行比對。只有未存在於數據庫中且符合過濾條件(如屏蔽詞)嘅新內容先會被推送。
渲染與分發
唔同類型嘅推送會使用專屬嘅 UI 模板進行渲染:
- 作品: 展示視頻封面、標題、數據統計。
- 喜歡/推薦: 額外展示「邊個喜歡咗邊個」或「邊個推薦咗邊個」嘅關聯信息,增強社交屬性。
- 直播: 展示直播封面、標題、在線人數及直播間連結。
最後,渲染生成嘅圖片會分發至所有訂閱咗該用戶嘅群組同機器人。
Bilibili 推送
B站推送主要涵蓋動態更新同直播狀態監控。
核心流程
動態獲取
通過 Bilibili API 獲取訂閱 UP 主嘅最近動態歷史。
智能篩選
為咗保證推送嘅時效性同質量,系統會執行以下篩選:
- 排除置頂:置頂動態通常係舊內容嘅長期展示,默認忽略。
- 時效限制:自動過濾發佈時間超過 24 小時嘅舊動態(防止首次運行時刷屏)。
類型處理
支持多種動態類型嘅解析與渲染:
- 視頻投稿 (
DYNAMIC_TYPE_AV): 提取封面、標題、簡介,生成視頻卡片。 - 圖文動態 (
DYNAMIC_TYPE_DRAW): 展示圖片預覽。 - 直播推薦 (
DYNAMIC_TYPE_LIVE_RCMD): 當 UP 主通過動態發佈開播通知時觸發。 - 轉發動態 (
DYNAMIC_TYPE_FORWARD): 嵌套展示原動態內容。
直播監控
除咗依賴動態流中嘅開播通知,插件仲包含獨立嘅狀態輪詢機制,主動檢測直播間狀態變化(Off -> On),確保唔錯過未發動態嘅突襲直播。
去重機制
B站推送同樣基於數據庫進行嚴格去重。已推送嘅 dynamic_id 會被持久化存儲,確保同一條動態唔會重複打擾。
Last updated on