Как добавить действие, когда «DIRECT_LINE / CONNECT_FULFILLED» в прямом речевом веб-чате - PullRequest
0 голосов
/ 04 мая 2020

Я попробовал этот пример для отправки активности боту, когда соединение установлено, работает нормально. Теперь я хочу использовать прямую речь вместо веб-чата, здесь также есть образец здесь . Но как я могу добавить приветствие? Вот код, который я пробовал, но он не отправляет никаких действий

<script>
    (async function () {

        const adapters = await window.WebChat.createDirectLineSpeechAdapters({
            fetchCredentials: {
                region: 'region',
                subscriptionKey: 'my subscription key'
            }
        }, ({ dispatch }) => next => action => {
            if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
                dispatch({
                    type: 'WEB_CHAT/SEND_EVENT',
                    payload: {
                        name: 'webchat/join',
                        value: 'my username'
                    }
                });
            }

            return next(action);
        });

        window.WebChat.renderWebChat(
            {

                ...adapters
            },
            document.getElementById('webchat')
        );

        document.querySelector('#webchat > *').focus();
    })().catch(err => console.error(err));
</script>

1 Ответ

0 голосов
/ 04 мая 2020

Я заработал, добавив магазин, вот код

<script>
    (async function () {

        const store = window.WebChat.createStore({}, ({ dispatch }) => next => action => {
            if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
                dispatch({
                    type: 'WEB_CHAT/SEND_EVENT',
                    payload: {
                        name: 'webchat/join',
                        value: 'my username'
                    }
                });
            }

            return next(action);
        });

        const adapters = await window.WebChat.createDirectLineSpeechAdapters({
            fetchCredentials: {
                region: 'region',
                subscriptionKey: 'subscription key'
            }
        });


        window.WebChat.renderWebChat(
            {

                ...adapters, store
            },
            document.getElementById('webchat')
        );

        document.querySelector('#webchat > *').focus();
    })().catch(err => console.error(err));
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...