Передача управления от одного бота C # другому с помощью Direct Line и JavaScript - PullRequest
0 голосов
/ 08 октября 2019

У меня есть бот C # QnA Maker Web App, который использует карту Hero с OpenURL для вызова другой HTML5-страницы. На этой странице HTML5 есть Javascript, который вызывает другого бота C # Web App, используя Direct Line. Второй бот - это ChatBot. Есть ли способ запустить код Javascript Direct Line в боте QnA Maker Web App и обойти страницу HTML5? Я передаю параметры в ChatBot.

Я смотрел на использование Direct Line API в первом боте, однако я хочу передать управление ChatBot.

            (async function () {
                const res = await fetch('https://directline.botframework.com/v3/directline/tokens/generate', {
                method: 'POST',
                headers: {
                        'Authorization': 'Bearer ' + '[myToken]'
                },
                json: true
            });
            const { token } = await res.json();

        let location = window.location.href;

            let store = window.WebChat.createStore({}, ({ dispatch }) => next => action => {
                if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
                    dispatch({
                        type: 'WEB_CHAT/SEND_EVENT',
                        payload: {
                            name: 'start-chat',
                            value: {
                                    "user": "Web Chat User",
                            "name": fullname,
                                    "email" : email,
                                    "issue" : issue
                                }
                            }
                    });
            }
            return next(action);
            }
            );

            window.WebChat.renderWebChat({
            directLine: window.WebChat.createDirectLine({ token }),
            store,
            styleOptions: {
                    botAvatarInitials: 'botAgent',
                    userAvatarInitials: botuser
                }
            }, document.getElementById('webchat'));

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

Хотелось бы удалить страницу HTML5 и запустить Javascript Direct Line в C # QnA Maker Web App Bot. Есть ли способ сделать это?

...