Бот действует по-разному в Microsoft Teams - PullRequest
0 голосов
/ 27 марта 2019

Я развернул своего бота в командах Webchat, Skype и MS.

В OnTurnAsync методе я проверяю, если пользовательский ввод начинается с bnr, тогда я вызываю определенный метод.

if (turnContext.Activity.Text.ToLower().StartsWith("bnr"))
{
    string msg = RequestHandler.BnrCaller(turnContext.Activity.Text);
    await turnContext.SendActivityAsync(msg);
    return;
}

Отлично работает с Skype и Webchat, но с командами не работает на 100%, иногда работает.

[Изменить]

Я обнаружил, что это не работает, если я скопировал ввод в поле ввода, но когда я его набираю, он работает отлично!

Ответы [ 2 ]

0 голосов
/ 11 мая 2019

Итак, я обнаружил проблему с помощью app-insights.

Я добавил middleware, который регистрирует тело запроса в app-insights, и только что понял, что когда я копирую /вставьте сообщение вроде: «Привет», оно будет зарегистрировано в app-insights как-то вроде этого «\ r \ n \ n \ rHello \ r \ n \ n \ r \ n».Когда я наберу это, это будет просто зарегистрировано.Поэтому я просто удалил эти символы из запроса, и это работает!

0 голосов
/ 28 марта 2019

Сообщения, поступающие от Команд, имеют другую структуру. Текст сообщения начинается со слов <at>...</at>. Вы должны удалить это начало в компоненте Middleware и т. Д. Попробуйте посмотреть ваши входящие сообщения через NGROK на localhost: 4040 в вашем веб-браузере.

...