From b8102a6767830f02c0c2593725112de51e3330ad Mon Sep 17 00:00:00 2001 From: RogueException Date: Thu, 20 Oct 2016 03:53:46 -0300 Subject: [PATCH] Default DependencyMap to an empty map when not supplied --- src/Discord.Net.Commands/CommandInfo.cs | 6 ++++++ src/Discord.Net.Commands/CommandService.cs | 2 ++ src/Discord.Net.Commands/Dependencies/DependencyMap.cs | 2 ++ 3 files changed, 10 insertions(+) diff --git a/src/Discord.Net.Commands/CommandInfo.cs b/src/Discord.Net.Commands/CommandInfo.cs index 770dfdb6b..47aae1ae2 100644 --- a/src/Discord.Net.Commands/CommandInfo.cs +++ b/src/Discord.Net.Commands/CommandInfo.cs @@ -87,6 +87,9 @@ namespace Discord.Commands public async Task CheckPreconditions(CommandContext context, IDependencyMap map = null) { + if (map == null) + map = DependencyMap.Empty; + foreach (PreconditionAttribute precondition in Module.Preconditions) { var result = await precondition.CheckPermissions(context, this, map).ConfigureAwait(false); @@ -150,6 +153,9 @@ namespace Discord.Commands } public async Task Execute(CommandContext context, IEnumerable argList, IEnumerable paramList, IDependencyMap map) { + if (map == null) + map = DependencyMap.Empty; + try { var args = GenerateArgs(argList, paramList); diff --git a/src/Discord.Net.Commands/CommandService.cs b/src/Discord.Net.Commands/CommandService.cs index c55f1541d..ef0dba7e7 100644 --- a/src/Discord.Net.Commands/CommandService.cs +++ b/src/Discord.Net.Commands/CommandService.cs @@ -195,6 +195,8 @@ namespace Discord.Commands => Execute(context, context.Message.Content.Substring(argPos), dependencyMap, multiMatchHandling); public async Task Execute(CommandContext context, string input, IDependencyMap dependencyMap = null, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Exception) { + dependencyMap = dependencyMap ?? DependencyMap.Empty; + var searchResult = Search(context, input); if (!searchResult.IsSuccess) return searchResult; diff --git a/src/Discord.Net.Commands/Dependencies/DependencyMap.cs b/src/Discord.Net.Commands/Dependencies/DependencyMap.cs index d37d69e29..ba5995f26 100644 --- a/src/Discord.Net.Commands/Dependencies/DependencyMap.cs +++ b/src/Discord.Net.Commands/Dependencies/DependencyMap.cs @@ -7,6 +7,8 @@ namespace Discord.Commands { private Dictionary map; + public static DependencyMap Empty => new DependencyMap(); + public DependencyMap() { map = new Dictionary();