journal · glossary · last updated 2026-07-16

LINE webhook是什麼

網路上多數 LINE webhook 教學寫給工程師看 — token、signature、ngrok 一堆。換個比喻給使用者聽:「webhook 就是 LINE 替每則訊息 cc 一份給 bot」。這對你的隱私、bot 反應速度、訊息順序,分別代表什麼?

§ 00 · metaphor 一個比喻 — 「cc 給 bot」

想像你在公司寫 email 給某位主管,每次寫完按「寄出」 — 郵件系統不只把郵件寄給主管,還自動 cc 給秘書「主管收到了一封新郵件」。 秘書知道有新郵件、可以馬上處理、不用等主管轉發。

LINE webhook 就是這個 cc 機制。你在 LINE 傳訊息給 OA,LINE 的伺服器把訊息正常送到 OA, 順手再 cc 一份給 bot 的伺服器,bot 看到 cc 立刻處理、回應。即時、自動、雙方都同意過 — 你加 bot 為好友的那一刻,就等於授權它收這份 cc。

§ 01 · when it fires 什麼時候會觸發 webhook

會觸發 webhook 的事件大致分四類:訊息(文字、貼圖、語音、圖片、影片、檔案、地點)、 互動(按按鈕、選單、確認 / 取消)、關係變化(加好友、移除好友、被踢出群組), 以及群組事件(bot 被邀進群、被移出群、有人加入或退出群組)。

純 chat 內容(你打字 + 對方收到)不會觸發 webhook, 除非那個 chat 裡有 OA。沒有 bot 的 chat 是 LINE 內部的事,bot 不知道。

§ 02 · privacy 對你的隱私有什麼影響

bot 只看得到「跟它有關的 chat」

你加 site-translation 為好友、或邀它進工地韓組 — 它從那一刻起會收到那個 chat 的 webhook。 其他你的 chat(家人、朋友、其他工作群)bot 看不到。

所以「裝一支 bot」不等於「給它權限看你所有訊息」 — 它只看到它在的那個 chat 裡的訊息。

bot 看到訊息原文

webhook 的內容包含訊息本身(文字、語音的 URL 等)。這是必要的 — bot 要翻譯就要看到原文。 所以選 bot 要看它的隱私政策(hotline.tools 的在 /privacy): 它處理完有沒有刪除?有沒有拿去訓練模型?有沒有給第三方?

hotline.tools 的答案是:處理完即刪除暫存、不訓練模型、不給第三方(除了完成你要的事必要的服務商)。

§ 03 · speed 為什麼 bot 有時候慢一秒回 — webhook 的物理限制

bot 從你按下送出到回訊,中間其實有三段:LINE 把 webhook 送到 bot 伺服器(100–500 ms)、 bot 內部處理(短文字翻譯 200 ms、長語音轉文字 5 秒不等),最後 bot 透過 reply API 再走一趟 LINE 回到你手機(也是 100–500 ms)。

總計:短指令 0.5–1 秒、語音轉文字 5–10 秒、複雜處理 10–30 秒。 如果你覺得 bot「卡了」 — 多半是中間那一段(內容處理)在跑,不是 webhook 故障。

很慢時 bot 會自動傳「處理中…」訊息,避免你以為它死了。

§ 04 · what bot sees bot 收到的資料 — 不是訊息全文

每個 webhook 帶過去的欄位其實很單薄:一個經過雜湊的使用者 ID(不是名字、頭像或生日,是 LINE 給每個使用者的不可逆識別碼)、chat 類型(1:1、group、room)、訊息內容本身(文字/語音 URL/ 圖片 URL)、訊息時間戳,最後是一個 30 秒就過期的一次性 reply token,bot 用它回覆。

bot 沒有看到的:

  • 你的真實姓名(除非你授權 displayName 存取)。
  • 你的頭像。
  • 你的好友列表。
  • 你跟其他人的 chat。
  • 你的付費資料(LINE Pay 餘額、信用卡)。

這個資料模型對使用者隱私是友善的 — bot 只能看到它在的 chat 裡的訊息, 看不到「你是誰」(除了 LINE 內部的 hash)。

back to journal