Added required parameter to GetService
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
{
|
{
|
||||||
public static class CommandExtensions
|
public static class CommandExtensions
|
||||||
{
|
{
|
||||||
public static CommandService Commands(this DiscordClient client)
|
public static CommandService Commands(this DiscordClient client, bool required = true)
|
||||||
=> client.GetService<CommandService>();
|
=> client.GetService<CommandService>(required);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
namespace Discord.Commands.Permissions.Levels
|
||||||
|
|
||||||
namespace Discord.Commands.Permissions.Levels
|
|
||||||
{
|
{
|
||||||
public class PermissionLevelChecker : IPermissionChecker
|
public class PermissionLevelChecker : IPermissionChecker
|
||||||
{
|
{
|
||||||
@@ -12,10 +10,8 @@ namespace Discord.Commands.Permissions.Levels
|
|||||||
|
|
||||||
internal PermissionLevelChecker(DiscordClient client, int minPermissions)
|
internal PermissionLevelChecker(DiscordClient client, int minPermissions)
|
||||||
{
|
{
|
||||||
_service = client.GetService<PermissionLevelService>();
|
_service = client.GetService<PermissionLevelService>(true);
|
||||||
_minPermissions = minPermissions;
|
_minPermissions = minPermissions;
|
||||||
if (_service == null)
|
|
||||||
throw new InvalidOperationException($"{nameof(PermissionLevelService)} must be added to {nameof(DiscordClient)} before this function is called.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool CanRun(Command command, User user, Channel channel)
|
public bool CanRun(Command command, User user, Channel channel)
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
namespace Discord.Commands.Permissions.Userlist
|
||||||
|
|
||||||
namespace Discord.Commands.Permissions.Userlist
|
|
||||||
{
|
{
|
||||||
public class BlacklistChecker : IPermissionChecker
|
public class BlacklistChecker : IPermissionChecker
|
||||||
{
|
{
|
||||||
@@ -8,9 +6,7 @@ namespace Discord.Commands.Permissions.Userlist
|
|||||||
|
|
||||||
internal BlacklistChecker(DiscordClient client)
|
internal BlacklistChecker(DiscordClient client)
|
||||||
{
|
{
|
||||||
_service = client.GetService<BlacklistService>();
|
_service = client.GetService<BlacklistService>(true);
|
||||||
if (_service == null)
|
|
||||||
throw new InvalidOperationException($"{nameof(BlacklistService)} must be added to {nameof(DiscordClient)} before this function is called.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool CanRun(Command command, User user, Channel channel)
|
public bool CanRun(Command command, User user, Channel channel)
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
namespace Discord.Commands.Permissions.Userlist
|
||||||
|
|
||||||
namespace Discord.Commands.Permissions.Userlist
|
|
||||||
{
|
{
|
||||||
public class WhitelistChecker : IPermissionChecker
|
public class WhitelistChecker : IPermissionChecker
|
||||||
{
|
{
|
||||||
@@ -8,9 +6,7 @@ namespace Discord.Commands.Permissions.Userlist
|
|||||||
|
|
||||||
internal WhitelistChecker(DiscordClient client)
|
internal WhitelistChecker(DiscordClient client)
|
||||||
{
|
{
|
||||||
_service = client.GetService<WhitelistService>();
|
_service = client.GetService<WhitelistService>(true);
|
||||||
if (_service == null)
|
|
||||||
throw new InvalidOperationException($"{nameof(WhitelistService)} must be added to {nameof(DiscordClient)} before this function is called.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool CanRun(Command command, User user, Channel channel)
|
public bool CanRun(Command command, User user, Channel channel)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
{
|
{
|
||||||
public static class ModuleExtensions
|
public static class ModuleExtensions
|
||||||
{
|
{
|
||||||
public static ModuleService Modules(this DiscordClient client)
|
public static ModuleService Modules(this DiscordClient client, bool required = true)
|
||||||
=> client.GetService<ModuleService>();
|
=> client.GetService<ModuleService>(required);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,9 +109,7 @@ namespace Discord.Modules
|
|||||||
|
|
||||||
public void CreateCommands(string prefix, Action<CommandGroupBuilder> config)
|
public void CreateCommands(string prefix, Action<CommandGroupBuilder> config)
|
||||||
{
|
{
|
||||||
var commandService = _client.Commands();
|
var commandService = _client.Commands(true);
|
||||||
if (commandService == null)
|
|
||||||
throw new InvalidOperationException($"{nameof(CommandService)} must be added to DiscordClient before this property is accessed.");
|
|
||||||
commandService.CreateGroup(prefix, x =>
|
commandService.CreateGroup(prefix, x =>
|
||||||
{
|
{
|
||||||
x.Category(_name);
|
x.Category(_name);
|
||||||
|
|||||||
@@ -280,15 +280,20 @@ namespace Discord
|
|||||||
obj.Install(this);
|
obj.Install(this);
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
public T GetService<T>()
|
public T GetService<T>(bool required = true)
|
||||||
where T : class, IService
|
where T : class, IService
|
||||||
{
|
{
|
||||||
IService service;
|
IService service;
|
||||||
|
T serviceT = null;
|
||||||
if (_services.TryGetValue(typeof(T), out service))
|
if (_services.TryGetValue(typeof(T), out service))
|
||||||
return service as T;
|
serviceT = service as T;
|
||||||
else
|
else
|
||||||
return null;
|
return null;
|
||||||
}
|
|
||||||
|
if (serviceT == null && required)
|
||||||
|
throw new InvalidOperationException($"This operation requires {nameof(T)} to be added to {nameof(DiscordClient)}.");
|
||||||
|
return serviceT;
|
||||||
|
}
|
||||||
|
|
||||||
protected override IEnumerable<Task> GetTasks()
|
protected override IEnumerable<Task> GetTasks()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user