Microsoft Bot Emulator "Извините, у моего бота-кода проблема", как мне отладить это?
У меня проблемы с моим MS.Bot.Framework + Luis + Azure
await Conversation.SendAsync(activity, () => { return Chain.From(() =>
new LUISDialog() as IDialog<object>); });
У меня активная подписка Azure, настроена конечная точка с ключами подписки.
При запуске эмулятора MS Bot я получаю сообщение об ошибке "Извините, у моего бота код проблемы". Используя точку останова в режиме отладки, я понял, что "новый LUISDialog" не запускается, кажется, он пропускается.
using System;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Builder.Luis;
using Microsoft.Bot.Builder.Luis.Models;
using System.Threading;
using George;
using Microsoft.Bot.Connector;
namespace Geoge.Dialog
{
[LuisModel("*****", "*****")]
[Serializable]
public class LUISDialog : LuisDialog<object>
{
[LuisIntent("Greeting")]
public async Task GreetingIntent(IDialogContext context,
IAwaitable<IMessageActivity> activity, LuisResult result)
{
string message = $"Hello there";
await context.PostAsync(message);
context.Wait(this.MessageReceived);
}
Кто-нибудь может мне с этим помочь? Я потратил много времени, пытаясь отладить, и думаю, что мне не хватает чего-то простого.
2 ответа
Что странно, так это ваша начальная строка кода:
await Conversation.SendAsync(activity, () => { return Chain.From(() => new LUISDialog() as IDialog<object>); });
Если вы хотите использовать свой LuisDialog
Вы не должны иметь это Chain
здесь, а что-то вроде следующего:
await Conversation.SendAsync(activity, () => new LUISDialog());
Я столкнулся с той же проблемой, хотя фрагмент кода был правильным. Это было исправлено после того, как я опубликовал свое приложение LUIS в Production. Также ошибка на эмуляторе говорит - Bad Request
Я думал, что это может помочь кому-то в будущем.