iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
自我挑戰組

一路side project - 學習筆記系列 第 2

[Day 2] 群組不可缺的夥伴 - Line Bot Reminder

  • 分享至 

  • xImage
  •  

今天來講述如何加入 Line Bot 到群組中,我們整個實作流程。
(其實這不算side project,只是之後會使用到的一小部分,本米把它拉出來寫一篇而已哈哈)

相信大家在寫這個鐵人賽團體組應該都很緊張自己漏寫吧
畢竟只要有一人漏寫了 整組就必須重頭來過
這時候導入一個 Line Bot 每天按時提醒群組內的組員感覺是個不錯的想法
(雖然iThome會自動22:00傳mail提醒,但mail不一定能像line一樣能那麼即時看到)
→ 所以本米就這麼做了,還可以順便提醒組員要動工了

主要分三個小標來講:

  1. 技術簡介
  2. 架構流程
  3. 實作細節

技術簡介

要建立一個可以在群組內自動提醒的 Line Bot,大致會用到兩大核心工具:

1. LINE Messaging API

  • 由 LINE 官方提供,可以讓開發者建立機器人帳號(Bot),並且接收/回覆訊息。
  • 常用功能包括:發送文字、圖片、貼圖,甚至進行互動(選單、按鈕)。
  • 我們會需要一個 Channel Access Token 來驗證機器人身分。

2. Google Apps Script (GAS)

  • Google 提供的雲端執行環境,可以免費使用,不用自己架伺服器。
  • 優勢在於:
    • 免費託管,24 小時運作
    • 可以輕鬆串接 Google 服務(像是 Google Sheets 當資料庫)
    • 支援定時觸發(每天晚上 9 點自動發送訊息)

換句話說,整個的核心就是:利用 GAS 來呼叫 LINE Messaging API,讓 Bot 在指定時間把訊息送到群組


架構流程

我們將整個 Bot 的運作大致可以分成三步:

1. 建立 LINE Bot

  • 在 LINE Developer Console 建立一個新的 Messaging API Channel
  • 取得 Channel Access Token 和 Group ID

2. 在 GAS 撰寫程式

  • 使用 UrlFetchApp.fetch() 向 LINE API 發送 POST 請求
  • 將要傳送的文字訊息(例如「大家記得寫鐵人賽文章!」)放在 body 裡面

3. 設定觸發器(Trigger)

  • 在 GAS 設定一個定時觸發器(每天 21:00)
  • 讓程式自動執行 → 準時把訊息送進群組

實作細節

Step 0|準備清單

  • 一個 Google 帳號(可用 GAS)
  • LINE Developers 帳號
  • 一個要放 Bot 的 LINE 群組

Part 1|建立 LINE Bot(Messaging API)

  1. 進 LINE Developers Console → Create → Provider → Create a new channel → Messaging API
  2. 重要設定:
  • Channel type: Messaging API
  • Bot information:隨意、可後續改
  • Allow bot to join group chats:請勾選
  1. 建立後,進 Channel 頁面找:
  • Channel secret(之後若要驗簽可用;不一定要)
  • Channel access token(long-lived) → 產生後複製保存(等會要貼到 GAS上)
    https://ithelp.ithome.com.tw/upload/images/20250915/201547647OEEzdi0rw.png

Part 2|建立 Google Apps Script(GAS)專案

  1. https://script.google.com/ → 新增專案,命名 (ex: LineBotReminder)
  2. 在 Code.gs 內貼上程式 (後面補上 github )

Part 3|部署 & 測試

1. GAS → 部署 > 新部署

  • 類型選「網路應用程式」
  • 執行身份:我
  • 存取權限:任何人
  • 取得部署後的 Web App URL (會看到像下面樣子)
    https://ithelp.ithome.com.tw/upload/images/20250915/201547641Vs9560b9B.png

2. 到 LINE Developers → Messaging API > Webhook settings

  • Webhook URL 貼上剛才的 Web App URL
  • Use webhook: Enable (要記得!)
  • 點 Verify 應該會顯示 200 OK
    (本米當時一直跳 302 error,但後來直接加入群組可以使用就沒管XD[誤])

3. 把 Bot 加進你要的 LINE 群組

4. 回 GAS 執行 setupDailyTrigger() → 完成

之後你在Line群組中可以看到Bot根據定的時間傳送提醒訊息了
https://ithelp.ithome.com.tw/upload/images/20250915/201547645GCCVWio9y.jpg


Part 4|如何看 Log、如何手動測試

  • 看 Log:GAS 介面 → 左側「執行記錄」或「記錄」(Executions / Logs),可看到 Logger.log 的輸出與 HTTP 回應碼。
  • 在前面GAS自己加上測試的程式碼 (記得也要重新部署)

以上是這次加入Line Bot的整個流程,可以透過這個做更多的延伸,那我們明天見~

Reference:

  1. https://ithelp.ithome.com.tw/articles/10285362
  2. https://developers.line.biz/en/docs/messaging-api/overview/
  3. Github: (出了點意外 因為我現在用平板打文章 開不了GAS的東西 明天有筆電再補上 尷尬==)

上一篇
[Day 1] 前言
系列文
一路side project - 學習筆記2
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言