Browse Source

Apply consistency to attributes in the commands extension (#928)

* Apply consistency to attributes in the commands extension

This resolves #527.

Not sure if I missed any, putting this up for review.

* Allow preconditions to be used multiple times (for use with groups)
tags/2.0.0-beta
Christopher F GitHub 7 years ago
parent
commit
97397f3617
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 25 additions and 27 deletions
  1. +1
    -1
      src/Discord.Net.Commands/Attributes/AliasAttribute.cs
  2. +2
    -2
      src/Discord.Net.Commands/Attributes/CommandAttribute.cs
  3. +2
    -2
      src/Discord.Net.Commands/Attributes/DontAutoLoadAttribute.cs
  4. +1
    -1
      src/Discord.Net.Commands/Attributes/DontInjectAttribute.cs
  5. +2
    -2
      src/Discord.Net.Commands/Attributes/GroupAttribute.cs
  6. +1
    -1
      src/Discord.Net.Commands/Attributes/NameAttribute.cs
  7. +2
    -2
      src/Discord.Net.Commands/Attributes/OverrideTypeReaderAttribute.cs
  8. +1
    -2
      src/Discord.Net.Commands/Attributes/ParameterPreconditionAttribute.cs
  9. +2
    -2
      src/Discord.Net.Commands/Attributes/Preconditions/RequireContextAttribute.cs
  10. +2
    -2
      src/Discord.Net.Commands/Attributes/Preconditions/RequireNsfwAttribute.cs
  11. +2
    -3
      src/Discord.Net.Commands/Attributes/Preconditions/RequireOwnerAttribute.cs
  12. +1
    -1
      src/Discord.Net.Commands/Attributes/PriorityAttribute.cs
  13. +2
    -2
      src/Discord.Net.Commands/Attributes/RemainderAttribute.cs
  14. +2
    -2
      src/Discord.Net.Commands/Attributes/RemarksAttribute.cs
  15. +2
    -2
      src/Discord.Net.Commands/Attributes/SummaryAttribute.cs

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

@@ -3,7 +3,7 @@ using System;
namespace Discord.Commands
{
/// <summary> Provides aliases for a command. </summary>
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class AliasAttribute : Attribute
{
/// <summary> The aliases which have been defined for the command. </summary>


+ 2
- 2
src/Discord.Net.Commands/Attributes/CommandAttribute.cs View File

@@ -1,8 +1,8 @@
using System;
using System;

namespace Discord.Commands
{
[AttributeUsage(AttributeTargets.Method)]
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class CommandAttribute : Attribute
{
public string Text { get; }


+ 2
- 2
src/Discord.Net.Commands/Attributes/DontAutoLoadAttribute.cs View File

@@ -1,8 +1,8 @@
using System;
using System;

namespace Discord.Commands
{
[AttributeUsage(AttributeTargets.Class)]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
public class DontAutoLoadAttribute : Attribute
{
}


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

@@ -2,7 +2,7 @@ using System;

namespace Discord.Commands {

[AttributeUsage(AttributeTargets.Property)]
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public class DontInjectAttribute : Attribute {
}



+ 2
- 2
src/Discord.Net.Commands/Attributes/GroupAttribute.cs View File

@@ -1,8 +1,8 @@
using System;
using System;

namespace Discord.Commands
{
[AttributeUsage(AttributeTargets.Class)]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
public class GroupAttribute : Attribute
{
public string Prefix { get; }


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

@@ -3,7 +3,7 @@ using System;
namespace Discord.Commands
{
// Override public name of command/module
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Parameter)]
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
public class NameAttribute : Attribute
{
public string Text { get; }


+ 2
- 2
src/Discord.Net.Commands/Attributes/OverrideTypeReaderAttribute.cs View File

@@ -4,7 +4,7 @@ using System.Reflection;

namespace Discord.Commands
{
[AttributeUsage(AttributeTargets.Parameter)]
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
public class OverrideTypeReaderAttribute : Attribute
{
private static readonly TypeInfo _typeReaderTypeInfo = typeof(TypeReader).GetTypeInfo();
@@ -19,4 +19,4 @@ namespace Discord.Commands
TypeReader = overridenTypeReader;
}
}
}
}

+ 1
- 2
src/Discord.Net.Commands/Attributes/ParameterPreconditionAttribute.cs View File

@@ -1,6 +1,5 @@
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;

namespace Discord.Commands
{
@@ -9,4 +8,4 @@ namespace Discord.Commands
{
public abstract Task<PreconditionResult> CheckPermissionsAsync(ICommandContext context, ParameterInfo parameter, object value, IServiceProvider services);
}
}
}

+ 2
- 2
src/Discord.Net.Commands/Attributes/Preconditions/RequireContextAttribute.cs View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;

@@ -15,7 +15,7 @@ namespace Discord.Commands
/// <summary>
/// Require that the command be invoked in a specified context.
/// </summary>
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public class RequireContextAttribute : PreconditionAttribute
{
public ContextType Contexts { get; }


+ 2
- 2
src/Discord.Net.Commands/Attributes/Preconditions/RequireNsfwAttribute.cs View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Threading.Tasks;

namespace Discord.Commands
@@ -6,7 +6,7 @@ namespace Discord.Commands
/// <summary>
/// Require that the command is invoked in a channel marked NSFW
/// </summary>
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public class RequireNsfwAttribute : PreconditionAttribute
{
public override Task<PreconditionResult> CheckPermissionsAsync(ICommandContext context, CommandInfo command, IServiceProvider services)


+ 2
- 3
src/Discord.Net.Commands/Attributes/Preconditions/RequireOwnerAttribute.cs View File

@@ -1,7 +1,6 @@
#pragma warning disable CS0618
#pragma warning disable CS0618
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;

namespace Discord.Commands
{
@@ -9,7 +8,7 @@ namespace Discord.Commands
/// Require that the command is invoked by the owner of the bot.
/// </summary>
/// <remarks>This precondition will only work if the bot is a bot account.</remarks>
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public class RequireOwnerAttribute : PreconditionAttribute
{
public override async Task<PreconditionResult> CheckPermissionsAsync(ICommandContext context, CommandInfo command, IServiceProvider services)


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

@@ -3,7 +3,7 @@ using System;
namespace Discord.Commands
{
/// <summary> Sets priority of commands </summary>
[AttributeUsage(AttributeTargets.Method)]
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class PriorityAttribute : Attribute
{
/// <summary> The priority which has been set for the command </summary>


+ 2
- 2
src/Discord.Net.Commands/Attributes/RemainderAttribute.cs View File

@@ -1,8 +1,8 @@
using System;
using System;

namespace Discord.Commands
{
[AttributeUsage(AttributeTargets.Parameter)]
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
public class RemainderAttribute : Attribute
{
}


+ 2
- 2
src/Discord.Net.Commands/Attributes/RemarksAttribute.cs View File

@@ -1,9 +1,9 @@
using System;
using System;

namespace Discord.Commands
{
// Extension of the Cosmetic Summary, for Groups, Commands, and Parameters
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)]
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
public class RemarksAttribute : Attribute
{
public string Text { get; }


+ 2
- 2
src/Discord.Net.Commands/Attributes/SummaryAttribute.cs View File

@@ -1,9 +1,9 @@
using System;
using System;

namespace Discord.Commands
{
// Cosmetic Summary, for Groups and Commands
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Parameter)]
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
public class SummaryAttribute : Attribute
{
public string Text { get; }


Loading…
Cancel
Save