需要帮助在 Twilio 函数中创建时间门
Need help creating a Time Gate in Twilio Function
我是 Twilio Studio、Functions 和扩展 node.js 的新手。我正在尝试创建一个函数来评估当前的日期和时间。如果那个时间在 window 之外,我想 return false,否则为 true。这是我目前所拥有的:
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
var day = Twilio.Date.toString();
twiml.say(day);
callback(null, twiml);
};
看看下面的 Twilio 函数,并进行相应的修改。
// Time of Day Routing
// Useful for IVR logic, for Example in Studio, to determine which path to route to
// Add moment-timezone 0.5.31 as a dependency under Functions Global Config, Dependencies
const moment = require('moment-timezone');
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
function businessHours() {
// My timezone East Coast (other choices: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
const now = moment().tz('America/New_York');
// Weekday Check using moment().isoWeekday()
// Monday = 1, Tuesday = 2 ... Sunday = 7
if(now.isoWeekday() <= 5 /* Check for Normal Work Week Monday - Friday */) {
//Work Hours Check, 9 am to 5pm (17:00 24 hour Time)
if(now.hour() >= 9 && now.hour() < 17 /* 24h basis */) {
return true
}
}
// Outside of business hours, return false
return false
};
const isOpen = businessHours();
if (isOpen) {
twiml.say("Business is Open");
} else {
twiml.say("Business is Closed");
}
callback(null, twiml);
};
我是 Twilio Studio、Functions 和扩展 node.js 的新手。我正在尝试创建一个函数来评估当前的日期和时间。如果那个时间在 window 之外,我想 return false,否则为 true。这是我目前所拥有的:
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
var day = Twilio.Date.toString();
twiml.say(day);
callback(null, twiml);
};
看看下面的 Twilio 函数,并进行相应的修改。
// Time of Day Routing
// Useful for IVR logic, for Example in Studio, to determine which path to route to
// Add moment-timezone 0.5.31 as a dependency under Functions Global Config, Dependencies
const moment = require('moment-timezone');
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
function businessHours() {
// My timezone East Coast (other choices: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
const now = moment().tz('America/New_York');
// Weekday Check using moment().isoWeekday()
// Monday = 1, Tuesday = 2 ... Sunday = 7
if(now.isoWeekday() <= 5 /* Check for Normal Work Week Monday - Friday */) {
//Work Hours Check, 9 am to 5pm (17:00 24 hour Time)
if(now.hour() >= 9 && now.hour() < 17 /* 24h basis */) {
return true
}
}
// Outside of business hours, return false
return false
};
const isOpen = businessHours();
if (isOpen) {
twiml.say("Business is Open");
} else {
twiml.say("Business is Closed");
}
callback(null, twiml);
};