当LUIS返回时,避免发送错误消息" 403 Quota Exceeded"错误

时间:2018-01-30 15:13:00

标签: azure botframework luis azure-bot-service

我目前正在尝试使用botframework和LUIS设置聊天机器人。

LUIS有一个免费帐户,其中包含每月10,000个电话。当超过此限制时,应用程序将收到超过" 403配额超过"错误。

目前机器人正在回答错误,我希望忽略并在发生错误时不予回复。 enter image description here

我几乎使用BotBuilder示例代码: https://github.com/Microsoft/BotBuilder/tree/master/CSharp/Samples/SimpleEchoBot

MessageController Post操作中添加通用try / catch并不能解决问题。

[ResponseType(typeof(void))]
public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity)
{
    // check if activity is of type message
    if (activity != null && activity.GetActivityType() == ActivityTypes.Message)
    {
        try
        {
            await Conversation.SendAsync(activity, MakeRoot);
        }
        catch (Exception ex)
        {
            System.Diagnostics.Trace.TraceError(ex.Message);
        }
    }
    else
    {
        HandleSystemMessage(activity);
    }
    return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
}

internal static IDialog<object> MakeRoot()
{
    return Chain.From(() => new DefaultDialog());
}

DefaultDialog继承LuisDialog<T>类。

[LuisModel("---", "---", domain: "westeurope.api.cognitive.microsoft.com")]
[Serializable]
public class DefaultDialog : LuisDialog<object>
{
    [LuisIntent("")]
    public async Task None(IDialogContext context, LuisResult result)
    {
        context.Wait(MessageReceived);
    }
    ...
}

错误被抛出,我能够抓住它但机器人仍然会回答。

0 个答案:

没有答案