gpt4 book ai didi

c# - 我可以阻止 DeleteProfileScorable 在我的机器人中注册吗?

转载 作者:行者123 更新时间:2023-11-30 23:08:53 24 4
gpt4 key购买 nike

Bot Framework BotBuilder SDK 包含一个名为 DeleteProfileScorable 的可评分项,它将截获一条包含文本“/deleteprofile”的消息,并运行以下逻辑来清除用户的配置文件:

    protected override async Task PostAsync(IActivity item, string state, CancellationToken token)
{
this.stack.Reset();
botData.UserData.Clear();
botData.PrivateConversationData.Clear();
await botData.FlushAsync(token);
await botToUser.PostAsync(Resources.UserProfileDeleted);
}

我并不是故意在我的机器人中专门注册这个 Scorable,但它似乎是通过 Autofac DialogModule 注册的当我发送“/deleteprofile”时它会激活。我不想在我的生产应用程序中使用此功能 - 有什么方法可以抑制它的注册或运行吗?

最佳答案

删除 AutoFac 注册涉及重新创建容器,而不是添加未使用的注册。在这种情况下,用一个永远不会被使用的注册覆盖 '/deleteprofile' 注册似乎更简单。像这样的东西:

Conversation.UpdateContainer(b =>
{
b
.Register(c => new Regex("(?!x)x", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace))
.Keyed<Regex>(DialogModule.Key_DeleteProfile_Regex)
.SingleInstance();
});

通过对 Global.asax.cs Applicaiton_Start 方法的上述添加,删除配置文件可评分仍然存在,但没有文本与 RegEx 匹配:因此它被有效地禁用。

关于c# - 我可以阻止 DeleteProfileScorable 在我的机器人中注册吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46228045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com