Day 2 - Google Apps Script 設置


Day 2 - Google Apps Script 設置

這是「給不會寫程式的人的惠惠機器人開發攻略」的第二篇。

Google Apps Script (GAS) 可以實現簡單的後端功能,用來跟其他的 Google 服務結合也很方便。

Google Apps Script 的官方文件在這裡:
https://developers.google.com/apps-script/reference

接下來要開始建立一個惠惠專案了ヽ(・∀・)

Google Apps Script 設置

STEP 1. 建立新專案

首先進入 Google Apps Script 的首頁:
https://script.google.com/home
點擊左上角的「新專案」

Google Apps Script 首頁

然後就會進入程式碼介面。如果想把 GAS 的介面換成深色的可以用這個 Chrome 擴充套件

Google Apps Script 介面

STEP 2. 玩玩看

可以試試看把下面這一段程式碼貼上去
你可能還看不懂這一段程式碼。沒有關係,下一篇就是 Javascript 教學了。(°▾ °)〳
這是一個名字叫做 myFunction 的函式
這個函式裡面會宣告一個叫作 name 的變數,它的值是 "megumin"
然後利用 Logger.log() 這個函式,在記錄裡面寫下 name。

function myFunction() {

  var name = "megumin";
  Logger.log(name); // Logger.log() 是 GAS 用來記錄輸出的函式

}

把原本 GAS 裡面的 myFunction 刪掉
把這段程式碼貼上去之後點擊【執行】>【執行函式】> myFunction

執行 > 執行函式 > myFunction

然後點擊【查看】>【記錄】(或是按 Ctrl + Enter)

查看記錄

就會看到記錄裡面寫著 megumin
這個就是 GAS 用來執行單一函式,並且查看記錄的步驟了。用來除錯非常好用。

megumin


註:如果你覺得記錄等很久,一直卡在這個畫面:

可以試試看停用 V8 runtime。(停用它就代表不能用 ES6 的語法。)

停用V8

STEP 3. 發布應用程式

點擊【發布】>【部署為網路應用程式】

然後就會出現這個畫面
注意在這個畫面的第三項要設為 Anyone, even anonymous (任何人,甚至匿名使用者)

如果出現這個警告窗,只要點【進階】>【前往】就好

警告窗

之後只要一直按下一步就好

完成了ヾ(´∀ ˋ)ノ

之後每次對程式碼做修改,要使程式碼生效就要進行這個動作:
【發布】 > 【部署為網路應用程式】 > Project Version 點新增
這樣就能更新機器人了

STEP 4. 連結巴哈姆特

複製這個連結

回到創作者後台,到 Bot token 的欄位,把連結貼在 Webhook 的格子裡。這個時候再複製你的 Access Token,回到 GAS。

把這段程式碼跟 Access Token 一起放到 GAS 裡面

var ACCESS_TOKEN = "放入你的 ACCESS TOKEN";
var URL = "https://us-central1-hahamut-8888.cloudfunctions.net/messagePush?access_token=" + ACCESS_TOKEN;
var senderId;

類似這樣:

這樣就大功告成了。
senderId 是之後用來辨認傳送訊息的人是誰,所以會在這裡宣告一個全域變數

回顧一下

我們在 Google Apps Script 建立了一個惠惠專案,並且學會了如何執行特定函式,然後查看記錄。我們也發布了應用程式,然後也把 GAS 跟哈哈姆特連結起來了。

  • 執行特定函式:【執行】>【執行函式】> myFunction
  • 查看記錄:【查看】>【記錄】(或是按 Ctrl + Enter)
  • Logger.log() 是 GAS 用來記錄輸出的函式。(一般是用console.log())
  • 發布應用程式時,要把權限設為 Anyone, even anonymous (任何人,甚至匿名使用者)
  • 更新機器人的步驟:【發布】 > 【部署為網路應用程式】 > Project Version 點新增

下一篇是 Javascript 教學,會介紹 Javascript 的基本語法。

上一篇 | 回到系列文 | 下一篇

#Chatbot #Google Apps Script
在巴哈姆特的聊天平台「哈哈姆特不EY」製作聊天機器人。






Related Posts

可以請你說明一下,前端的資料跟後端是如何交換的嗎?

可以請你說明一下,前端的資料跟後端是如何交換的嗎?

Day 02 任務

Day 02 任務

【Day02】 OM2M框架佈署與介紹

【Day02】 OM2M框架佈署與介紹

StyleGAN2 閱讀筆記

StyleGAN2 閱讀筆記

Guided Policy Search 環境安裝

Guided Policy Search 環境安裝

Day2 終端機,出擊!

Day2 終端機,出擊!



Comments