diff --git a/src/Discord.Net/DiscordClient.cs b/src/Discord.Net/DiscordClient.cs index e6fb2ffab..535a3eff9 100644 --- a/src/Discord.Net/DiscordClient.cs +++ b/src/Discord.Net/DiscordClient.cs @@ -77,7 +77,25 @@ namespace Discord public IEnumerable Regions => _regions.Select(x => x.Value); /// Initializes a new instance of the DiscordClient class. - public DiscordClient(DiscordConfig config = null) + public DiscordClient(Action configFunc) + : this(ProcessConfig(configFunc)) + { + } + private static DiscordConfig ProcessConfig(Action func) + { + var config = new DiscordConfig(); + func(config); + return config; + } + + /// Initializes a new instance of the DiscordClient class. + public DiscordClient() + : this((DiscordConfig)null) + { + } + + /// Initializes a new instance of the DiscordClient class. + public DiscordClient(DiscordConfig config) { Config = config ?? new DiscordConfig(); Config.Lock();