我希望为来自多个平台的消息制作一个统一的“收件箱”,其中一些得到所有大型聊天机器人服务的广泛支持,比如Facebook Messenger,其他人比WhatsApp更加模糊,但其他人则不受支持(如Steam)网络聊天)。
我遇到过几种针对最受欢迎的信使进行某种“一键式”整合的解决方案,但我找不到一种可以让你整合第三方信使(理想情况下有一个API来阅读) /至少发送消息)进入类似聊天机器人的服务。那里有这样的东西吗?
PS:我并不真正关心花哨的AI会话支持,我只想收到所有的消息,比如说,我可以采取行动的一个webhook,并且还能够回复它们。答案 0 :(得分:2)
API.ai没有集成池'体系结构,它将每个平台视为一个单独的集成或对话。鉴于此,您必须构建自己的服务器端消息池解决方案,该解决方案插入所有第三方API,然后在传递到API.ai之前在所有流中汇集/排队消息,并使用一些messageID /跟踪系统在您的服务器端解决方案,以记住使用API.ai响应响应哪个第三方API。这样的聚合/池函数应该可以工作:
var queue = [];
var queueProcessing = false;
function queueRequest(request) {
queue.push(request);
if (queueProcessing) {
return;
}
queueProcessing = true;
processQueue();
}
function processQueue() {
if (queue.length == 0) {
queueProcessing = false;
return;
}
var currentRequest = queue.shift();
//Send to API.ai
request(currentRequest, function(error, response, body) {
if (error || response.body.error) {
console.log("Error sending messages!");
}
processQueue();
});
}

答案 1 :(得分:1)
答案 2 :(得分:0)
有一项名为Message.io的服务,我相信你想要的。它们支持最广泛的平台。
Message.io位于您的机器人和消息传递平台之间,您从Message.io以标准化方式接收消息,并且当向用户发送消息时,它将其转换为您所用平台的适当格式回应。