【问题标题】:Send message from user to bot从用户向机器人发送消息
【发布时间】:2019-06-27 21:16:47
【问题描述】:

我正在使用机器人框架来创建一个聊天机器人。我在 Microsoft Teams 中使用它。

我想以编程方式从用户向机器人发送消息。但我做不到。

我尝试使用直接线路,但它没有帮助我。我是这个机器人框架的新手。

var directLineSecret = "directlinesecretkey";
var client = new DirectLineClient(directLineSecret);
var conversation = await client.Conversations.StartConversationAsync();

var testActivity = new Activity
{
    From = new Microsoft.Bot.Connector.DirectLine.ChannelAccount(objectid, userName),
    Type = Microsoft.Bot.Connector.DirectLine.ActivityTypes.Message,
    Text = "Hello from the PCE!"
};

var response = await client.Conversations.PostActivityAsync(conversation.ConversationId, testActivity);

Activity userMessage = new Activity
{
    From = new Microsoft.Bot.Connector.DirectLine.ChannelAccount(objectid, userName),
    Text = "test",
    Type = Microsoft.Bot.Schema.ActivityTypes.Message
};

await client.Conversations.PostActivityAsync(conversation.ConversationId, testActivity);
await client.Conversations.PostActivityAsync(conversation.ConversationId, userMessage);

请帮我解决这个问题。执行此代码时,我在 var response 中得到响应,但未发送消息,也未在 bot 框架中看到日志。

【问题讨论】:

  • 谁能帮我解决这个问题?
  • “我想以编程方式从用户向机器人发送消息”您确定要以这种方式发送消息吗?查看您提供的代码,您似乎想从机器人发送给用户
  • 嗨@NicolasR 我不确定如何做到这一点,我对此非常陌生。但是是的,我想以编程方式将消息从用户发送到机器人。我看到了一种叫做 imback 的东西,但它不适用于自适应卡。我需要它与自适应卡一起使用
  • @NicolasR 知道如何解决这个问题吗?
  • @KyleDelaney 是的,这就是我想要的,你能帮我写代码吗

标签: c# botframework


【解决方案1】:

自适应卡片可以在两种情况下通过自适应提交操作模拟imBack

  1. 自适应卡必须没有输入元素
  2. 操作的Data 属性必须是字符串(要从用户发送的文本)

下面是一个示例,说明如何使用 AdaptiveCards NuGet 包在 BotBuilder v4 中创建和发送此类卡片:

var card = new AdaptiveCard
{
    Body = { new AdaptiveTextBlock("Adaptive Card") },
    Actions = { new AdaptiveSubmitAction { Title = "Say 'test'", Data = "test" } },
};

var reply = (Activity)MessageFactory.Attachment(new Attachment {
    ContentType = AdaptiveCard.ContentType,
    Content = card,
});

await turnContext.SendActivityAsync(reply);

【讨论】:

    猜你喜欢
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 2012-09-21
    • 1970-01-01
    • 2019-10-28
    • 2018-06-29
    相关资源
    最近更新 更多