using Discord.WebSocket; using DiscordBotCore.PluginCore.Interfaces; namespace DiscordBotCore.PluginManagement.Loading; public interface IPluginLoader { public IReadOnlyList Commands { get; } public IReadOnlyList Events { get; } public IReadOnlyList SlashCommands { get; } /// /// Sets the Discord client for the plugin loader. This is used to initialize the slash commands and events. /// /// The socket client that represents the running Discord Bot public void SetDiscordClient(DiscordSocketClient discordSocketClient); /// /// Loads all the plugins that are installed. /// public Task LoadPlugins(); /// /// Unload all plugins from the plugin manager. /// public void UnloadAllPlugins(); }