İşte bunu yapan bir Apps Komut Dosyası. Google Drive'da komut dosyası düzenleyicisini açmak için bu komut dosyası çalıştırma bağlantısını tıklayabilirsiniz . Sonra:
- Editördeki yer tutucuyu, aşağıda verilen komut dosyasıyla değiştirin.
- "Kaynaklar> Bu projenin tetikleyicileri" ne gidin ve her 5 dakikada bir otomatik olarak çalışacak bir tetikleyici ayarlayın.
Betiğin mantığı aşağıda açıklanmaktadır.
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.");
}
}
}
Komut dosyası yalnızca geçerli yerel gün / saat
- Cuma, Cumartesi, Pazar (gün 5,6,0
[5,6,0].indexOf(day)
) veya
- Pazartesi sabah 8'den önce (1.Gün, saat <8)
- Perşembe 17:00 sonrası (4. gün, saat> = 17)
Yaptığı şey, son 5 dakikada ( interval
komut dosyasında) alınan tüm mesajları kontrol etmek ve her birine hazır bir metinle yanıt vermek.
İki zaman aralığının eşleşmesi önemlidir: tetikleyicinin ayarlandığı aralık ve kodda ayarlanan aralık. Aksi takdirde, komut dosyası bazı iletileri yanıtlayamaz veya birkaç kez yanıt verir.
Uyarılar
Bunu her 5 dakikada bir yerine her dakika çalıştırmayı deneyebilirsiniz; ancak bunun bir gün (toplam 1 saat çalışma süresi) için komut dosyalarına izin verilen maksimum çalışma süresini aşıp aşmayacağından emin değildim.
Bunun daha sofistike biçimlerini düşündüm: "otomatik cevap" etiketi ekleyerek veya ScriptProperties'te son çalıştırma zamanını saklayarak . Ancak yukarıdakiler işi yapar ve basitlik kazanır.