From 5ac320312d22c67cd5992f405968a48250264301 Mon Sep 17 00:00:00 2001 From: RogueException Date: Sun, 26 Jun 2016 21:00:39 -0300 Subject: [PATCH] Added CommandService.Unload(Module) overload --- src/Discord.Net.Commands/CommandService.cs | 12 ++++++++++++ src/Discord.Net.Commands/Module.cs | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/Discord.Net.Commands/CommandService.cs b/src/Discord.Net.Commands/CommandService.cs index 6c089d262..01613a3a3 100644 --- a/src/Discord.Net.Commands/CommandService.cs +++ b/src/Discord.Net.Commands/CommandService.cs @@ -190,6 +190,18 @@ namespace Discord.Commands } } + public async Task Unload(Module module) + { + await _moduleLock.WaitAsync().ConfigureAwait(false); + try + { + return UnloadInternal(module.Instance); + } + finally + { + _moduleLock.Release(); + } + } public async Task Unload(object module) { await _moduleLock.WaitAsync().ConfigureAwait(false); diff --git a/src/Discord.Net.Commands/Module.cs b/src/Discord.Net.Commands/Module.cs index c2a7d4280..0f7edb551 100644 --- a/src/Discord.Net.Commands/Module.cs +++ b/src/Discord.Net.Commands/Module.cs @@ -10,11 +10,13 @@ namespace Discord.Commands public CommandService Service { get; } public string Name { get; } public IEnumerable Commands { get; } + internal object Instance { get; } internal Module(CommandService service, object instance, TypeInfo typeInfo) { Service = service; Name = typeInfo.Name; + Instance = instance; List commands = new List(); SearchClass(instance, commands, typeInfo);