微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BotFramework Composer 和 Slack Block 套件

如何解决BotFramework Composer 和 Slack Block 套件

如何使用 C# slack 适配器从 Bot Framework Composer Bot 发送 BlockKit 附件?

我正在尝试在 .lg 中使用它,但到达 slack 客户端的唯一消息是:值不能为空。 (参数'uriString')

NULL

解决方法

问题是第一个类型属性必须是“附件”。 否则对话框管理器将创建一个仅包含属性类型和属性内容的活动,它将添加我的 json:https://github.com/microsoft/botbuilder-dotnet/blob/c98feb7c58a5564cd8d31bedf050819af70058a3/libraries/Microsoft.Bot.Builder/ActivityFactory.cs#L210

然后 name 属性不在 att.name 下,而是在 att.content.name 下,这使得 slack 适配器在将 Activity 转换为 slack 消息时进入不同的路径,这需要传递一个 Uri,因此错误: https://github.com/microsoft/botbuilder-dotnet/blob/main/libraries/Adapters/Microsoft.Bot.Builder.Adapters.Slack/SlackHelper.cs#L56

有效的 json(只需要修改根的 type 属性):

{
    "type": "Attachment","name": "blocks","content": [
        {
            "type": "section","text": {
                "type": "mrkdwn","text": "${answer}"
            }
        },{
            "type": "divider"
        },...MORE JSON HERE....
    ]
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。