Browse Source

Log warning on non-public modules.

pull/676/head
Joe4evr 8 years ago
parent
commit
e73650b51f
2 changed files with 9 additions and 6 deletions
  1. +8
    -5
      src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs
  2. +1
    -1
      src/Discord.Net.Commands/CommandService.cs

+ 8
- 5
src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs View File

@@ -12,12 +12,12 @@ namespace Discord.Commands
{
private static readonly TypeInfo _moduleTypeInfo = typeof(IModuleBase).GetTypeInfo();

public static IEnumerable<TypeInfo> Search(Assembly assembly)
public static IEnumerable<TypeInfo> Search(Assembly assembly, CommandService service)
{
foreach (var type in assembly.ExportedTypes)
{
var typeInfo = type.GetTypeInfo();
if (IsValidModuleDefinition(typeInfo) &&
if (IsValidModuleDefinition(typeInfo, service) &&
!typeInfo.IsDefined(typeof(DontAutoLoadAttribute)))
{
yield return typeInfo;
@@ -59,7 +59,7 @@ namespace Discord.Commands
{
foreach (var typeInfo in subTypes)
{
if (!IsValidModuleDefinition(typeInfo))
if (!IsValidModuleDefinition(typeInfo, service))
continue;
if (builtTypes.Contains(typeInfo))
@@ -249,10 +249,13 @@ namespace Discord.Commands
return reader;
}

private static bool IsValidModuleDefinition(TypeInfo typeInfo)
private static bool IsValidModuleDefinition(TypeInfo typeInfo, CommandService service)
{
if (typeInfo.IsNotPublic)
service._cmdLogger.WarningAsync($"Module class {typeInfo.FullName} is not public. Commands from this module will be ignored.");

return _moduleTypeInfo.IsAssignableFrom(typeInfo) &&
!typeInfo.IsAbstract;
!typeInfo.IsAbstract;
}

private static bool IsValidCommandDefinition(MethodInfo methodInfo)


+ 1
- 1
src/Discord.Net.Commands/CommandService.cs View File

@@ -114,7 +114,7 @@ namespace Discord.Commands
await _moduleLock.WaitAsync().ConfigureAwait(false);
try
{
var types = ModuleClassBuilder.Search(assembly).ToArray();
var types = ModuleClassBuilder.Search(assembly, this).ToArray();
var moduleDefs = ModuleClassBuilder.Build(types, this);

foreach (var info in moduleDefs)


Loading…
Cancel
Save