【问题标题】:How to post user and bot activities to conversation如何将用户和机器人活动发布到对话中
【发布时间】:2019-06-03 17:58:19
【问题描述】:

我已经实现了 bot,它使用会话 ID 作为键将所有发送和接收的活动作为活动对象 (JSON) 保存到表存储中。

当用户重新连接到对话时,我想使用相关的对话 ID 从表存储发送所有活动。

问题是机器人最初发送的活动可以正常工作,但用户活动在对话中不可见。我已经使用 Botframework Emulator 对此进行了测试。不会触发任何错误。 我想我没有正确创建活动。

这是我的代码(confJSONObj 包含之前保存的活动信息)

var confJSONObj = JsonConvert.DeserializeObject<Activity>(logEntry.ActivityJson);

if (confJSONObj.Type.Contains("message"))
{
    IMessageActivity message2 = Activity.CreateMessageActivity();
    message2.Recipient = confJSONObj.Recipient;
    message2.From = confJSONObj.From;
    message2.Conversation = confJSONObj.Conversation;
    message2.ChannelId = confJSONObj.ChannelId;
    message2.Text = confJSONObj.Text;
    message2.Speak = confJSONObj.Text;
    message2.Locale = confJSONObj.Locale;
    message2.Type = confJSONObj.Type;
    message2.Id = confJSONObj.Id;
    message2.Timestamp = confJSONObj.Timestamp;
    message2.LocalTimestamp = confJSONObj.LocalTimestamp;
    message2.ServiceUrl = confJSONObj.ServiceUrl;
    message2.TextFormat = confJSONObj.TextFormat;
    message2.ChannelData = confJSONObj.ChannelData;
    message2.Attachments = confJSONObj.Attachments;

    await connector.Conversations.SendToConversationAsync((Activity)message2);
}

【问题讨论】:

    标签: botframework


    【解决方案1】:

    最初由机器人发送的活动可以正常工作,但用户活动是 不可见

    这是因为 WebChat 控件不支持重新显示源自用户的消息(通常,WebChat 控件从控件底部的文本框接收用户消息,而不是从服务器接收)。

    目前,在 WebChat 控件中重播聊天记录不是受支持的功能。这个拉取请求:https://github.com/Microsoft/BotFramework-WebChat/pull/615 用于 WebChat 控件是朝这个方向迈出的一步:但它还没有被合并或发布(而且,为了使它成为功能齐全的功能)。

    这里有一个 .net sdk bot:https://github.com/JasonSowers/ChatHistoryBot-Public,它使用分叉的 WebChat 从数据库中恢复历史记录。但是,这是一个不受支持和维护的实现。

    已经广泛讨论了在 WebChat 中回放对话历史记录所需的内容:https://github.com/Microsoft/BotFramework-WebChat/issues/365 请随时为该讨论做出贡献。

    【讨论】:

    • 感谢您的回复。知道什么时候将 Issue 365 包含在 WebChat 的正式版本中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2018-06-22
    • 1970-01-01
    相关资源
    最近更新 更多