首页 > 解决方案 > Microsoft Teams 中的模拟

问题描述

我正在尝试使用 Teams 中的 Microsoft Bot Framework 将消息转发给选定的用户。该功能在 Bot Emulator 中按预期工作,但在我的组织中使用 Teams 进行测试时(使用有效的用户 ID)

消息作为 Bot 直接发送给用户。

IMessageActivity newMessage = Activity.CreateMessageActivity();

newMessage.Type = ActivityTypes.Message;
newMessage.From = new ChannelAccount("Impersonated User ID", "Impersonated User Name");
newMessage.Conversation = context.Activity.Conversation;
newMessage.Recipient = new ChannelAccount("Recipient ID");
//newMessage.From.Name = "Stephane Fornaroli";
newMessage.ReplyToId = context.Activity.From.Id;
newMessage.Text = text;

await context.PostAsync(newMessage);

这也适用于频道对话,用于将消息转发到指定频道:

var messagee = JsonConvert.DeserializeObject<ConversationReference>(conversationReference).GetPostToBotMessage();
var channelData = context.Activity.ChannelData;

var message = Activity.CreateMessageActivity();

message.Text = text;
message.From = new ChannelAccount("Impersonated User ID", "Impersonated User Name");

var conversationParameters = new ConversationParameters
{
    IsGroup = true,
    ChannelData = channelData,
    Activity = (Activity)message
};
var connectorClient = new ConnectorClient(new Uri(messagee.ServiceUrl));

await connectorClient.Conversations.CreateConversationAsync(conversationParameters);

标签: c#botframeworkmicrosoft-teams

解决方案


One option would be to use Graph API to send message using delegate permissions from user. Note that currently this API is in beta and only supports sending plain text message.


推荐阅读