Как добавить предложения слов в область ввода чата бота, используя реаги js? - PullRequest
1 голос
/ 24 февраля 2020

Я создаю приложение chatbot с использованием botframework. Я использую React js в качестве внешнего интерфейса и ядро. net в качестве внутреннего интерфейса для создания токена. Поскольку область ввода в чате встроена в веб-чат, я не могу взять идентификатор или класс области ввода в чате. Я хочу добавить автопредставление боту всякий раз, когда в области ввода чата делается нажатие клавиши. Как это решить?

1 Ответ

0 голосов
/ 25 февраля 2020

Вы сказали:

Поскольку область ввода чата встроена в веб-чате, я не могу взять идентификатор или класс области ввода в чате.

Это означает, что ваш вопрос касается того, как прочитать пользовательский ввод из области ввода веб-чата и / или как программно записать текст в область ввода веб-чата. Я объяснил, как сделать обе эти вещи в своем ответе на ваш другой вопрос :

Веб-чат использует Redux , в котором есть Redux store , который может использовать Redux middleware . В веб-чате есть действие под названием WEB_CHAT/SET_SEND_BOX, которое можно использовать для ответа на то, что пользователь вводит в поле ввода текста, например:

const store = window.WebChat.createStore(
    {},
    store => next => action => {
        if (action.type === 'WEB_CHAT/SET_SEND_BOX') {
            const user_entered_text = action.payload.text;

            // Use the text to query the Azure database and display suggestions
        }
        return next(action);
    }
);

Когда пользователь нажимает на предложение или нажимая правую клавишу, вы можете использовать это же действие для изменения содержимого текстового поля следующим образом:

store.dispatch({
    type: 'WEB_CHAT/SET_SEND_BOX',
    payload: {
        text: user_selected_suggestion,
    }
});

В репозитории Web Chat samples , которые могут помочь с использование действий Redux в веб-чате

РЕДАКТИРОВАТЬ: С тех пор я понял, что вам может понадобиться способ получить доступ к элементу отправляющего ящика с целью позиционирования вашего нового всплывающего элемента. Вы упомянули, что хотите альтернативу jQuery, и я думаю, что jQuery не понадобится, если вы будете использовать объектную модель документа нормально. Это сообщение о переполнении стека может вам помочь: Получить элемент внутри элемента по классу и идентификатору - JavaScript

Как видно из этой темы, которую я связал ранее , авто -предложения не являются функцией веб-чата, и неуместно обращаться к Stack Overflow, чтобы попросить людей бесплатно создавать для вас новые функции. Если вы хотите создать эту функцию самостоятельно, я рекомендую продолжить изучение элементов пользовательского интерфейса , Веб-чат , HTML, JavaScript и Реагируют . Когда вы пытаетесь завершить свой проект, если вам когда-нибудь понадобится помощь с одной конкретной c проблемой , с которой вы столкнулись, тогда вам следует опубликовать вопрос о переполнении стека. Чтобы получить хороший ответ, вам нужно будет быть добросовестным , объясняя проделанную вами работу и то, что вы уже пробовали, и предоставляя ссылки на документы, на которые вы ссылались, и т. Д. c. Вопрос о том, как создать всю эту новую функцию веб-чата, слишком широк для переполнения стека, поэтому вот несколько примеров хороших вопросов, которые вы, возможно, в конечном итоге зададите после того, как приложите разумные усилия, чтобы самостоятельно найти ответ. :

  • Как найти идентификатор ранее существующего элемента на веб-странице, который я хочу изменить?
  • Какой тип элемента пользовательского интерфейса подходит для предложений автозаполнения в веб-браузер?
  • Как запросить базу данных Azure, чтобы найти предложения автозаполнения на основе введенного пользователем текста?

Обратите внимание, что эти примеры заданы c штук вопроса о том, как реализовать свой проект предложения слов. Если вы точно укажете c о том, что вам нужно, вы найдете подходящих экспертов, которые помогут вам решить ваши проблемы. Хотя я могу ответить на ваши вопросы, связанные с веб-чатом, когда вы расширяете сферу своего вопроса, чтобы включить в нее вещи, не связанные с веб-чатом, вам становится труднее найти одного человека, который может дать вам один ответ, потому что он ' Мне нужно быть экспертом во многих разных вещах.

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