用 LINE Bot 建立社群積分系統:wk-qa-bot 種子法則實作紀錄
直接回答
LINE Bot 積分系統可以用 Upstash Redis sorted set 實作,key 設計為 seeds:total 和 seeds:YYYY-MM,分別記錄全期間和每月積分。上傳觸發事件時 ZINCRBY 加分,ZRANGE 取排行,不需要額外資料庫。搭配公開排行榜頁面,夥伴可以即時看到名次。
WeKen 的夥伴每天在 LINE 群組上傳商品素材、分享感恩,但沒有任何機制記錄誰貢獻最多。
這就是種子法則的起點:讓每一個行動都被看見,並且可以累計。
—
設計規則很簡單:上傳一張照片或一支影片,得 1 顆種子。當天第一次感恩,得 1 顆種子。週末哥可以手動補發種子給特別貢獻的夥伴。
積分記在 Upstash Redis 的 sorted set 裡。兩個 key:seeds:total 記全期間,seeds:YYYY-MM 記每月。每次觸發 ZINCRBY 加分,取排行用 ZREVRANGE。
加這個不需要額外的資料庫,LINE Bot 本來就在用 Redis 記驗證狀態。
—
排行榜頁面是靜態 HTML,放在 /public/leaderboard 由 Vercel 直接 serve。
fetch /api/leaderboard 拿資料,用品牌色渲染排名,前三名有王冠圖示,後面依序列出。夥伴可以切換本月和全期間,也可以往前看歷史月份。
不用登入,有連結就能看。週末哥在 LINE 群組分享連結,夥伴自己查名次。
—
後來又加了動態牆:所有上傳、感恩、手動種子事件都記一筆到 activity:feed,前台頁面可以看到最近的動態,知道誰在做什麼。
風向資訊(市場問答記錄)也進了動態牆,統一在一個地方瀏覽。
整套機制建好之後,上傳素材的頻率確實有變化。有人開始主動問「我現在幾顆種子」,這大概是積分系統有在運作的最直接指標。