Updated Module engine

This commit is contained in:
2024-08-10 20:27:59 +03:00
parent 18a059af0e
commit 9c98d2e219
16 changed files with 355 additions and 124 deletions

View File

@@ -0,0 +1,13 @@
using System;
using DiscordBotCore.Interfaces.Modules;
namespace DiscordBotCore.Others.Exceptions;
public class ModuleMethodNotFound : Exception
{
private IModule _SearchedModule;
public ModuleMethodNotFound(IModule module, string methodName) : base($"Method not found {methodName} in module {module.Name}")
{
_SearchedModule = module;
}
}

View File

@@ -0,0 +1,15 @@
using System;
using DiscordBotCore.Interfaces.Modules;
namespace DiscordBotCore.Others.Exceptions;
public class ModuleNotFound : Exception
{
public ModuleNotFound(string moduleName) : base($"Module not found: {moduleName}")
{
}
public ModuleNotFound(ModuleType moduleType) : base($"No module with type {moduleType} found")
{
}
}

View File

@@ -0,0 +1,23 @@
using System.Collections.Generic;
using DiscordBotCore.Interfaces.Modules;
using DiscordBotCore.Modules;
namespace DiscordBotCore.Others.Exceptions;
public class RequireInstallModule
{
private List<ModuleType> RequiredModulesWithType { get; }
public RequireInstallModule()
{
RequiredModulesWithType = new List<ModuleType>();
}
public void AddType (ModuleType moduleType)
{
RequiredModulesWithType.Add(moduleType);
}
public bool RequireAny => RequiredModulesWithType.Count > 0;
public IList<ModuleType> RequiredModules => RequiredModulesWithType;
}