From a9d3f90cc227fbaf978f179868c08ae293515892 Mon Sep 17 00:00:00 2001 From: Jamaic230 Date: Mon, 16 Oct 2017 16:14:39 +0200 Subject: [PATCH 1/4] Update IModuleBase.cs --- src/Discord.Net.Commands/IModuleBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Discord.Net.Commands/IModuleBase.cs b/src/Discord.Net.Commands/IModuleBase.cs index 479724ae3..9dbffd672 100644 --- a/src/Discord.Net.Commands/IModuleBase.cs +++ b/src/Discord.Net.Commands/IModuleBase.cs @@ -6,6 +6,6 @@ void BeforeExecute(CommandInfo command); - void AfterExecute(CommandInfo command); + void AfterExecute(CommandInfo command, Exception exception); } } From cfea72b2e88270bfe89c0561b4a01749193ff9ee Mon Sep 17 00:00:00 2001 From: Jamaic230 Date: Mon, 16 Oct 2017 16:15:35 +0200 Subject: [PATCH 2/4] Update ModuleBase.cs --- src/Discord.Net.Commands/ModuleBase.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Discord.Net.Commands/ModuleBase.cs b/src/Discord.Net.Commands/ModuleBase.cs index f51656e40..062373424 100644 --- a/src/Discord.Net.Commands/ModuleBase.cs +++ b/src/Discord.Net.Commands/ModuleBase.cs @@ -19,7 +19,7 @@ namespace Discord.Commands { } - protected virtual void AfterExecute(CommandInfo command) + protected virtual void AfterExecute(CommandInfo command, Exception exception) { } @@ -32,6 +32,6 @@ namespace Discord.Commands void IModuleBase.BeforeExecute(CommandInfo command) => BeforeExecute(command); - void IModuleBase.AfterExecute(CommandInfo command) => AfterExecute(command); + void IModuleBase.AfterExecute(CommandInfo command, Exception exception) => AfterExecute(command, exception); } } From 42dec5a946383e715dd3fa3a51231fb1a41b5e19 Mon Sep 17 00:00:00 2001 From: Jamaic230 Date: Mon, 16 Oct 2017 16:19:45 +0200 Subject: [PATCH 3/4] Update ModuleClassBuilder.cs --- .../Builders/ModuleClassBuilder.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs b/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs index 5a3a1f25a..08c3ba2f8 100644 --- a/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs +++ b/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs @@ -201,7 +201,9 @@ namespace Discord.Commands { var instance = createInstance(services); instance.SetContext(context); - + + Exception exc = null; + try { instance.BeforeExecute(cmd); @@ -217,9 +219,14 @@ namespace Discord.Commands return ExecuteResult.FromSuccess(); } } + catch (Exception exception) + { + exc = exception; + throw; + } finally { - instance.AfterExecute(cmd); + instance.AfterExecute(cmd, exc); (instance as IDisposable)?.Dispose(); } } From 6255a22e4519eb3ba2220aa9fbde691d7b18dfed Mon Sep 17 00:00:00 2001 From: Jamaic230 Date: Mon, 16 Oct 2017 16:30:41 +0200 Subject: [PATCH 4/4] Update IModuleBase.cs --- src/Discord.Net.Commands/IModuleBase.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net.Commands/IModuleBase.cs b/src/Discord.Net.Commands/IModuleBase.cs index 9dbffd672..68cbae3c3 100644 --- a/src/Discord.Net.Commands/IModuleBase.cs +++ b/src/Discord.Net.Commands/IModuleBase.cs @@ -1,4 +1,6 @@ -namespace Discord.Commands +using System; + +namespace Discord.Commands { internal interface IModuleBase {