Slack for BotFramework中的短暂响应



我是Botframework的新手,但正在取得一些重大进展。我已经启动并运行了一个机器人程序,它非常适用于Slack中的DM聊天,但我希望我的机器人程序的响应只是询问聊天室/群组中的用户,而不是向群组广播。

在Slack上阅读,如果我将response_type设置为"短暂",这应该可以解决问题。听起来可能很简单,但不知道我们是否有能力在对话框上下文/活动中覆盖它。有什么建议吗?

如果您查看会话的NodeJS SDK文档并向下滚动到Cards部分,您将发现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()类时,它会填充Message中的所有地址信息,因此您不必执行任何操作。您可以在这里看到Message的构造函数方法的文档。

然后,您只需调用sourceEvent()并传入一个对象,该对象带有您正在为其构建消息的通道的名称(在本例中为slack),然后填写所需的消息数据。这允许您定义response_type: "ephemeral"

此处为sourceEvent()的文档。

相关内容

最新更新