Added func-based UsingXXX extensions

This commit is contained in:
RogueException
2016-01-09 19:41:53 -04:00
parent 23ff457d37
commit 3ddd8b509b
3 changed files with 22 additions and 3 deletions

View File

@@ -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<AudioServiceConfig> 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<AudioService>(required);
}
}

View File

@@ -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<CommandServiceConfig> 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<CommandService>(required);
}

View File

@@ -7,6 +7,7 @@
client.Services.Add(new ModuleService());
return client;
}
public static DiscordClient AddModule<T>(this DiscordClient client, T instance, string name = null, ModuleFilter filter = ModuleFilter.None)
where T : class, IModule
{