Browse Source

Ensure command completes before cleaning up

tags/1.0.0-rc2
RogueException 8 years ago
parent
commit
1c6eebf875
1 changed files with 3 additions and 2 deletions
  1. +3
    -2
      src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs

+ 3
- 2
src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs View File

@@ -160,14 +160,15 @@ namespace Discord.Commands


var createInstance = ReflectionUtils.CreateBuilder<IModuleBase>(typeInfo, service); var createInstance = ReflectionUtils.CreateBuilder<IModuleBase>(typeInfo, service);


builder.Callback = (ctx, args, map) =>
builder.Callback = async (ctx, args, map) =>
{ {
var instance = createInstance(map); var instance = createInstance(map);
instance.SetContext(ctx); instance.SetContext(ctx);
try try
{ {
instance.BeforeExecute(); instance.BeforeExecute();
return method.Invoke(instance, args) as Task ?? Task.Delay(0);
var task = method.Invoke(instance, args) as Task ?? Task.Delay(0);
await task.ConfigureAwait(false);
} }
finally finally
{ {


Loading…
Cancel
Save