在app script 程式中要依不同的使用者儲存變數,大致上有三個方式
1.存在外面的資料庫, 利用JDBC 的方式去連結
2.存在能區分使用者的google sheet工作表中
3.使用app script 中PropertiesService
下的getUserProperties() 方法。這應該類似網頁語由的cookie 或者 後語言的session。
今天記錄第三種方法,這也是「bot.學習.人」摸索一陣子才發現的方法。
大概有三個步驟,第一個步驟,先宣告一下。
const userProperties = PropertiesService.getUserProperties();
第二個步驟,設定
userProperties.setProperty('USER', 'bot');
也就是說,建立了一個鏈結關係,USER 就是bot了。下次程式再使用,只要使用第三個步驟。
第三個步驟,使用
const units = userProperties.getProperty('USER');
這時,這個units 就是'bot' 了。
如果,要真的做到依使用者不用而有不同的變數,要怎麼做呢?
「bot.學習.人」想到的,就是第二個步驟要修改成
userProperties.setProperty(USERid, USER變數);
//USERid 要設定成可以判別使用者的id 身份,如Line ID 或手機號
//USER變數,可以放這個使用者的專屬變數,如果是要儲存一堆變數,要放的就是Object,然後把Object 變成string
如此一來,就可以了,相信不會太困難。基本上也實測過了,是實際可行的。目前正在telegram 的專案實際運用中 。