【发布时间】:2019-02-20 20:17:06
【问题描述】:
我正在开发一个 twilio-programable-sms 聊天机器人,它需要在第一次对话开始时向用户提供大量信息。目前,我们已经写了大约 562 个字符。对于我们的一些用户,这会被分成 160 个字符的块,这些字符不一定会以正确的顺序显示在他们的 SMS 应用程序中。
为了解决这个问题,我们试图将我们的消息分解为 160 个字符或更少的不同消息,每个消息一个接一个地发送。
但是,我和我的队友目前不确定如何实现这一点。我们的应用程序当前编写为为从用户收到的每条消息提供一个 twiml 响应。我一直无法找到一种方法来创建一个表示许多连续消息的 twiml 响应,而且我们提出的理论解决方案感觉很老套和有缺陷。
为了演示,目前我们的代码如下所示。如您所见,当一个新用户发送关键字“开始”时,我们将 4 条消息连接到一个长文本响应中。但是,我们希望每条消息都单独发送,一个接一个,相隔大约一两秒。
case @body
when "start"
if !!@user
CreateMessage::SubscriptionMessage.triage_subscribable_type(!!@user)
else
[
CreateMessage::AlphaMessage.personalized_welcome(@conversation.from, true),
CreateMessage::SubscriptionMessage.introduce_bcd,
CreateMessage::SubscriptionMessage.for_example,
CreateMessage::SubscriptionMessage.intvite_to_start
].join("\n\n")
end
如果可能,我们希望避免创建后台工作人员/cron 作业 - 但欢迎任何和所有建议的解决方案。
【问题讨论】:
标签: ruby-on-rails ruby twilio twilio-api