我正在使用漫游器框架来创建聊天机器人。我在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框架中的日志。
答案 0 :(得分:0)
在两种情况下,自适应卡可以通过自适应提交动作来模拟imBack
:
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);