《零基礎快速入門:GenAI 搭配 Google Apps Script 的工作自動化寶典》Chapter 4-5 午餐吃什麼?自動發送訊息到 Slack Channel

1. 引言

如果我們的自動化程式可以自動發送訊息給我們,
那就有更高的可玩性了!

一般人常用的訊息平台有 LINE、Google Chat、Slack 等。
除了 LINE 需要比較繁瑣的設定步驟才能弄出一個傳訊息的機器人帳號,
Google Chat 和 Slack 都可以很輕易地接收外部的訊息。

一起來看看要怎麼做吧!

2. 案例背景

上班族都有一個共同的苦惱,
就是中午不知道該吃什麼好。

要是有一個自動化程式可以幫我們提議,
並且在每天中午11:55傳訊息到我們團隊的群組就好了!

3. 解決方案:如何使用 GenAI

我們可以利用 GenAI 來生成程式碼,
自動幫我們隨機選擇一家餐廳,並每天固定時間傳到 Slack 群組。

首先,我們先準備一個 Google 試算表,
把你平常常去的餐廳都列在裡面。
一欄放餐廳名稱,另一欄放餐廳的類型,還可以加上餐廳的地址。

接著,我們可以使用一個簡單的 Prompt 告訴 GenAI,
像是:「幫我寫一段 Google Apps Script 程式碼,
每天早上 11:55 隨機從 Google 試算表中選取一家餐廳,
並把餐廳名稱傳送到指定的 Slack 群組。」

4. Google Apps Script 解說

我們來看看 GenAI 生成的程式碼吧!

function sendRandomRestaurant() {
  var sheet = SpreadsheetApp.openById("你的試算表ID").getSheetByName("餐廳清單");
  var data = sheet.getDataRange().getValues();

  // 隨機選取一間餐廳(跳過標題列)
  var randomIndex = Math.floor(Math.random() * (data.length - 1)) + 1;
  var selectedRestaurant = data[randomIndex][0]; // 餐廳名稱

  // 傳送訊息到 Slack
  var slackWebhookUrl = "你的Slack Webhook URL";
  var payload = JSON.stringify({ "text": "今天的推薦餐廳是:" + selectedRestaurant });

  UrlFetchApp.fetch(slackWebhookUrl, {
    "method": "post",
    "contentType": "application/json",
    "payload": payload
  });
  }

這段程式碼做了幾件事情:
它會開啟我們指定的 Google 試算表,
並讀取「餐廳清單」這個分頁中的所有資料。
它會隨機挑選一間餐廳,
並取得餐廳名稱。
它會把這個餐廳名稱作為訊息,
傳送到我們指定的 Slack 群組。

別忘了把程式碼中的 你的Slack Webhook URL 替換成你自己的 Webhook URL。
這個 Webhook URL 可以在 Slack 的 channel 資訊中找到。

5. 測試與設定定時觸發

那麼接下來,我們要進行測試,
看看這段程式碼是不是真的能如我們預期的執行。

先把程式碼貼到 Google Apps Script 編輯器裡,
按下「執行」,看看結果如何。

如果你看到 Slack 群組裡出現了「今天的推薦餐廳是:」
那麼恭喜你!
程式碼順利運作啦!

在確認手動測試正常之後,
就可以去設定定時器了。

具體的定時設定步驟,
我們後面會有一個專門單元來講解。

如果你看到每天都會準時出現推薦,
那就表示自動化功能完全達成啦!

6. 進階提示

這段程式碼雖然很簡單,但你可以進一步進行擴充。

例如,你可以加入多一個欄位,
紀錄每間餐廳最近一次被選中的日期。
這樣可以避免同一間餐廳在短時間內重複被選中。

或者,你可以加入更多餐廳的資訊,
例如餐廳的營業時間、電話,
甚至是推薦的菜色!

另外,你也可以改用 Google Chat 傳送訊息,
只要更換 Webhook 的 URL 就行了!
這樣無論你是用 Slack 或 Google Chat,
都可以用同樣的邏輯來實現自動化。

7. 結論

這個案例展示了如何利用 GenAI 搭配 Google Apps Script,
在不需要程式基礎的情況下,
完成一個有趣又實用的自動化功能。

每天推薦餐廳的功能,
不僅能解決每天中午不知道吃什麼的煩惱,
還能讓團隊之間多了一點小驚喜和樂趣!

試想一下,
你是否還有其他想要自動化的工作流程?
不妨試試用 GenAI 生成程式碼,
讓每天的工作都能變得更輕鬆有趣!