Я скачал пример кода с Упомяну пример ;
var mention = new Mention
{
Mentioned = turnContext.Activity.From, Text = $"<at>{turnContext.Activity.From.Name}</at>"
};
var replyActivity = MessageFactory.Text($"Hello {mention.Text}.");
replyActivity.Entities = new List<Entity> { mention };
await turnContext.SendActivityAsync(replyActivity, cancellationToken);
Я протестировал код с помощью эмулятора Bot Framework. Упомянутая пользовательская функция работает нормально, и я вижу, что 'Hello <at>User</at>'
возвращается как ответ бота в эмуляторе
При тестировании кода с помощью Microsoft Teams упомянутая пользовательская функция не работает. 'BadRequest'
В классе AdapterWithErrorHandler
выдано сообщение об ошибке.
На портале Azure (столбец Служба бот-> Каналы-> Команды Microsoft-> Предупреждения в работоспособности) отображается сообщение: Упомянутый объект не соответствует тексту.
Ожидаемый результат должен быть следующим: пользователь, который общается с ботом, будет упомянут в ответном сообщении бота. Кто-нибудь знает, почему он работает в эмуляторе, но не работает в MS-командах? Я пробовал использовать несколько разных версий пакетов Microsoft.Bot.Builder
(> = v4.3.3), все версии имеют одинаковую проблему.
Обновлено: я исправил эту проблему самостоятельно и закрыл ее. имя моей учетной записи в команде содержит специальный символ ' & ', из-за которого функция упоминания всегда не выполнялась. добавлена логика для обработки специальных символов в имени учетной записи канала. Исправлена ошибка Упомянутый объект не соответствует тексту
.