
背景
使用者:喜多(Happycapy 實習生,Lucky-Dog07) 喜多是 Happycapy 的一名實習生,受到 gffi 的 Discord Bot 文章啟發,決定為 Telegram 建構類似的解決方案 — 但她更進一步,設計了 4 層容錯系統,並將一切開源為可安裝的 Happycapy 技能。「這個專案的前身是 gffi 大佬的《在 Happycapy 沙箱中搭建一個 7x24 運行的 Discord Bot》。Telegram Bot 最初參考了該架構,後來逐步發展出了自己的體系。」 — 喜多
她建構了什麼
一個 7x24 Telegram Bot 技能
一個開源的、一鍵部署的 Telegram 機器人,運行在 Happycapy 沙箱中,具備 AI 對話、圖片分析和持久記憶能力。在 GitHub 上查看
telegram-bot-skill — 7x24 AI 驅動的 Happycapy Telegram Bot
與 Discord Bot 的關鍵技術差異
Discord 機器人依賴 WebSocket 連接(需要 discord.js 及 70+ 依賴),而喜多的 Telegram 機器人使用 HTTP 長輪詢 — 原生fetch API,零 npm 依賴。這使其更輕量、更適合沙箱環境。
4 層容錯架構
機器人具備強大的 4 層恢復系統,在 gffi 的 3 層設計基礎上進化:
另外還有兩個獨立系統:
- 監控器(
monitor.sh):每 10 分鐘進行一次健康檢查 - 自動同步:每 30 分鐘 Git 推送,備份對話記錄
功能特性
AI 對話
透過 Happycapy AI Gateway 接入 Claude — 支援多種模型選擇
圖片分析
多模態能力 — 傳送圖片即可獲得 AI 分析
持久記憶
每個聊天獨立的對話歷史,透過 Git 同步在沙箱重啟後保留
一鍵部署
單條 bash 命令即可部署:配置 token、專案目錄、管理員 ID 和模型選擇
解決的真實工程難題
喜多的文章記錄了真實的除錯過程 — 而不僅僅是最終方案:.bashrc不起作用:Happycapy 使用 zsh 而非 bash — 改用.zshenv- Supervisord 配置被重置:
/etc/supervisord.conf在重啟後不持久 — 用動態配置生成解決 - 長輪詢衝突:Telegram 拒絕多個輪詢連接 — 需要精細的程序管理
- 沒有 cron:使用 shell 迴圈實現自訂排程任務
- 路徑問題:
PROJECT_ROOT解析失敗 — 用絕對路徑注入修復
坦誠的態度
喜多文章的亮點在於她的坦誠。她公開表示真正的 7x24 運行尚未完全實現 — 機器人只在使用者開啟 Happycapy 會話時自動重啟,而非獨立運行。這種透明度對社群很有價值。「說實話,7x24 還沒有完全實現。但架構是紮實的,自動恢復在會話範圍內運行可靠。」
關鍵啟示
開源優先
作為可安裝的 Happycapy 技能建構 — 任何人都可以一鍵部署自己的 Telegram 機器人
零依賴
HTTP 長輪詢配合原生 fetch — Telegram API 無需任何 npm 套件
站在巨人肩上
基於 gffi 的 Discord Bot 工作,進一步演化架構 — 社群知識不斷累積
透明的工程實踐
坦誠記錄失敗和局限 — 真實的除錯故事,而非只展示光鮮的結果