예제 #1
0
 public void ConfigureMiddlewares(IHyperaiApplicationBuilder app)
 {
     app.UseLogging();
     app.UseBlacklist();
     app.UseTranslator();
     app.UseBots();
     app.UseUnits();
 }
예제 #2
0
        /// <summary>
        ///     使插件生效
        /// </summary>
        private static void SearchConfigurePluginServices(IHyperaiApplicationBuilder app)
        {
            var plugins = PluginManager.Instance.GetManagedPlugins();

            foreach (var type in plugins)
            {
                var plugin = PluginManager.Instance.Activate(type);
                plugin.ConfigureServices(app.Services);
            }
        }
예제 #3
0
        /// <summary>
        /// 使插件生效
        /// </summary>
        private static void NothingToSay(IHyperaiApplicationBuilder app)
        {
            IEnumerable <Type> plugins = PluginManager.Instance.GetManagedPlugins();

            foreach (Type type in plugins)
            {
                PluginBase plugin = PluginManager.Instance.Activate(type);
                plugin.ConfigureServices(app.Services);
            }
        }
예제 #4
0
 public static IHyperaiApplicationBuilder Use <TM>(this IHyperaiApplicationBuilder builder) where TM : IMiddleware
 {
     builder.Use(typeof(TM));
     return(builder);
 }
예제 #5
0
 public static IHyperaiApplicationBuilder UseUnits(this IHyperaiApplicationBuilder builder)
 {
     builder.Use <UnitMiddleware>();
     return(builder);
 }
예제 #6
0
 /// <summary>
 /// 搜索插件并加载
 /// </summary>
 /// <param name="app"></param>
 /// <returns></returns>
 private static async Task FuckUnitTestButMyGuidelineTellMeItIsRequiredInHugeProjectsSoHaveToKeepItBYWSomeTestsMayNotWorkAndMissing(IHyperaiApplicationBuilder app)
 {
     foreach (string file in Directory.GetFiles(Path.Combine(Environment.CurrentDirectory, "plugins"), "*.nupkg"))
     {
         await PluginManager.Instance.LoadPackageAsync(file);
     }
 }
예제 #7
0
 public static IHyperaiApplicationBuilder UseBots(this IHyperaiApplicationBuilder app)
 {
     app.Use <BotMiddleware>();
     return(app);
 }
예제 #8
0
 public static IHyperaiApplicationBuilder UseBlacklist(this IHyperaiApplicationBuilder app)
 {
     app.Use <BlockMiddleware>();
     return(app);
 }
예제 #9
0
 public static IHyperaiApplicationBuilder UseLogging(this IHyperaiApplicationBuilder app)
 {
     app.Use <LoggingMiddleware>();
     return(app);
 }
예제 #10
0
 public static IHyperaiApplicationBuilder UseTranslator(this IHyperaiApplicationBuilder app)
 {
     app.Use <TranslatorMiddleware>();
     return(app);
 }