diff --git a/src/Discord.Net.Audio/AudioExtensions.cs b/src/Discord.Net.Audio/AudioExtensions.cs index 678b48615..eca362f80 100644 --- a/src/Discord.Net.Audio/AudioExtensions.cs +++ b/src/Discord.Net.Audio/AudioExtensions.cs @@ -1,4 +1,6 @@ -namespace Discord.Audio +using System; + +namespace Discord.Audio { public static class AudioExtensions { @@ -7,7 +9,14 @@ client.Services.Add(new AudioService(config)); return client; } - public static AudioService Audio(this DiscordClient client, bool required = true) + public static DiscordClient UsingAudio(this DiscordClient client, Action configFunc = null) + { + var config = new AudioServiceConfig(); + configFunc(config); + client.Services.Add(new AudioService(config)); + return client; + } + public static AudioService Audio(this DiscordClient client, bool required = true) => client.Services.Get(required); } } diff --git a/src/Discord.Net.Commands/CommandExtensions.cs b/src/Discord.Net.Commands/CommandExtensions.cs index 8a530583b..1ac1e030b 100644 --- a/src/Discord.Net.Commands/CommandExtensions.cs +++ b/src/Discord.Net.Commands/CommandExtensions.cs @@ -1,4 +1,6 @@ -namespace Discord.Commands +using System; + +namespace Discord.Commands { public static class CommandExtensions { @@ -7,6 +9,13 @@ client.Services.Add(new CommandService(config)); return client; } + public static DiscordClient UsingCommands(this DiscordClient client, Action configFunc = null) + { + var config = new CommandServiceConfig(); + configFunc(config); + client.Services.Add(new CommandService(config)); + return client; + } public static CommandService Commands(this DiscordClient client, bool required = true) => client.Services.Get(required); } diff --git a/src/Discord.Net.Modules/ModuleExtensions.cs b/src/Discord.Net.Modules/ModuleExtensions.cs index 5a0cb9abb..070ac9084 100644 --- a/src/Discord.Net.Modules/ModuleExtensions.cs +++ b/src/Discord.Net.Modules/ModuleExtensions.cs @@ -7,6 +7,7 @@ client.Services.Add(new ModuleService()); return client; } + public static DiscordClient AddModule(this DiscordClient client, T instance, string name = null, ModuleFilter filter = ModuleFilter.None) where T : class, IModule {