WhatsApp 圖片與多媒體支援指南
以前在開發聊天機器人時,最煩人的就是處理多媒體檔案。你要自己處理圖片縮放、擔心格式相容性,還要寫一堆程式碼來解析不同平台的文件限制。
我們希望發送媒體就像傳送純文字一樣簡單,不需要為了傳一張照片或一段語音搞到焦頭爛額。OpenClaw 透過 Baileys Web 簡化了這個流程,讓你直接用 CLI 或設定檔就能搞定多媒體互動。
需要準備的東西
Section titled “需要準備的東西”- 已啟用的 WhatsApp channel (透過 Baileys Web 運行)
- OpenClaw CLI 工具
- 準備好要傳送的本地檔案路徑或 HTTP(S) URL
要在 5 分鐘內開始傳送媒體,最快的方法是使用 openclaw message send 命令。你可以同時附帶文字訊息,也可以只傳送媒體檔案。
1. 發送圖片或影片
Section titled “1. 發送圖片或影片”貼上你的檔案路徑,OpenClaw 會自動處理 MIME 類型偵測:
# 發送本地圖片並附帶文字openclaw message send --media "./images/demo.jpg" --message "這是你的圖片"
# 發送網路上的影片並開啟 GIF 循環播放模式openclaw message send --media "https://example.com/video.mp4" --gif-playback2. 測試 Payload
Section titled “2. 測試 Payload”如果你想在實際發送前確認資料格式,可以使用 --dry-run 或 --json:
openclaw message send --media "./test.png" --dry-run3. 多媒體處理規則
Section titled “3. 多媒體處理規則”OpenClaw 會根據檔案類型自動執行以下操作:
- Images: 自動調整大小並壓縮為 JPEG(最大邊長 2048px),目標大小約 5MB,上限 6MB。
- Audio: 自動轉換為語音訊息(Voice Note/PTT)格式發送,上限 16MB。
- Video: 支援最高 16MB 的影片,使用
--gif-playback可以讓行動裝置端自動循環播放。 - Documents: 支援最高 100MB 的任意檔案,並會盡量保留原始檔名。
4. 自動回覆中的多媒體
Section titled “4. 自動回覆中的多媒體”在 getReplyFromConfig 設定中,你可以回傳 mediaUrl 或 mediaUrls。當有多個媒體時,系統會按順序自動發送。
Inbound Media 處理
Section titled “Inbound Media 處理”當有人傳送媒體給你的機器人時,OpenClaw 會將檔案下載到暫存目錄,並提供變數供你的 Command 或 Pi 使用:
{{MediaUrl}}: 媒體的虛擬 URL。{{MediaPath}}: 檔案在本地的暫存路徑。
如果你啟用了 Docker Sandbox,這些路徑會自動轉換為容器內的相對路徑(例如 media/inbound/<filename>),確保你的腳本可以直接讀取檔案。
- 媒體發送失敗: 檢查日誌。如果檔案超過限制(圖片 6MB / 影音 16MB / 文件 100MB),系統會拋出錯誤並跳過該次發送。
- 媒體理解 (Media Understanding) 被跳過: 如果你配置了 AI 轉錄或描述功能,但檔案超過了
tools.media.*.maxBytes的限制(例如音訊預設 20MB),系統會跳過 AI 處理,但原始訊息仍會正常傳遞。
如果你在配置過程中遇到任何問題,可以詢問 AI Setup Assistant 獲取即時幫助。
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。