功能特性

推送邏輯機制

深入了解插件嘅抖音同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

On this page