免費通知 LINE Notify 關閉一年後,通知服務該怎麼選?LINE OA、Discord、Slack、Telegram、Bark、ntfy 比較
從前從前有一個發通知的服務叫做 LINE Notify,只要申請一組 Token,網站或伺服器打個 HTTP request,就能免費把訊息送進自己的 LINE、群組聊天室或某些工作流程。
它好用到什麼程度?很多監控工具、NAS、線上表單、智慧家庭與自動化服務都支援 LINE Notify。只要幾行程式,就能把「優惠通知」「日韓連線商品更新」「訂單成立」「門被打開」「今天記得繳費」送到大家每天都會看的 LINE,我也在 2017 年寫過類似主題的文章。

雖然 LINE Notify 有不少限制,品牌性很也差(所有通知都發到 LINE Notify 那一個聊天室,只有開頭名稱不同),但免費能治百病,不然你要發簡訊?
一些商業系統也把這個免費 LINE Notify 包進產品裡,開始宣傳「支援 LINE 即時通知」、訂單狀態主動推播、訊息立刻送到手機 LINE 之類的。這些產品需要寫程式串接,不是完全沒有成本。但通知真正送出去所需的頻寬、App、推播基礎建設,全是 LINE 在扛。
商業服務收了客人的錢,再拿別人的免費服務借花獻佛當作賣點,久了大家都覺得「發通知本來就應該免費」「用簡訊和Email發通知還要錢,真黑心」。
這個快樂的產品最後還是結束了: LINE Notify 結束服務公告。LINE Notify 自 2016 年 9 月提供服務,並在 2025 年 3 月 31 日正式終止。
免費水電停掉之後,才終於能看清楚:發通知本來就有成本。只是以前由平台吸收,使用者和把它包進產品的廠商都假裝沒看見而已。
現在過了一年,改用其他服務後,也有一些踩坑心得可以分享的。
替代 LINE Notify,先看什麼?
論發通知,可能有很多使用場景:
- 同樣的訊息,發給所有人:例如系統停機公告、平台改版通知、全站優惠活動。
- 同樣的訊息,發給特定人:例如補貨名單通知、VIP 活動邀請、指定門市人員的交接提醒。
- 不同的訊息,發給特定人:例如訂單出貨通知、付款成功提醒、客戶專屬帳單或帳號異常警告。
- 不同的訊息,發給特定群組:例如各區營運報表、部門當日業績摘要、分級會員的差異化優惠。
- 同樣的訊息,快速大量發給內部:例如突發故障警報、資安事件提醒、值班工程師緊急通知。
- 不同的訊息,發給所有人:例如每日摘要、週報、政策更新,雖然每個人看到的內容可能一致,但傳送量大且要廣播。
- 需要一對一互動:例如客服回覆、審核結果通知、行程確認等需要回傳或雙向對話的場景。
沒有一個替代方案能同時做到免費、免安裝、人人都有帳號、可以主動推播、能一對一聊天、訊息永久保存,而且保證永遠不改規則。
挑通知服務前,至少要先回答幾個問題:
- 收件者是公司內部人員、付費客戶,還是不特定會員?
- 只要單向通知,還是需要跟使用者一對一對話?
- 一個月會送 20 則、200 則,還是 20 萬則?
- 通知漏掉會不方便,還是會造成金錢、資安或人身損失?
- 訊息需要保存多久?能不能被搜尋或匯出?
- 收訊息的人是否願意另外註冊帳號、另外安裝 App?
- 上游服務更改價錢、限流或關閉時,誰負責處理?
最後一點最常被忽略。把通知接上去不難,難的是五年後它還能正常送,而且「收不到」的時候有人能負責。
LINE 推薦使用 LINE 官方帳號接替 LINE Notify
LINE 官方帳號(LINE Official Account,本文將簡稱為 LINE OA) 搭配 Messaging API 是正式的商業訊息服務,不是 LINE Notify 的免費復活版。
LINE OA 的 Messaging API 是當初服務關閉公告上,提出的替代方案首選。
關於發送通知的替代方法,建議可考慮操作Messaging API透過LINE官方帳號來傳送訊息。操作Messaging API時,每個月可免費傳送一定數量的訊息。
如果之前有在玩 LINE OA 的人就知道,LINE Messaging API 能發文字、圖片,還有高度客製化的 Flex Message。要做訂單卡片、物流進度、商品輪播與按鈕互動,它比 LINE Notify 強很多。
最簡單的用法有2種:
- 開一個 LINE 官方帳號,請要收到通知的人去加好友。
- 開一個 LINE 群組,然後把 LINE 官方帳號加進去,然後讓 LINE 官方帳號發訊息到群組內。
最基本的 Push Message 長這樣:
curl -X POST https://api.line.me/v2/bot/message/push \
-H "Authorization: Bearer $LINE_CHANNEL_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to": $USER_OR_GROUP_ID,
"messages": [
{
"type": "text",
"text": "有訊息需要人工回應,內容:XXXX"
}
]
}'
訊息數量與計費方式
真正的雷點不是 API 怎麼打,而是訊息費用怎麼算。
LINE OA 官方文件說明,計價數量看的是「送達人數」,不是 API request 次數,也不是畫面上有幾個訊息泡泡。一次 request 最多可以帶五個 flex message objects;送給五個人,即使內容有四個泡泡,仍然計為五則。
但可怕的來了,LINE OA Bot 在 5 個人的群組裡 Push 訊息一次,畫面看起來只出現一組訊息,額度卻會依 5 位收件者計算。群組有 100 人,發一條訊息就是用掉 100 則額度,不是「我只呼叫一次 API,所以算一封」。
LINE 官方帳號免費方案的每月 200 則額度,只適合開發測試、少量內部告警或很小的客戶群。下一檔就是月費 800 元,一年一萬塊。
而且收費還有一個有趣的地方,是統一月初收費,意思是這月接近月底,扣打用完了,付 800 塊只是為了撐過這個月。下個月初又開始重頭算,下個月如果第一天就把扣打用完了,又要再買一次。
LINE官方帳號未設有好友人數上限,不用擔心像一般 LINE 群組有 500 人、LINE 社群有 5,000 人的聊天室上限。
如果拿來做團購優惠情報時,真正的擴張限制通常是好友取得成本、封鎖率,以及每發一則 Broadcast 就依送達人數消耗的訊息額度。好友越多不是免費資產,而是每次群發都讓帳單金額越來越可怕。
其他實務問題
除了發太多訊息要花錢之外,LINE OA 還有幾個功能上的雷:
- 使用者通常要先把 LINE OA 加為好友(雖然之前也要先加 LINE Notify)。
- 如果店家端要透過程式發訊息,還要在加好友事件或是使用者傳訊息來的時候,把 user id/group id 保管好,後續才能根據這組 id 發訊息給特定的人或群組。
- 網站會員註冊有用 LINE Login,跟能直接用 LINE OA 發訊息給會員是兩碼子事,兩邊拿到的 user id 是不通用的。
- 店家端要在 LINE OA 設定中選擇「加入群組或多人聊天室」,LINE OA 才能被加進群組或多人聊天室。
- 同一個 LINE 群組,同時只能加入一個 LINE OA 帳號,如果群組內已經有其他什麼檔案整理到雲端硬碟、聊天會議紀錄資料整理之類的 LINE bot,就很麻煩。
- 針對使用者事件立即回覆的 Reply Message 不列入方案每月訊息數,但是 reply token 可用時間很短,實作時還要做成 reply token 發送失敗時,自動改用會扣額度的來發。
- 不管是 flex message 還是普通的文字訊息,都有長度限制,內容太長的會出問題。
- 有些 API 有 RPH 跟 RPS 規範,Rate limits也不會有人看,反正等撞到就知道了。
LINE OA 適合「客人本來就在 LINE,而且通知值得付費」的場景,要做好隨時準備付費的心理準備,想要永久免費的先不要考慮。
LINE 社群能拿來做通知嗎?
不適合當正式系統通知,因為 LINE 社群的定位是讓真人參與的社群空間,不是提供給程式穩定發送通知的 API 通道。
白話翻譯: LINE 社群沒有像 LINE Messaging API 那樣,提供一套適合商業系統依賴的公開發訊 API、Webhook 事件與服務等級承諾。
網路上若看到用模擬登入、操作網頁、非官方套件或私人協定自動發訊息的做法,技術上也許暫時能動,但LINE 更新後,自動化可能立即失效,帳號可能觸發風控或被限制。無法向客戶承諾穩定性,發生訊息漏送時,沒有正式 API 紀錄可以追查。
LINE 社群可以是人工維護的公告場所,還可以像 Discord, Slack 一樣開討論串,但不要把系統通知、付款通知、銷售宣傳活動等重要流程綁在上面。
缺點:不適合拿來建立唯讀社群
如果是要做「只有管理員能發公告」的用途,LINE 社群現階段沒辦法,管理員頂多只能把講話的人隱藏發言,或是踢出社群。
管理員只能平常多盯著點,有人進社群亂發垃圾訊息時趕快刪掉,並告訴大家不要點。
缺點:LINE 社群最多只能容納 5000 人
對小型團購、地方生活情報、投資討論與品牌粉絲群來說,5000 人已經還算挺有誠意,至少不像 Telegram 基本群組只給 200 人,但一旦做出點成績,5000 人也可能很快爆滿。
但滿員後沒有一個按鈕可以把上限變成一萬人,付錢也無法解決。常見做法只能再開「二群」「三群」,接著就開始浮現各種管理問題。
優點:可不必公開原本的 LINE 個人檔案
去除 LINE 社群沒有官方 API,不方便自動化之外,如果單純只是拿來當普通的群發訊息通知,LINE 社群還是很方便的。
LINE 社群是 LINE 比較後期發布的新功能【LINE社群】翻群掰掰~管理員/共同管理員相關功能看這篇。優點很明顯:
- 台灣使用者熟悉 LINE,不一定要互加好友或是封鎖,加入社群跟加好友有微妙的差異
- 改良了一些群組或多人聊天功能的弊端
- 管理員可以設定加入社群的條件,審核後才能加入
- 使用者加入後,能針對每個社群另外設定暱稱和頭像,不必公開原本的 LINE 個人檔案。用在活動討論、興趣交流、粉絲俱樂部或人工發布公告很方便。
認證 LINE 社群
LINE 社群官方認證是在 2025 年開放申請的官方功能,用來證明這個社群確實和某個名人、品牌、媒體、企業或公眾人物有關,而不是某種打著公眾人物名號的詐騙社群。
通過審核後,社群頭像會顯示「綠勾勾」的圖示。它的主要價值是讓使用者比較容易分辨官方社群和仿冒群,並且有機會獲得 LINE 社群官方推薦或合作曝光。
它不是付錢購買就有,依 LINE 台灣官方 2026 年 4 月更新的申請條件,社群必須在台灣建立、開放搜尋、持續活躍、沒有違規紀錄,並且和一個具有一定規模的外部公開平台:
- Instagram 追蹤數 3,000 人(含)以上
- Facebook 帳號追蹤數 / Facebook 社團成員數 5,000人(含)以上(請使用「公開」帳號與社團進行申請)
- Threads 追蹤數 5,000人(含)以上
- YouTube 訂閱者 1,000人(含)以上
- TikTok 粉絲數 5,000人(含)以上
- LINE VOOM 追蹤者 3,000人(含)以上
- LINE 認證官方帳號(藍盾)、企業官方帳號(綠盾)
申請時還要提供外部社群帳號連結、管理後台截圖,以及曾在該平台宣傳這個 LINE 社群的紀錄。
認證帶來的是身分標誌與可能的曝光:
- 不會把 5,000 人上限提高。
- 不會多出 LINE 社群相關 API。
- 不能取得成員的 LINE User ID。
- 無法保證每位成員都會收到通知。
- 不能允許無限制發布廣告和優惠訊息。
最後一點尤其要注意,LINE 支援中心列出的社群禁止行為包含「以商業宣傳為目的之相關發文」,常常聽到一些 KOL 經營交流私域 LINE 社群然後莫名其妙被 LINE 停用,所有的解釋權都在 LINE 那邊。
這些規範不表示 LINE 社群什麼訊息都能發,不要密集洗版、狂發導購或大量張貼團購連結。且用且珍惜,不能把拿到認證徽章理解成取得無敵廣告執照。
Discord 適合拿來收系統通知嗎?
適合開發團隊、遊戲社群與願意使用 Discord 的人,尤其是只需要把訊息丟進指定頻道給大家看。
近幾年應該已經很多人見識到Discord 的強大:
- 前幾年 Web3、NFT熱鬧的時候,已經待過這些 Discord 社群的人,見識到把 Discord 當成元宇宙交流大廳的感覺。
- 線上課程、遠距社群,還有偶像、遊戲、實況主與各種同好俱樂部也很常用,從身分認證到各種討論版面,好像 Yahoo 家族一樣(現在還有人知道這是什麼嗎?)。
- 使用 Discord 跟 OpenClaw/Hermes Agent 對話的人,大概也見識到 Discord 的強大&複雜度,相比之下 LINE 簡直是玩具。
- 玩 AI 生圖用過 Midjourney 之類的,大概也讚嘆把社群聊天工具變成繪圖軟體的用法,同時滿足使用工具和交流討論需求,真是太神奇了。
Discord 擁有各種頻道、討論串、角色設定、語音群、直播、活動、自動bot機器人、權限與自動管理一應俱全,我們這邊只討論拿它來發通知,真是拿大砲打小鳥,有點不好意思。
基本設定流程
不過一旦把 Discord 拉近實際使用場景,「社群功能強」跟「適合拿來發系統通知/商業通知」可能是兩回事。
發通知訊息的那方要先建立一個 Discord Server,中文介面叫做「伺服器」,但它不是我們真的要去弄一台雲端主機,只是 Discord 裡的一個獨立社群空間功能而已。接著要規劃:
- 哪些 Channel 放公告、客服、閒聊與系統告警。
- 哪些 Role 可以看哪些 Channel。
- 新使用者加入後,怎麼驗證身分和指派 Role。
- 邀請連結是否會過期、能用幾次,外流後怎麼處理。
- Bot、Webhook 和管理員各自需要哪些權限。
- 誰負責刪垃圾訊息、封鎖帳號與處理詐騙私訊。
如果不建立 Discord Server,只想用個人帳號加好友,然後發 Group DM,發起群組訊息及通話使用額度就更小了:
- 每個帳號最多 1,000 位好友
- 群組通話(Group DM)最多只能有 10 人
所以正常用途還是必須開 Discord Server,不可能靠 Discord 好友名單硬撐。
最大的限制可能是通知人數有限
免費伺服器已經能容納大量成員,官方目前列出的總成員上限是 2,500 萬人,還有最多 500 個 Channel、250 個 Role 等相當寬鬆的限制,不會像 LINE 社群在 5,000 人就必須分群。
但數字很大不等於每個人都會收到通知。Discord Server 超過 2,500 位成員後,行動版就不再提供「所有訊息」的推播通知選項,使用者主要只能依 Mention 等設定收到通知。
拿大型 Discord 當優惠情報廣播站,如果只把商品丟進 Channel,很多成員根本不會被手機提醒;每次濫用 @everyone,又很快會逼大家把整個 Server 靜音。
免費層還有限制,例如單檔上傳上限為 10 MB 之類的,如果我們只是拿來發文字訊息。這些通常用不到,但使用者會比較,日後稍微壯大一點後,使用者可能會覺得這個品牌/產品的 Discord 社群,怎麼這麼陽春? 影響經營品牌社群的完整度觀感。
發訊息
Discord 的 Incoming Webhook 不需要建立 Bot user,也不需要維持 WebSocket 連線。建立 Webhook 後,直接 POST 到 URL 就能發訊息:
curl -X POST "$DISCORD_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"content": "正式站部署完成",
"embeds": [
{
"title": "版本 v2026.06.07",
"description": "健康檢查全部通過",
"color": 5763719
}
]
}'
如果文字訊息中包含超連結,Discord 文字使用類似 Markdown 的語法,要把長網址藏在文字後面,可以寫:
[查看訂單](https://shop.example.com/orders/A1024)
Discord 也有類似 LINE OA Flex Message 的那種特殊訊息卡片,叫做 Embed,可以放標題、說明、欄位、圖片、顏色與連結,很適合呈現部署結果、監控數值與事件摘要。
如果訊息中出現網址,Discord 可能自動產生網頁預覽。透過 Webhook 或 Bot API 發訊時,可以在 payload 加上 flags: 4,也就是 SUPPRESS_EMBEDS,關掉自動 Embed:
curl -X POST "$DISCORD_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"content": "[查看完整錯誤](https://status.example.com/incidents/42)",
"flags": 4,
"allowed_mentions": {
"parse": []
}
}'
allowed_mentions.parse 設成空陣列也很重要。訊息主文萬一混入 @everyone、@here 或 Role Mention,不應該讓一則自動通知把整個 Discord Server 的人全部叫醒。
設定 bot
如果直接從從某個 Channel 的「整合」頁面建立 Webhook 後,就可以用那組 DISCORD_WEBHOOK_URL 發訊息到 channel 內。
但如果要用同一組 webhook url 發到其他 channel 卻無法成功,它不是可以到處移動的完整 Bot,那組 webhook url 就綁死在該 Channel 了,要讓第二個 channel 也能操作,通常就要在第二個 channel 再建立另一組 webhook url,建立的越多,管理的複雜度也上升。
另一種做法是另外到 Discord Developer Portal 建立 Discord Application,加入真正的 Bot User,再把 Bot 邀請進 Server。
只要 Bot 在多個 Channel 都有 Send Messages、Embed Links 等權限,同一組 Bot Token 就能透過 Channel Message API 發到不同 Channel,不必每個 Channel 建一隻 Bot。
但這條路要自己處理 OAuth2 邀請、Bot 權限、Channel ID、Rate Limit 與 Token 安全,複雜度高於 Incoming Webhook。
用 Discord 發通知的導入難點:
幸虧 Discord 有中文介面,不會有人說看不懂,但對於根本沒用過的人來說,又要多下載一個 app,多註冊一組帳號了...
- 收件者要先有 Discord 帳號,再加入指定 Server 或 Channel。
- Webhook 適合單向送出;要接收回覆、按鈕事件、權限狀態或完整互動,仍要建立 Discord Application/Bot。
- 頻道權限、角色與討論串一多,通知可能送成功但目標使用者根本看不到。
- Discord Bot 和 Webhook 都有 Rate Limit。官方要求程式讀取
X-RateLimit-*和Retry-After,不要把網路文章裡的固定數字寫死。
它可以取代工程師團隊的 LINE Notify,但不太適合要求消費者為了收追蹤商品到貨通知,先學會 Discord 是什麼。光是「下載或打開 Discord、註冊帳號、接受邀請、加入 Server、找到正確 Channel、允許手機通知」就足以錄一段教學影片。
畢竟如果是金融交易群或老司機交流群,使用者可能會排除萬難,但只是要他接收通知,甚至是工作上可有可無的訊息,可能讓人毫無動力。
訊息只能保留 90 天的 Slack 免費版
夠收短期的通知訊息,但不應把免費 Slack 當作永久事件紀錄。
Slack 免費版的方案限制是只能查看與搜尋最近 90 天的訊息和檔案;超過 90 天的內容會被隱藏,超過一年則會永久刪除。
這代表 Slack 可以當通知入口,卻不能當唯一紀錄:
- 系統錯誤的原始資料仍要保存在 Log、監控平台或資料庫。
- 訂單與付款狀態要存在自己的系統,不要靠搜尋 Slack 對話紀錄還原。
- 免費 Workspace 最多可安裝 10 個第三方或自訂 App。
- Incoming Webhook 洩漏後,可能被冒用發訊息。
- App 權限、Workspace 管理政策、免費方案規則都可能改變,像之前就爆出亞洲區的 Slack 伺服器和帳號歸阿里巴巴管的爭議。
訊息功能
發訊息端要先建立一個 Slack 免費 Workspace,然後建立頻道(Channel),再把人邀請進去。或是在 Workspace 層級產生邀請連結。
Slack 可透過 Incoming Webhook 發送文字,也能用 Block Kit 排出有區塊、按鈕、圖片與欄位的通知卡片:
curl -X POST "$SLACK_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"text": "付款服務錯誤率升高",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*付款服務錯誤率升高*\n最近 5 分鐘錯誤率:8.2%"
}
}
]
}'
Slack 的訊息格式不是一般 Markdown,而是自己的 mrkdwn。例如要做文字超連結,語法是:
<https://shop.example.com/status/A1024|查看詳細說明>
不是 Discord 和一般 Markdown 使用的 [查看詳細說明](網址)。如果同一套通知內容直接丟給不同 Provider,就會看到括號、角括號和網址原封不動出現在畫面上,所以 Adapter 不只要換 API Endpoint,也要負責轉換文字格式。
如果一次傳很多連結,Slack 預設會抓取訊息中的網址,顯示 Open Graph、圖片或影片預覽。要停用預覽,在最外層同時設定:
{
"text": "<https://status.example.com/incidents/42|查看完整錯誤>",
"unfurl_links": false,
"unfurl_media": false
}
unfurl_links 管一般網頁,unfurl_media 管圖片、影片等媒體網址。只關其中一個,某些連結還是可能展開。
訊息限制
Slack 發訊最大的問題是 Rate Limit 限制是每個 Channel 每秒一則,例如早上10點執行排程程式,發現有3處需要通知的地方,我們一股腦直接丟 3 筆訊息給 Slack api,那 channel 內只會收到 429 Too Many Requests 的錯誤訊息。
比較正常合理的設計是需要做一層 Queue 服務,再把訊息慢慢發過來。
就算訊息發送失敗,也要能查到本來要發的訊息是什麼,
然後再對 Queue 服務做監控,出錯時發 Slack 通知,
然後發 Slack 通知前,要把訊息丟到 Queue 服務......這樣就死循環了,當然要準備其他備援方案。
實際使用難題
Slack 比較偏商務工具,官方沒有把一般免費 Workspace 宣傳成一個遊戲社群還是團購通知工具,雖然沒限制人數,但真正先撞到的難題通常是:
1.邀請限制
雖然不需要管理員逐一輸入每個人的 Email,免費版能從 Workspace 層級建立邀請連結,任何拿到連結的人都能自行加入,但每組連結有時效&使用人數限制,大型公開社群要持續更新連結。
2.使用者點邀請連結後,仍要使用 Email、Google 或 Apple 帳號完成 Slack 註冊或登入,不是點一下就匿名進入聊天室。
3.同一個 Email 加入不同 Workspace,仍是分開的 Slack 帳號環境,而不是像 LINE 聊天軟體中的「社群」聊天室清單這麼乾淨簡潔。
4.前面講的 90 天記錄問題,有時候訊息就是需要長久保存。
覺得使用者透過 Workspace 邀請連結進來,會看到一堆他不該看到的 Channel 名稱? Slack 付費版有Single-Channel Guest 或 Slack Connect 的功能,這是花錢就可以解決的問題。
可是花錢升級 Slack 付費版的話,
是按照人頭數計算
每個帳號好幾美金
每月付訂閱費的
Triple Kill!
只是拿來發通知的話顯然不合成本。(先不討論什麼 Inactive 帳號算不算錢之類的)
Telegram 的群組/頻道/Bot 三種模式
Telegram 的 API 很完整、通知成本低、跨平台能力強,但「能發 Bot 訊息」不等於「已經做好客服產品」。
以使用邏輯來說,可以利用三種功能:
- 建立一個群組(Telegram group),透過邀請連結或是把好友加進來聊天,最多有 200 位成員,需要一些進階功能或人數滿了,要升級 Supergroup。
- 建立一個頻道(Telegram channel),可以設定是否公開,大家進來只能看管理員發文,最多有 20 萬位成員。會顯示訂閱者數量,每則發文還會顯示觀看數。
- 可以開一個 Telegram bot,然後讓大家加好友,然後廣播訊息給每個 chat id。
這三種功能差別也有各自的缺點:
- 群組: 整天有老百姓在裡面聊天,有人覺得很吵就把通知全部關掉,最後連正經的訊息都沒看到。
- channel: 讓品牌單方面發文是很好,但使用者有什麼問題,還要想辦法找到「管理員」加好友才能一對一對話,然後有時候使用者會不知道從哪邊加到假的管理員,或是 channel 中某個管理員被盜帳號,亂發釣魚連結。
- Telegram bot: 要自己刻各種聊天介面。
建立 bot
如果一對一對話為主,群發通知只是偶爾發一下的話,那可以考慮直接開 Telegram bot。
別人可以跟我一對一對話,然後我也可以把 Telegram bot 加到群組或 channel 內,自動發通知。Telegram 的政策比 LINE 寬鬆,一個群組可以有好幾個 bot。
Telegram Bot 的申請流程可能是本文介紹 LINE/Discord...等服務中最簡單的。
開啟 Telegram,搜尋官方的 @BotFather,然後:
- 傳送
/newbot。 - 輸入 bot 的顯示名稱。
- 設定一個 username,讓別人可以搜尋加好友。
- BotFather 會直接回傳 Bot Token。
拿到 Token 就能呼叫 API,不必先註冊 Developer Console、填信用卡或等人工審核之類的雜事。
發送訊息
但接下來馬上會發現問題,建立好的 bot,要如何看到它的「好友」,還有群發通知/一對一聊天?
Telegram 提供的是 Bot API,不是免費送一套 Zendesk/線上客服對話系統。
也就是說什麼好友名單、聊天紀錄、對話介面之類的,通通要自己設計資料表,自己寫程式。
在一開始使用者加好友或對話時就要取得 chat.id 並記錄起來,以後才能發訊息給這個 chat.id 所屬的使用者。
Telegram Bot API 可以發文字、圖片、檔案、位置與各種格式,也能用 Inline Keyboard 做按鈕。最簡單的訊息如下:
curl -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'"$TELEGRAM_CHAT_ID"'",
"text": "網站 SSL 憑證將在 14 天後到期",
"reply_markup": {
"inline_keyboard": [
[
{
"text": "查看憑證",
"url": "https://status.example.com/tls"
}
]
]
}
}'
如果只做單向告警,串接很快;如果號稱能讓客服和客戶一對一對談,就要自己處理:
- Webhook 或 long polling 收取訊息。
- 對話列表、未讀狀態、搜尋與指派客服。
- 客戶身分和網站會員帳號的綁定。
- 圖片、檔案、語音等附件保存。
- 封鎖、濫用、Rate Limit 與重送。
- 多位客服同時回覆時的權限和衝突。
- Bot Token、Webhook 驗證與個資存放。
誰有 Bot Token,誰就是最高管理員。
聽到「用自己的 Telegram 帳號取得 Bot token」,稍微有點數位資產管理常識的就會覺得很恐怖。
單人開發很舒服,但商業用途、多人共同管理時,Telegram 就沒那麼漂亮,它不像 GitHub Organization 或一般企業後台,無法替同一隻 Bot 配置多位管理員、無法細分一堆權限。
如果要轉移 Bot 所有權,要回到 BotFather 輸入/mybots,然後做 ownership 相關的操作。

群發通知限制
群發通知(大量廣播)也不是完全沒限制,Telegram 官方建議一對一聊天不要超過每秒一則、群組不要超過每分鐘 20 則,免費大量發送約每秒 30 則,超過就可能收到 429 error。Broadcasting to Users
當然這是可以用錢解決的,可以購買 Telegram Stars,然後使用 Paid Broadcasts,就能大幅提高上限。
對中文使用者來說,Telegram 過去還有介面不熟悉的門檻。直到 2026 年 4 月,官方 app 才陸續內建繁體中文選項,不必再另外套用社群語言包。
這可能降低了一點導入阻力,但客戶仍然得先實名註冊 Telegram,然後在邀請進群/加好友等各種步驟上流失,最後有人還嫌太吵把通知關掉。
Bark 跟 LINE Notify 一樣純粹
Bark 很接近「打一個網址,手機立刻跳通知」的使用體驗,除了通知樣式有很多自訂格式之外,整體功能非常的純粹,沒有其他亂七八糟的社交功能。
但收件者要另外安裝 App,而且目前以 Apple 裝置為主,使用者要有 iPhone/iPad。
Bark 是開源工具,利用 Apple Push Notification service 將自訂通知送到 iPhone。

請使用者安裝 Bark App,裝好之後打開就會看到預設的 server api.day.app,還有呼叫範例。
每個手機會有一組專屬的 device token,程式打 API 後就能推播:
curl -X POST https://api.day.app/push \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"device_key": "'"$BARK_DEVICE_KEY"'",
"title": "備份完成",
"body": "資料庫備份已上傳到異地儲存",
"group": "server",
"url": "https://status.example.com"
}'
Bark 可以設定群組、圖示、聲音、點擊後開啟的 URL、時效性通知,甚至 Critical Alert。
api.day.app 是官方提供的,5分鐘內如果錯誤次數太多會被 BAN 24小時,需要更高隱私或控制權時,也能自行架設 Bark Server,官方有提供 Docker 跟 Cloudflare Workers 的範例。
但它的優點同時就是限制:
- 每位收件者都要安裝 Bark,取得自己的 device token。
- 它不是大家原本就在使用的聊天軟體,應該說它根本不是聊天軟體,真的是通知工具。
- 主要服務 Apple 生態,無法直接涵蓋所有 Android 使用者。
- Device Key 就像收件地址加密鑰,不能放在公開頁面。
- 自架 Server 只是把平台風險換成自己的維運責任,上游還有 APNs(Apple Push Notification service)。
我們不能像 LINE OA/Discord/Slack 一樣看到一份好友名單或成員名單、每個人有個人資料、一個人多台裝置都能同時收到訊息、輕鬆清點人數.....在 Bark 的功能邏輯下,我們只是保存一堆 device token 而已,還要自己製作訊息發送推播界面。
Bark 很適合自己的伺服器或 NAS 狀態通知、智慧家庭通知,至於要做面向一般客戶的商業產品......看緣份吧。
用 ntfy 自架通知服務
ntfy 是一個開源的 HTTP Pub/Sub 通知服務,可以直接使用官方代管的 ntfy.sh。
(要到後台點升級才看得到價錢,官網的 pricing 頁面直接顯示 $5 美金起跳的方案)
訊息發太多的話,要升級到一個月5美金方案(一天可以發2500筆訊息),也可以自己架 Server;收件者則透過 Android、iOS App 或 Web App 訂閱通知主題。
最簡單的用法甚至不必註冊帳號:
curl \
-H "Title: 備份完成" \
-H "Priority: high" \
-H "Click: https://status.example.com/backups" \
-d "資料庫備份出現異常" \
"https://ntfy.sh/$NTFY_TOPIC"
收件者先安裝 ntfy App,再訂閱同一個 Topic,就能收到通知。
通知訊息也支援標題、優先級、附件、Tag、Emoji、點擊網址與 Action Buttons,比 LINE Notify 更像一個專門做通知的工具。
ntfy 的 Server 有提供多種架構,Binary、套件與 Docker Image,架起來不算困難,但還要處理一堆網路服務 IT 雜務:
- Domain、TLS 憑證與反向代理。
- 使用者、Topic 權限與 Token 撤銷。
- Message Cache、附件、磁碟容量與備份。
- App 連線、背景推播、健康檢查與版本更新。
- Server 掛掉時,誰來發那一則「通知服務掛了」的通知。
官方代管方案則是花錢把這些事情交回供應商。
不要聽到開源,就想到拿他們的程式碼自己做一個,手機 APP 還要繳 Apple Developer 年費呢。
所以 ntfy 的選擇不是「免費或付費」,而是「自己付維運成本,或付錢請別人維運」。
類似的 Pushover
另外還有一個類似概念的通知服務 Pushover,Android, iPhone, iPad, 和桌上型電腦都通,需要請使用者另外安裝 APP 來收通知。
跟 ntfy 相比,Pushover 沒有提供自架方案,產品方案和一般 SaaS 有點不同:
- 個人版(Individual Pricing)在每個平台(Android/iOS)是一次性購買。每平台 4.99 美元,可先試用 30 天,沒有訂閱費。
- Pushover for Teams 提供集中管理與團隊功能,根據使用者數量每月付費。
- 另外還有一些外部串接,可以做到發 email 或其他通訊方式
Pushover 不適合拿來要求一般零售消費客戶安裝,自用或內部管理用途比較適合。
Meta 體系的 Messenger、Instagram DM 呢?
如果我們要用 Meta 體系的那些產品,Threads 私訊、Instagram 私訊、Instagram 群組聊天室、Facebook 粉專私訊來做一些自動化通知用途呢? 先不要,它們更像「使用者先來詢問,商家在規定時間內回覆」的客服通道,不是讓網站任意取得帳號允許後,主動發通知的 LINE Notify 替代品。
事情會發展成這種地步,因為 Meta 產品的全球使用者非常多,有心人士也常常利用各種平台功能來狂發廣告訊息,例如前幾年著名的事件:
AsiaYo 如何在一週內打造破萬使用者的Chatbot
AsiaYo 如何在一天內用 Chatbot 摧毀使用者體驗
AsiaYo 如何(再一次)在一天內用 Chatbot 摧毀使用者體驗
那個有漏洞的功能現在已經改掉了,總之同一件事從廠商行銷端口中說出來,跟一般民眾口中說出來,完全就會變成兩碼子事。
那些加了好友就狂發廣告訊息/詐騙訊息、狂發廣告訊息給那些在IG或粉專留言的,站在 Meta 的視角來看,我們本文講的發通知跟那些發廣告訊息的人是一樣的,在政策上受到同等的監管。
本來打了一堆又刪掉了,Messenger 和 Instagram DM 最好拿來做客服對話,其他的用途可以直接透過 ManyChat、Omnichat 之類的去串接 Meta 的產品,他們都是認證的 Meta 技術服務商,產品有更高的權限,沒事不要自己開發。
通知機制設計問題
各服務對「同一內容發很多人」和「很多內容發不同人」的能力不同,只要通知不能漏、需要自動重試,或瞬間可能發超過幾十筆,每小時可能發超過一定數量,就需要好好規劃發送機制,例如把「事件成立」和「呼叫外部通知 API」拆開,至於是否使用 RabbitMQ、SQS、Cloudflare Queues、Redis Streams 來實作就看環境是否允許。
這裡就不談什麼系統設計問題,反正沒人會在意,等訊息發不出來/收不到,或是讓老闆莫名其妙一次收到 100 條訊息,直接把本月額度用完,要付錢才能再發;或是整個服務的正常功能被發通知卡住,才會有人去關心這種系統設計問題。
使用者端問題
API 紀錄顯示通知送成功,使用者為什麼還是收不到?
因為 API 回傳成功,只代表平台接受訊息,不代表手機一定跳出通知,更不代表使用者有看到。
每增加一個通訊軟體,通常工作人員就要多準備一套操作說明、FAQ、截圖和教學影片。例如導入 Discord,至少要教使用者:
- 註冊或登入 Discord。
- 點擊邀請連結加入 Server。
- 完成 Server 的驗證或 Role 設定。
- 找到指定 Channel。
- 把 Server 或 Channel 的通知從「沒有」改成需要的等級。
- 到 iOS、Android 或桌面系統允許 Discord 顯示通知。
而且通知開關不只一層。以手機為例,可能同時存在:
- 作業系統層級禁止整個 App 通知。
- App 內關閉 Push Notification。
- Workspace、Server、群組或 Channel 被靜音。
- 特定對話只顯示 Mention,不顯示一般訊息。
- 手機開啟勿擾、睡眠或專注模式。
- App 被系統省電機制限制背景活動。
- 使用者登出、換手機、移除 App 或換掉帳號。
最痛苦的客服情境是,後台紀錄全部正常,使用者半年前自己把 Channel 靜音,最後回報的仍然是「你們系統又沒發通知」。
如果收件者是公司內部五位工程師,或是加了一堆 Telegram 或 Discord 投資群的人,可能根本沒有教學成本。
如果是五萬名一般消費者,每個人使用不同手機、版本與通知設定,「免費的 Discord、Telegram 或 ntfy 通知」可能比付費簡訊更昂貴。
免費通知退場,是壞事嗎?
對只想省錢的人是壞事,對需要長期經營產品的人反而是好事。
當初 LINE Notify 免費、簡單、人人都會用,確實是一個很棒的服務。它讓開發者用最低成本完成實用功能,把系統事件送到客人手機的 LINE 裡面。服務關閉當然可惜。
但免費太久也扭曲了大家對通知成本的認知。商業產品把上游免費 API 包裝成高階賣點,卻沒有準備替代管道、投遞紀錄和服務終止方案;客戶則以為每一則即時通知都不需要成本,只要工程師「串一下 LINE」就好。
LINE Notify 在 2025 年 3 月結束後,Email、簡訊、LINE OA、App Push 與其他通知服務的 CP 值反而比較容易被正常評估:
- Email 便宜、通用,而且適合保存。
- 簡訊較貴,但觸及門檻低、重要事件值得用,店家在發某些簡訊前需要驗證。
- LINE OA 有台灣使用者基礎,但必須接受額度與商業計價。
- Discord、Slack、Telegram 適合已經在使用那些平台的人。
- Bark、ntfy、Pushover 等工具彈性高,但收件者要付出安裝或註冊成本。
---
文章封面圖:應該是還珠格格的劇照,近代被拿來當成「不然你要買XXX?」的迷因梗圖,寫到「不然你要發簡訊?」時覺得封面圖應該要用這個。
