我是Botframework的新手,但我正在取得一些进展。我已经启动并运行了一个机器人,它适用于Slack中的DM聊天,但我希望我的机器人的响应只是在聊天室/群组中询问用户而不是向群组广播。
阅读Slack,看起来如果我将response_type设置为“ephemeral”,这应该可以解决问题。听起来很容易,但不知道我们是否有能力在对话框上下文/活动中覆盖它。有什么建议吗?
答案 0 :(得分:1)
如果您查看NodeJS SDK Documentation for Sessions并向下滚动到卡片部分,您会发现Message类的一个方便的小功能
Message.sourceEvent()
从同一文档页面:
SDK支持每张卡或附件都不实用 底层聊天服务支持的格式,所以我们有一个 Message.sourceEvent()方法,可用于发送自定义消息 &安培;通道本机模式中的附件。
这意味着您可以使用Message.sourceEvent()
完成您正在尝试的操作:更改外发邮件对象的结构。
以下是我尝试过的特定案例的代码段:
//test slack source event messaging
var msg = new botbuilder.Message(session).sourceEvent({
slack: {
response_type: "ephemeral",
text: "This is a test Slack message.",
attachments: [
{
text: "Test inlaid message."
}
]
}
});
当您将当前session
传递给Message()
课程时,它会填充消息中的所有地址信息,因此您不必执行任何操作。 You can see for yourself here in the documentation for the Message's constructor method.
然后,您只需调用sourceEvent()
并传入一个对象,其中包含您正在构建消息的通道的名称(在这种情况下为slack),然后填写所需的消息数据。这允许您定义response_type: "ephemeral"
。