Ось сценарій програм, який робить це. Ви можете натиснути це посилання для запуску сценаріїв, щоб відкрити редактор сценаріїв на Диску 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 години ранку (день 1, година <8)
- Четвер після 17:00 (день 4, година> = 17)
Що потрібно зробити, це перевірити всі повідомлення, отримані за останні 5 хвилин ( interval
за сценарієм) та відповіді на кожне із консервованим текстом.
Важливо, щоб два часові інтервали відповідали: інтервал, на який встановлений тригер, і той, який встановлений у сценарії. Інакше сценарій або не відповість на деякі повідомлення, або відповість кілька разів.
Зауваження
Ви можете спробувати запустити це щохвилини замість кожні 5 хвилин; але я не був впевнений, чи перевищить це максимальний час виконання сценаріїв за день (загальна тривалість роботи на 1 годину).
Я розглянув більш складні форми цього: із додаванням мітки "автовідповідь" або із збереженням часу останнього запуску в ScriptProperties . Але вищезазначене робить роботу виконаною та перемагає у простоті.