BotFramework中Slack的短暂响应

时间:2017-01-14 14:02:21

标签: botframework

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

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

1 个答案:

答案 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"

Documentation for sourceEvent() here.