只是为了让您了解我们正在尝试做的事情:我们有一个像聊天机器人一样工作的Python系统,可以自动回答一些问题,但是有时候我们需要将联系人发送到该服务一个接一个,我们需要使用Python在Flex中打开对话
我尝试了多种方法来将消息发送到Flex上的聊天,但是正如我之前说的,我们只能创建聊天,而不能向其中发送消息,更好的说法是,我们能够发送消息,但不能发送消息出现在Flex的聊天界面上(很奇怪)。我尝试了1)通过API使用常规方法,2)创建运行时函数(与通过API相同的结果,只是创建了一个聊天但没有消息出现),3)我尝试应用Twilio Sync,还有4)我尝试使用直接使用Twilio代理。
我可以获取所有创建的对象的sid
并查看在Flex界面上创建的聊天,但是在Flex的UI上看不到发送给此聊天的消息。
event = {
'from': 'phone_number_from',
'to': 'flex_phone_number',
'body': 'Testing'
}
attrs = get_channel_attrs(event.get('from'))
channel = get_or_create_chat_channel(event.get('from'), event.get('to'), attrs)
print('Channel created: %s' % channel.sid)
task = get_or_create_ongoing_tasks(event.get('from'), channel.sid)
print('Task created: %s' % task.sid)
message = send_message(channel=channel, from_=event.get('from'), body=event.get('body'))
print('Message created: %s' % message.sid)
-----------------------
Channel created: CH99b4831f********************
Task created: WTe8eee516********************
Message created: IM08884be42********************
答案 0 :(得分:0)
您可能需要设置其他属性才能使聊天任务显示在Flex中。这是通过网络聊天和Taskrouter中的SMS通过Taskrouter属性的示例。这些任务都显示在Flex中。
网络聊天:
{"channelSid":"CHc7221e1c8ac04b4d9f45xxxxxxxxxxxx","name":"Jane","channelType":"web"}
短信:
{"channelSid":"CH86818963afed4d769fb3xxxxxxxxxxxx","endpoint":"sms","identity":"+15555555555","name":"+15555555555","title":"SMS request"}
答案 1 :(得分:0)
Aaron,我遇到了类似的问题,并试图查看Flex Create Chat功能,但它不存在。当我单击“创建函数”并按flex产品过滤时,仅提供blan函数模板,它将生成此函数代码:
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
// twiml.say("Hello World");
callback(null, twiml);
};