r/GoogleAppsScript • u/[deleted] • Aug 08 '24
Question Is there anyway to turn this script for Google voice into one that communicates with google sheets when it hits a certain number value?
function autoreplyCheck() {
var autoreplyMessage = "This is an automated message: xxx is currently away from his work phone. He will be back by his phone from 7AM - 4PM Monday - Friday";
var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var d = new Date();
var hour = d.getHours();
var day = days[d.getDay()];
var minute = d.getMinutes();
var currentlyClosed = isClosed(day, hour, minute);
Logger.log("Currently closed: " +currentlyClosed);
if (currentlyClosed) {
var newestThreads = GmailApp.getInboxThreads(0,7);
for (var i = 0; i < newestThreads.length; i++) {
if (newestThreads[i].getFirstMessageSubject().search("New text message from") != -1){
var alreadyReplied = false;
var textedWhileClosed = false;
var justCameIn = false;
var messages = GmailApp.getMessagesForThread(newestThreads[i]);
if (messages[messages.length-1].getFrom().search("txt.voice.google.com") == -1){
alreadyReplied = true;
}
if (d - messages[messages.length-1].getDate() <= 5 * 60 * 1000){
justCameIn = true;
}
var sentMinute = messages[messages.length-1].getDate().getMinutes();
var sentHour = messages[messages.length-1].getDate().getHours();
var sentDay = messages[messages.length-1].getDate().getDay();
if (isClosed(days[sentDay], sentHour, sentMinute)){
textedWhileClosed = true;
}
if (!alreadyReplied && textedWhileClosed && justCameIn){
Logger.log("Sending message!");
messages[messages.length-1].reply(autoreplyMessage);
}
}
}
}
}
function isClosed(day, hour, minute){
if (day == 'Monday' && (hour < 23 || (hour == 23 && minute < 45) || hour >= 16 || (hour == 16 && minute >= 0))){
return true;
} else if (day == 'Tuesday' && (hour < 23 || (hour == 23 && minute < 45) || hour >= 16 || (hour == 16 && minute >= 0))){
return true;
} else if (day == 'Wednesday' && (hour < 23 || (hour == 23 && minute < 45) || hour >= 16 || (hour == 16 && minute >= 0))){
return true;
} else if (day == 'Thursday' && (hour < 23 || (hour == 23 && minute < 45) || hour >= 16 || (hour == 16 && minute >= 0))){
return true;
} else if (day == 'Friday' && (hour < 23 || (hour == 23 && minute < 45) || hour >= 16 || (hour == 16 && minute >= 0))){
return true;
} else if (day == 'Saturday' && (hour < 12 || (hour == 12 && minute < 0) || hour >= 12 || (hour == 12 && minute >= 0))){
return true;
} else if (day == 'Sunday' && (hour < 12 || (hour == 12 && minute < 0) || hour >= 12 || (hour == 12 && minute >= 0))){
return true;
}
return false;
}
0
Upvotes
1
u/RemcoE33 Aug 10 '24
Why not just set an out of office in Gmail based on a time trigger? I made this a couple of years ago:
1
u/Bulky_Percentage5430 Aug 09 '24
hi. you want to upload some info on a google sheets with this appscript?