Telegram Channel Plugin 修復指南
最後更新:2026-03-26 14:32 狀態:✅ 正常運作
現時架構
用戶 Telegram (@steven_cc_bot)
↓
官方 Channels Plugin (plugin:telegram@claude-plugins-official v0.0.4)
↓ MCP notifications/claude/channel
Claude Code (tmux cc session)
↓
回覆經 mcp__plugin_telegram_telegram__reply
重要:唔再用 tg-daemon(已刪除)。全部靠官方 plugin。
關鍵檔案
| 檔案 | 用途 |
|---|---|
/home/claude/start-claude.sh | 啟動腳本,含正確 flags |
/etc/systemd/system/claude-code.service | 系統服務 |
~/.claude/channels/telegram/.env | Bot token + Groq key |
~/.claude/channels/telegram/access.json | 白名單設定 |
~/.claude/plugins/installed_plugins.json | Plugin 安裝記錄 |
正確啟動指令
claude --dangerously-skip-permissions --continue --channels plugin:telegram@claude-plugins-official⚠️ 重要:start-claude.sh 係冇自動重啟 loop 嘅!
現時 start-claude.sh 直接跑 Claude,唔會自動重啟。
/exit之後要自己係 terminal 打返上面條指令- 或者直接 send TG 訊息(如果 Claude 仲跑緊)
之前試過 while loop 自動重啟,但係 loop 令 Telegram plugin 起唔到,所以刪咗。
語音訊息處理
官方 plugin 唔內建語音轉錄,要手動處理:
# 1. download_attachment 下載 .oga 檔
# 2. 改名 .oga → .ogg
# 3. 用 Groq Whisper 轉錄
GROQ_API_KEY=$(grep GROQ_API_KEY ~/.claude/channels/telegram/.env | cut -d= -f2)
cp file.oga file.ogg
curl -s -X POST "https://api.groq.com/openai/v1/audio/transcriptions" \
-H "Authorization: Bearer $GROQ_API_KEY" \
-F "file=@file.ogg" \
-F "model=whisper-large-v3-turbo" \
-F "response_format=text"常見問題 & 快速修復
問題 1:TG 訊息唔 inject 入 Claude session
症狀:Send 訊息但 Claude 收唔到,或者 plugin 工具能用但無 inbound
診斷:
ps aux | grep "bun server.ts" | grep -v grep
claude plugin list原因 A:--channels flag 唔見咗
cat /home/claude/start-claude.sh | grep channels→ 如果冇,加返去然後 restart
原因 B:Plugin 係 disabled
claude plugin enable telegram@claude-plugins-official→ 然後 /exit 等 loop 重啟
原因 C:tg-daemon 同 plugin 同時跑(搶 updates)
sudo systemctl stop tg-daemon.service
sudo systemctl disable tg-daemon.service問題 2:Claude Code service 起唔到 / tg-daemon log 路徑問題
症狀:systemctl status 顯示 exit-code 209/STDOUT
修復:
# 改 log 路徑去 home directory(/tmp 有時被 systemd 鎖住)
sudo sed -i 's|/tmp/tg-daemon.log|/home/claude/tg-daemon.log|' /etc/systemd/system/tg-daemon.service
sudo systemctl daemon-reload && sudo systemctl start tg-daemon.service(但 tg-daemon 已刪除,呢個只係備用參考)
問題 3:Plugin 起咗但 bun server.ts 係獨立 process(唔係 Claude 嘅 child)
症狀:有收到 TG 訊息 log,但唔 inject 入 Claude
診斷:
pstree -p $(pgrep -f "claude --dangerously" | head -1) | grep bun→ 如果 bun 唔係 Claude 嘅 child,plugin 連接係壞嘅
修復:Kill 所有 bun,然後 /exit 等 loop 重啟
pkill -f 'bun server.ts'
# 然後係 Claude session 入 /exit驗證正常運作
# 1. 確認 Claude process 有 --channels flag
ps aux | grep "claude --dangerously" | grep channels
# 2. 確認 bun server.ts 係 Claude 嘅 child
pstree -p $(pgrep -f "claude --dangerously" | head -1) | grep bun
# 3. 確認 plugin enabled
claude plugin list
# 4. Send "hi" 去 @steven_cc_bot,睇係咪收到 👀 reactionAccess 設定
{
"dmPolicy": "allowlist",
"allowFrom": ["8319718417"],
"ackReaction": "👀",
"replyToMode": "first",
"textChunkLimit": 4096,
"chunkMode": "newline"
}Bot token 喺 ~/.claude/channels/telegram/.env