Я прошу прощения, что документация не была легко найти. Упоминания еще не полностью поддерживаются как в dotnet, так и в Node SDK. Однако это возможно сделать с текущим Dotnet SDK. Редактировать: теперь это полностью поддерживается в обоих SDK
Ваш код выглядит довольно хорошо, за исключением того, что вы добавляете сущность к TurnContext
, а не к reply
I , думаю , это ваша проблема). Попробуйте это, которое я протестировал и работает:
var userId = "29:1lpScfExyzx-asdfasdfasdfasdf_fasdfasdfasdfasdfasdfasdfasdfasdfasdf";
var userName = "YourName";
var reply = turnContext.Activity.CreateReply();
reply.Text = $"<at>{ userName }</at> testing....";
var mentioned = new ChannelAccount()
{
Id = userId,
Name = userName
};
var entity = new Mention()
{
Mentioned = mentioned,
Text = $"<at>{ userName }</at>",
};
reply.Entities = new List<Entity>() { entity };
await turnContext.SendActivityAsync(reply);
Убедитесь, что reply.Text
содержит entity.Text
, иначе это не будет работать (в примере <at>{ userName }</at>
в обоих).
Если вы столкнулись с проблемами, Visual Studio не предоставляет много информации об ошибках. Однако если вы откроете Azure> Bot вашего веб-приложения> Каналы и посмотрите на проблемы каналов в группах, это даст немного больше информации о том, что может быть не так.
Команды также имеют Botbuilder Teams Dotnet SDK , в котором есть дополнительная документация и методы. Он действует как обертка вокруг Botbuilder SDk, чтобы упростить некоторые специфичные для команды вещи. Обратите внимание, что этот вариант довольно сложен для поиска и отличается от этого SDK , который поддерживает только ботов V3.