นี่คือสคริปต์แอปที่ทำสิ่งนี้ คุณสามารถคลิกที่ลิงค์สคริปต์เริ่มต้นนี้เพื่อเปิดตัวแก้ไขสคริปต์ใน Google ไดรฟ์ แล้ว:
- แทนที่ตัวยึดตำแหน่งในตัวแก้ไขด้วยสคริปต์ที่ระบุด้านล่าง
- ไปที่ "ทรัพยากร> ทริกเกอร์ของโครงการนี้" และตั้งค่าทริกเกอร์ให้เรียกใช้การตอบกลับอัตโนมัติทุก 5 นาที
ตรรกะของสคริปต์อธิบายไว้ด้านล่าง
function autoReply() {
var interval = 5; // if the script runs every 5 minutes; change otherwise
var date = new Date();
var day = date.getDay();
var hour = date.getHours();
if ([5,6,0].indexOf(day) > -1 || (day == 1 && hour < 8) || (day == 4 && hour >= 17)) {
var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
var threads = GmailApp.search('is:inbox after:' + timeFrom);
for (var i = 0; i < threads.length; i++) {
threads[i].reply("I am out of office. Your email will not seen until Monday morning.");
}
}
}
สคริปต์จะทำอะไรบางอย่างถ้าวัน / เวลาท้องถิ่นปัจจุบันคือ
- วันศุกร์, เสาร์, อาทิตย์ (วันที่ 5,6,0 ในส่วน
[5,6,0].indexOf(day)
) หรือ
- วันจันทร์ก่อน 8:00 น. (วันที่ 1, ชั่วโมง <8)
- วันพฤหัสบดีหลังเวลา 17.00 น. (วันที่ 4, ชั่วโมง> = 17)
สิ่งที่ทำคือตรวจสอบข้อความทั้งหมดที่ได้รับในช่วง 5 นาทีที่ผ่านมา ( interval
ในสคริปต์) และตอบกลับด้วยข้อความแบบกระป๋อง
เป็นสิ่งสำคัญที่ช่วงเวลาสองช่วงตรงกัน: ช่วงเวลาที่มีการตั้งค่าทริกเกอร์และช่วงเวลาหนึ่งในสคริปต์ มิฉะนั้นสคริปต์จะไม่สามารถตอบกลับข้อความบางข้อความหรือตอบกลับหลายครั้ง
หมายเหตุ
คุณสามารถลองใช้งานนี้ทุกนาทีแทนที่จะเป็นทุก ๆ 5 นาที แต่ฉันไม่แน่ใจว่าจะเกินเวลาทำงานสูงสุดที่อนุญาตให้กับสคริปต์เป็นเวลาหนึ่งวัน (เวลาทำงานทั้งหมด 1 ชั่วโมง)
ผมถือว่ารูปแบบที่มีความซับซ้อนมากกว่านี้ด้วยการเพิ่มป้ายกำกับ "ตอบกลับอัตโนมัติ" หรือที่มีการจัดเก็บเวลาของการทำงานที่ผ่านมาในScriptProperties แต่ข้างต้นทำให้งานเสร็จและชนะด้วยความเรียบง่าย