У меня есть бот, созданный с v4 Microsoft Bot Framework .Я могу успешно использовать этого бота в разделе «Тестирование в веб-чате» на портале Azure.Я также могу успешно использовать этого бота в приложении, которое я создал в Microsoft Teams.Теперь я хочу отправить уведомление из раздела «Тестирование в веб-чате» конкретному пользователю в группах.Например, в разделе «Тестирование в веб-чате» я хотел бы ввести
Hello someuser@mytenant.com
Когда это отправляется через раздел «Тестирование в веб-чате», я хочу показать «Привет"в командах Microsoft только someuser@mytenant.com
.Я успешно токенизировал строку из «Теста в веб-чате».Таким образом, я знаю, что я хочу отправить, и кому я хочу отправить это.Однако я не знаю, как на самом деле отправить его.
В настоящее время у меня в боте есть следующее:
public class EchoBot : ActivityHandler
{
private ConcurrentDictionary<string, ConversationReference> _conversationReferences;
public EchoBot(ConcurrentDictionary<string, ConversationReference> conversationReferences)
{
_conversationReferences = conversationReferencs;
}
private void AddConversationReference(Activity activity)
{
var reference = activity.GetConversationReference();
_conversationReferences.AddOrUpdate(reference.User.Id, reference, (key, newValue) => reference);
}
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> context, CancellationToken cancellationToken)
{
AddConversationReference(context.Activity as Activity);
var parameters = GetParameters(); // Parses context.Activity.Text;
// Send a message to the target (i.e. someuser@mytenant.com)
var connection = new Microsoft.Bot.Connector.ConnectorClient(new Uri(context.Activity.ServiceUrl));
var tenant = context.Activity.GetChannelData<TeamsChannelData>().Tenant;
// how do I send the message to parameters.Target?
// Confirm message was sent to the sender
var confirmation = $"Message was sent to {parameters.Target}.";
await context.SendActivityAsync(MessageFactory.Text(confirmation));
}
}
Я рассмотрел, как отправлять проактивные уведомления напользователи .Однако мне не удалось а) получить пользователя, указанного в parameters.Target
, и б) отправить уведомление этому пользователю.Чего мне не хватает?