如何將 .md 檔案傳送到 Telegram

如何將 .md 檔案傳送到 Telegram

📖 前言

Hermes Agent 支援將本地檔案直接傳送到 Telegram對話中。本文將詳細說明如何操作,適合第一次接觸 Hermes Agent 的新手閱讀。


🐕 什麼是 Hermes Agent?

Hermes Agent 是由 Nous Research 開發的開源 AI 助理。它具有以下特色:

  • 跨平臺支援:可在 CLI、Telegram、Discord、Slack 等平臺運行
  • 持久記憶:會記住對話內容和用戶偏好
  • MCP 工具擴展:可連接各種 MCP 伺服器來增強功能
  • 檔案傳輸:可透過 MEDIA: 語法直接傳送本地檔案

🎯 本文目標

學會如何將本地檔案(尤其是 .md 檔案)傳送到 Telegram


📦 前置需求

  • 已安裝 Hermes Agent
  • 已設定 Telegram Bot 並連接成功
  • 已有要傳送的 .md 檔案

方法一:使用 MEDIA: 語法(推薦)

核心語法

在 Hermes Agent 的回覆中包含以下格式:

MEDIA:/檔案的絕對路徑

完整範例

已完成文章!請查收:

MEDIA:/tmp/hermes-telegram-photo-blog.md

📌 重要提示

  • 路徑必須是絕對路徑(以 / 開頭)
  • 不支援相對路徑(如 ./file.mdfile.md
  • 支援的格式包括:.md.txt.pdf、圖片、音訊、影片等

方法二:使用 send_message 工具

指令格式

在 Hermes Agent 中使用 send_message 工具:

target: "telegram:你的ChatID"
message: "你的訊息\n\nMEDIA:/檔案路徑"

完整範例

send_message(
 message="📝 部落格文章已完成!請查收:\n\nMEDIA:/tmp/hermes-telegram-photo-blog.md",
 target="telegram:你的ChatID"
)

步驟一:找出你的 Telegram Chat ID

方式一:查看 sessions 目錄

當你傳送訊息給 Bot 後,Hermes 會建立 session 檔案:

grep "telegram" ~/.hermes/processes.json

找到類似以下的內容:

"session_key": "agent:main:telegram:dm:你的ChatID"

其中的數字就是你的 Chat ID。

方式二:查看 channel_directory

cat ~/.hermes/channel_directory.json

方式三:查看 Gateway 狀態

hermes gateway status

步驟二:設定預設頻道(可選)

為了省去每次都要指定 Chat ID 的麻煩,可以設定 home_channel

編輯設定檔

開啟 ~/.hermes/config.yaml,找到 telegram 區塊:

telegram:
 reactions: false
 channel_prompts: {}
 home_channel: "你的ChatID"

使用指令設定

hermes config set telegram.home_channel "你的ChatID"

讓設定生效

hermes gateway restart

步驟三:傳送 .md 檔案

情境一:在對話中傳送

當你在 Telegram 與 Hermes Agent 對話時,直接在訊息中包含:

這是我為你寫的教學文章:

MEDIA:/tmp/send-md-to-telegram-blog.md

Hermes 會自動偵測到 MEDIA: 語法,並將檔案以附件形式傳送。

情境二:指定 Chat ID 傳送

send_message(
 message="📝 部落格文章已完成!\n\nMEDIA:/tmp/send-md-to-telegram-blog.md",
 target="telegram:你的ChatID"
)

情境三:使用捷徑(已設定 home_channel)

send_message(
 message="📝 部落格文章已完成!\n\nMEDIA:/tmp/send-md-to-telegram-blog.md",
 target="telegram"
)

📋 完整流程範例

1. 確認檔案存在

ls -la /tmp/send-md-to-telegram-blog.md

輸出:

-rw-r--r-- 1 bbb wheel 4829 May 7 14:12 /tmp/send-md-to-telegram-blog.md

2. 確認 Chat ID

grep "telegram" ~/.hermes/processes.json | head -5

3. 傳送檔案

send_message(
 message="📝 文章已完成,請下載查收:\n\nMEDIA:/tmp/send-md-to-telegram-blog.md",
 target="telegram:你的ChatID"
)

4. 確認成功

成功的回應:

{
 "success": true,
 "platform": "telegram",
 "chat_id": "你的ChatID",
 "message_id": 157,
 "mirrored": true
}

🔧 常用指令參考

指令說明
hermes config set telegram.home_channel "ID"設定預設 Telegram 頻道
hermes gateway status查看 Gateway 狀態
hermes gateway restart重啟 Gateway
cat ~/.hermes/channel_directory.json查看已連接的頻道

⚠️ 常見問題

Q:出現「No home channel set」錯誤?

原因:沒有設定 home_channel 或設定的 Chat ID 不正確。

解決方法

  1. 確認你的 Chat ID 是否正確
  2. 重新設定 home_channel
  3. 重啟 Gateway

Q:檔案傳送成功但 Telegram 看不到?

原因:可能是路徑問題或檔案權限問題。

解決方法

  1. 確認路徑是絕對路徑(以 / 開頭)
  2. 確認檔案存在且有讀取權限:ls -la /路徑/檔案.md
  3. 確認 Telegram Bot 已正確連接

Q:可以傳送哪些類型的檔案?

支援所有類型的檔案,包括:

  • 文件:.md.txt.pdf.doc.docx
  • 圖片:.jpg.png.webp.gif
  • 音訊:.mp3.ogg.wav
  • 影片:.mp4
  • 任何其他檔案類型

Q:可以一次傳送多個檔案嗎?

可以,在訊息中多次包含 MEDIA: 語法:

第一個檔案:
MEDIA:/tmp/file1.md

第二個檔案:
MEDIA:/tmp/file2.jpg

💡 進階技巧

技巧一:自訂訊息文字

可以在 MEDIA: 前加上任何文字說明:

📄 這是我為你寫的技術文件:
附件包含完整設定流程...

MEDIA:/tmp/technical-guide.md

技巧二:傳送時指定檔案名稱

Hermes 會自動使用原始檔案名稱。如需自訂,可以在訊息中說明。

技巧三:結合其他功能

可以將檔案傳送與其他功能結合,例如:

✅ 任務完成摘要:
- 已生成圖片
- 已寫好文章
- 已傳送檔案

附件:
MEDIA:/tmp/summary.md
MEDIA:/tmp/generated_image.jpg

🎉 總結

將 .md 檔案傳送到 Telegram 的方法非常簡單:

  1. 記住關鍵語法MEDIA:/絕對路徑/檔案名
  2. 確認 Chat ID 正確
  3. 在訊息中包含 MEDIA: 語法

只要掌握這三個重點,就能輕鬆將任何檔案從 Hermes Agent 傳送到 Telegram 了!


文章更新日期:2026年5月7日

留言