使用 Bot Framework 代表用户发送消息
Posted
技术标签:
【中文标题】使用 Bot Framework 代表用户发送消息【英文标题】:Using the Bot Framework to send message on the user's behalf 【发布时间】:2017-03-30 17:35:21 【问题描述】:我目前正在尝试接受来自用户的语音输入,将其输入 Bing Speech API 以获取文本,并将该文本作为用户响应传递。我已经从 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;
);
]
【问题讨论】:
更新:想通了(排序)。为了利用发回这个用户输入,我不得不使用另一张卡。在卡片的上下文中,我可以使用imBack
函数。
如果您已经解决了自己的问题,请将其作为答案发布并接受:这样社区可以从您的经验中学习。谢谢。
【参考方案1】:
您应该使用session.send
。
我建议您查看intelligence-SpeechToText 示例,其中显示了类似的场景。
【讨论】:
感谢您的回复!我已经查看了该示例并开始使用它。session.send
的问题在于它允许机器人响应用户。我正在寻找相反的方式。另外,感谢您的编辑。
哈哈是的!我有一种预感,它与Message
有关,但我还没有发现什么东西跳出来。
我还没有看到这样做......我什至不确定它是否可行......老实说,你认为它真的很奇怪的场景。你在哪里读到了那个场景或者你从哪里得到了关于用 Message 做这件事的信息?如果您要做的是再次将文本消息发送给机器人,以便它可以对文本执行某些操作,您应该只提取文本并在 bing.recognize 的回调中处理所有内容,而不是尝试模拟发送消息代表用户。
因此,一旦我们从 Bing 获取文本(这很棒),我们肯定可以处理文本,但我们确实希望增强用户体验。我们试图避免的情况是我们必须让机器人用“我听到的是 x”来回应。和球队聊过之后,我觉得这绝对是我们可以放弃的。我们只是不知道它会被证明如此困难!【参考方案2】:
更新:想通了(排序)。为了利用发回这个用户输入,我不得不使用另一张卡。在卡片的上下文中,我可以使用 imBack 函数
【讨论】:
以上是关于使用 Bot Framework 代表用户发送消息的主要内容,如果未能解决你的问题,请参考以下文章
如何获取从 Bot Framework Composer 发送的消息的 ResourceResponse.Id
作为Microsoft团队usig图形api的bot通道中的bot发送给用户的消息
使用 Bot Framework 通过 NodeJS 发布到 Microsoft Teams 频道