diff --git a/src/Discord.Net.Commands/Attributes/CommandAttribute.cs b/src/Discord.Net.Commands/Attributes/CommandAttribute.cs
index d4d9ee3b..dc680edc 100644
--- a/src/Discord.Net.Commands/Attributes/CommandAttribute.cs
+++ b/src/Discord.Net.Commands/Attributes/CommandAttribute.cs
@@ -18,6 +18,30 @@ namespace Discord.Commands
public RunMode RunMode { get; set; } = RunMode.Default;
public bool? IgnoreExtraArgs { get; }
+ ///
+ /// Attaches a summary to your command.
+ ///
+ ///
+ /// overrides the value of this property if present.
+ ///
+ public string Summary { get; set; }
+
+ ///
+ /// Marks the aliases for a command.
+ ///
+ ///
+ /// extends the base value of this if present.
+ ///
+ public string[] Aliases { get; set; }
+
+ ///
+ /// Attaches remarks to your commands.
+ ///
+ ///
+ /// overrides the value of this property if present.
+ ///
+ public string Remarks { get; set; }
+
///
public CommandAttribute()
{
@@ -32,10 +56,20 @@ namespace Discord.Commands
{
Text = text;
}
+
public CommandAttribute(string text, bool ignoreExtraArgs)
{
Text = text;
IgnoreExtraArgs = ignoreExtraArgs;
}
+
+ public CommandAttribute(string text, bool ignoreExtraArgs, string summary = default, string[] aliases = default, string remarks = default)
+ {
+ Text = text;
+ IgnoreExtraArgs = ignoreExtraArgs;
+ Summary = summary;
+ Aliases = aliases;
+ Remarks = remarks;
+ }
}
}
diff --git a/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs b/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs
index 9c4d5cc7..14a40d1f 100644
--- a/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs
+++ b/src/Discord.Net.Commands/Builders/ModuleClassBuilder.cs
@@ -154,6 +154,9 @@ namespace Discord.Commands
switch (attribute)
{
case CommandAttribute command:
+ builder.Summary ??= command.Summary;
+ builder.Remarks ??= command.Remarks;
+ builder.AddAliases(command.Aliases ?? Array.Empty());
builder.AddAliases(command.Text);
builder.RunMode = command.RunMode;
builder.Name ??= command.Text;