繁体   English   中英

在 TwiML 中说出当前时间和日期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM