Интегрируйте чат-бота в любой сторонний API обмена сообщениями

Я хочу создать единый «почтовый ящик» для сообщений с разных платформ, некоторые из них широко поддерживаются всеми основными сервисами чат-ботов, такими как Facebook Messenger, другие менее понятны, как WhatsApp, но другие просто не поддерживаются (например, Steam Web Chat) .

Я столкнулся с несколькими решениями, которые имеют своего рода интеграцию "в один щелчок" для самых популярных мессенджеров, но я не могу найти ни одного, которое позволило бы вам интегрировать сторонние мессенджеры (в идеале у которых есть API для чтения / отправки сообщений. по крайней мере) в сервис, похожий на чат-бота. Есть такая штука?

PS: Меня не волнует причудливая диалоговая поддержка AI, я просто хотел бы получать все сообщения, скажем, в один веб-перехватчик, с которым я мог бы действовать, а также иметь возможность отвечать на них.


person lima    schedule 16.04.2017    source источник
comment
Не совсем уверен, что вы ищете, это такая служба, как api.ai или wit.ai, которая объединяет больше клиентов для обмена сообщениями? Вам нужна интеграция в один клик или можно немного отдохнуть от api?   -  person Eliahu Horwitz    schedule 23.04.2017
comment
Я думаю, что повторяюсь здесь, но давайте попробуем другие слова: я хочу иметь возможность получать сообщения, поступающие из разных источников (Facebook Messenger, WhatsApp и т. Д.), И действовать в соответствии с ними (отвечать, запускать другие действия) без подписки к нескольким сервисам чат-ботов и перепишите один и тот же код. Но самое главное, мне нужно иметь возможность интегрировать другие службы обмена сообщениями, предоставляя соответствующие конечные точки API / REST. Интеграция в один клик была бы хороша, но не нужна, если бы я мог подключить их сам. Я начинаю думать, что на указанную услугу действительно есть вакансия.   -  person lima    schedule 23.04.2017
comment
По сути, это что-то вроде api.ai, но позволяющее мне указывать определенные конечные точки API для пула сообщений (или веб-перехватчиков для их получения, или чего-то еще), загружать их в свою систему и отвечать на них.   -  person lima    schedule 23.04.2017
comment
Кстати, удалось ли вам интегрироваться с WhatsApp - вы правы, решения кажутся довольно непонятными? Это API, который вы использовали? market.mashape.com/datayuge/whatsapp   -  person Matt R O'Connor    schedule 24.04.2017


Ответы (3)


API.ai не имеет архитектуры «пула интеграции», он рассматривает каждую платформу как отдельную интеграцию или диалог. Учитывая это, вам придется создать собственное решение для пула сообщений на стороне сервера, которое подключается ко всем вашим сторонним API, а затем объединяет / ставит сообщения в очередь во всех потоках перед переходом на API.ai, а также с некоторой системой отслеживания сообщений / сообщений на вашем сервере. решение на стороне сервера, позволяющее запомнить, на какой сторонний API следует отвечать ответом API.ai. Что-то вроде этого как функция агрегирования / объединения должна работать:

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();
    });
}

person Matt R O'Connor    schedule 24.04.2017

Я бы сделал бэкэнд Node.js. Направьте на него каждую интеграцию обмена сообщениями, а затем направьте ее в API.AI.

Итак, поток будет таким:

введите здесь описание изображения

person Eliahu Horwitz    schedule 23.04.2017
comment
Цените совет, но я стараюсь сам не писать всю интеграцию, в идеале api.ai мог бы предоставить какую-то функциональность плагина, чтобы разработчикам не приходилось повторять этот процесс снова и снова для одних и тех же платформ обмена сообщениями, и они могли бы обнаружить уже интегрированные сообществом. Но я знаю, что это лучше всего подходит для них в качестве предложения функции. - person lima; 24.04.2017
comment
Я согласен с вами, но по моему собственному опыту, интеграция в 1 клик в api ai неглубокая и немного ограничивает вас. Если вы хотите выполнить какие-либо манипуляции до того, как он попадет в api ai, вам в любом случае понадобится бэкэнд - person Eliahu Horwitz; 25.04.2017

Существует служба под названием Message.io, которая верит в то, что вы хотите. Они поддерживают самый широкий спектр платформ.

Message.io находится между вашим ботом и платформами обмена сообщениями, вы получаете сообщения стандартным способом из Message.io, а при отправке сообщений пользователям он преобразует их в соответствующий формат для платформы, на которую вы отвечаете.

person Jon Church    schedule 28.04.2017