Использование Bot Framework для отправки сообщения от имени пользователя

В настоящее время я пытаюсь принять голосовой ввод от пользователя, передать его в API-интерфейс Bing Speech для получения текста и передать этот текст в качестве ответа пользователя. Мне удалось получить текст от Bing, но я не знаю, как отправить этот текст в качестве ответа пользователя. Я просматривал GitHub, поэтому любые отзывы приветствуются. Соответствующий код ниже:

function(session){
    var bing = new client.BingSpeechClient('mykey');
    var results = '';
    var wave = fs.readFileSync('./new.wav');

    const text = bing.recognize(wave).then(result => {
      console.log('Speech To Text completed');
      console.log(result.header.lexical)
      console.log('\n');
      results.response = result.header.lexical;
    });
    }]

person GavinB    schedule 30.03.2017    source источник
comment
Обновление: разобрался (вроде). Чтобы воспользоваться возможностью отправки этого пользовательского ввода обратно, мне пришлось использовать другую карту. В контексте карты я могу использовать функцию imBack.   -  person GavinB    schedule 30.03.2017
comment
если вы решили свой собственный вопрос, опубликуйте его как ответ и примите его: чтобы сообщество могло учиться на вашем опыте. Спасибо.   -  person Eric Dahlvang    schedule 31.03.2017


Ответы (2)


Вы должны использовать session.send.

Я рекомендую вам взглянуть на intelligence-SpeechToText пример, где показан аналогичный сценарий.

person Ezequiel Jadib    schedule 30.03.2017
comment
Спасибо за ответ! Я взглянул на этот образец и начал работать с ним. Проблема с session.send заключается в том, что он позволяет боту отвечать пользователю. Я хочу пойти наоборот. Также спасибо за редактирование. - person GavinB; 30.03.2017
comment
Ха-ха да! У меня есть подозрение, что это как-то связано с Message, но я пока не обнаружил, что что-то выскочило. - person GavinB; 30.03.2017
comment
Я не видел, чтобы это делалось... Я даже не уверен, что это выполнимо... Честно говоря, сценарий, о котором вы думаете, действительно странный. Где вы читали об этом сценарии или где вы получили информацию о том, как сделать это с помощью Message? если вы хотите снова отправить текстовое сообщение боту, чтобы он мог что-то сделать с текстом, вы должны просто извлечь текст и обработать все в обратном вызове bing.recognize, не пытаясь эмулировать отправку сообщения от имени пользователя. - person Ezequiel Jadib; 30.03.2017
comment
Таким образом, мы определенно можем обрабатывать текст, как только получим его из Bing (и это здорово), но мы действительно стремились улучшить взаимодействие с пользователем. Чего мы пытались избежать, так это сценария, в котором нам пришлось бы заставить бота ответить «Что, как я слышал, было x». После разговора с командой я думаю, что это определенно то, от чего мы можем отказаться. Мы просто не знали, что это окажется так сложно! - person GavinB; 30.03.2017

Обновление: разобрался (вроде). Чтобы воспользоваться возможностью отправки этого пользовательского ввода обратно, мне пришлось использовать другую карту. В контексте карты я могу использовать функцию imBack

person GavinB    schedule 20.05.2017