[英]Say the current time and day in TwiML
我的祖母患有痴呆症和可编程固定电话。 她误服了她的药物,因为她不记得现在是什么日子或时间。 我设置了一个 Twilio 服务,她可以按电话上的“时间”拨打号码,它会播放当前日期和时间。
到目前为止,我的代码如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say voice="alice" language="en-AU" loop="2">Today is DAY. Right now, it is TIME.</Say>
</Response>
其中一天将被工作日(例如星期六)替换,而时间将类似于晚上 8:34。
如何使这些值动态化?
Twilio 开发人员布道师在这里。
正如杰克建议的那样,您可以使用 Twilio Function 来动态生成时间。 你也在Reddit 上问过这个问题,我的同事用一些代码回答了你。 为了不重新发明轮子,我也将在此处发布该代码。
您需要创建一个 Twilio Function并输入以下代码:
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
let timeZone = "Australia/Sydney";
let now = new Date();
let dayOfWeek = now.toLocaleString("en-AU",
{timeZone: timeZone, weekday: "long"});
let currentTime = now.toLocaleString("en-AU",
{timeZone: timeZone, hour: "numeric", minute: "numeric"});
twiml.say(`Hello Grandma, today is ${dayOfWeek}. Right now it is ${currentTime}`,
{voice: "alice", language: "en-AU", loop: 2});
return callback(null, twiml);
};
保存并部署 function,然后将您的电话号码配置为在来电时使用 Function。
这将返回 TwiML,其中包含如下消息:“你好奶奶,今天是星期六。现在是晚上 11:51”。 您可能需要根据您在世界的哪个位置更改上述代码中的时区。 我猜到了“澳大利亚/悉尼”,因为您在问题中使用了“en-AU”,但如果这不适合您,我深表歉意(这里有很多时区名称)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.