#GAS
#Google App Script
#Telegram
用Google App Script 建立 Telegram Bot
2020/11/03 17:11:00
2
5430
Google App Script (GAS)
缺點:
1. GAS是一個獨立的環境,有別於前端(VueJs,ReactJs,…)跟後端(nodeJS)的另一個封閉的生態系統。不能使用全部的npm的相關套件
2. 沒有GAS版本的套件是不能用的
3. 在GAS中所有可使用的函式庫,全部都是全域變數,例如 UrlFetchApp,ContentService,HtmlService
建立環境:
建立Telegram回覆系統(程式碼.gs):
回傳user的input訊息
var TelegramBotToken = "這裡放你的權杖";
var TelegramBotAPI = "https://api.telegram.org/bot" + TelegramBotToken + "/";
//程式碼由 Boris @ http://www.youtube.com/borispcp 設計,歡迎使用但請保留此聲明。
function doPost(e) {
var userData = JSON.parse(e.postData.contents); //取得 Telegram Bot 收到的資訊
var clientID = userData.message.chat.id;
if (!userData.message.text) {return;} //不對文字以外的訊息進行處理
var searchContent = userData.message.text;
pushTelegramBotMessage(searchContent, clientID);
}
//傳送 Telegram 訊息給使用者
function pushTelegramBotMessage(message, clientID) {
var payload = {
"chat_id": clientID,
"text": message,
}
var options = {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(payload)
};
UrlFetchApp.fetch(TelegramBotAPI + "sendMessage", options);
}
※注意:每次修改程式,必須要重新發佈到網路上,程式碼才會生效。
設定Telegram Bot:
1. 搜尋BotFather
2. 對他輸入/newbot
3. 輸入機器人名稱和輸入username,並
取得telegram 權杖(token)
4. Set GAS depolyed (取得GAS對外url)
設定公開
5. Set Telegram webhook
https://api.telegram.org/bot{機器人token}/setWebhook?url={GAP生成的網址}
/webhook
6. 搜尋剛剛建立的@username
7. /start
8. Google使用限制
https://developers.google.com/apps-script/guides/services/quotas
9. 使用google排程器寄送email
將方法放入 程式碼.gs
function sendEmail(){
var recipient = "elon.chiu@tpisoftware.com,uhkm728@gmail.com,ex051240@gmail.com", // 收件人
subject = "我是標題", // 信件標題
quota = MailApp.getRemainingDailyQuota(), // 每日 sendMail 額度
htmlBody = '我是內容'; // 信件內容
htmlBody += "</br></br>今日 Google script MailApp.sendEmail 額度剩下 " + quota + " 封, 每個 Google 帳號每日可寄信的額度為 100 封。";
MailApp.sendEmail({
to: recipient,
subject: subject,
htmlBody: htmlBody
});
}
按此鈕
新增觸發事件
設定條件
儲存
10. 搭配google sheet 透過字串篩選,寄送email給同事
Reference
https://woodloch.blog/2020/01/10/google-apps-script-basic-backend-2/
http://icerc.tnssh.tn.edu.tw/download/rs/1030429_3.pdf
https://www.youtube.com/watch?v=-QVaOs0Cr7U&list=PLLrJ9DEA0QKNJwMddxisa2F_RZ7v6xAgu&ab_channel=LuBoris
https://script.google.com/u/1/home/my
https://shian420.pixnet.net/blog/post/351753424-%5Bgoogle%5D-google-script-mail-%E5%8A%9F%E8%83%BD%E9%96%8B%E7%99%BC
https://medium.com/@dustfantasy/google-app-script-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E9%BA%BC-6a37a06a85a8