Как реализовать приветствие при первом запуске бота - НЛП из Google Dialogflow - PullRequest
0 голосов
/ 03 мая 2019

Как реализовать приветствие при первом запуске бота - NLP из Google Dialogflow.

Я разработал чатбот-намерение, сущности и NLP из Google Dialogflow и успешно интегрировал их с веб-чатом botframework в html-файл со ссылкой на этот URL.

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

Приветственное намерение от Google Dialogflow должно получить триггер из следующего кода по ссылке, указанной выше.

Но я не могу сначала запустить триггер бота.

Как вызвать событие Google Dialogflow из кода .

Я ожидаю того же, что и это

Примечание: также указано это URL

1 Ответ

0 голосов
/ 06 мая 2019

Когда пользователь присоединяется к WebChat, боту будет отправлено сообщение об обновлении беседы.Как только действие получено, вы можете проверить, был ли добавлен участник, и соответственно отправить приветственное сообщение.

Если вы используете обработчик активности, выпущенный в v4.3, вы можете просто добавить обработчик onMembersAdded и отправить оттуда приветственное сообщение.

class Bot extends ActivityHandler{

    constructor() {
        super();

        this.onMembersAdded(async (context, next) => {
            const { membersAdded } = context.activity;

            for (let member of membersAdded) {
                if (member.id !== context.activity.recipient.id) {
                   await context.sendActivity("Welcome Message!");
                }
            }
            await next();
        });

        ...
    }
}

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

async onTurn(turnContext) {
    if (turnContext.activity.type === ActivityTypes.ConversationUpdate) {
        if (turnContext.activity.membersAdded && turnContext.activity.membersAdded.length > 0) {
            for (let member of turnContext.activity.membersAdded) {
                if (member.id !== turnContext.activity.recipient.id) {
                     await turnContext.sendActivity("Welcome Message!");
                }
            }
        }
    } ...
}

Для получения более подробной информации об отправке приветственных сообщений, пожалуйста, взгляните на этот образец .

Надеюсь, это поможет!

...