将chatbot集成到任何第三方消息传递API中

时间:2017-04-16 15:30:26

标签: api chat messaging chatbot messenger

我希望为来自多个平台的消息制作一个统一的“收件箱”,其中一些得到所有大型聊天机器人服务的广泛支持,比如Facebook Messenger,其他人比WhatsApp更加模糊,但其他人则不受支持(如Steam)网络聊天)。

我遇到过几种针对最受欢迎的信使进行某种“一键式”整合的解决方案,但我找不到一种可以让你整合第三方信使(理想情况下有一个API来阅读) /至少发送消息)进入类似聊天机器人的服务。那里有这样的东西吗?

PS:我并不真正关心花哨的AI会话支持,我只想收到所有的消息,比如说,我可以采取行动的一个webhook,并且还能够回复它们。

3 个答案:

答案 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)

我要做的是拥有一个Node.js后端。 将每个消息传递集成到它,然后将其指向API.AI。

所以流程将是这样的:

enter image description here

答案 2 :(得分:0)

有一项名为Message.io的服务,我相信你想要的。它们支持最广泛的平台。

Message.io位于您的机器人和消息传递平台之间,您从Message.io以标准化方式接收消息,并且当向用户发送消息时,它将其转换为您所用平台的适当格式回应。