docs: Add IgnoreGroupNames clarification to IF docs (#2374)

This commit is contained in:
Misha133
2022-08-01 14:39:11 +03:00
committed by GitHub
parent 06ed995122
commit cf25acdbc1
2 changed files with 11 additions and 1 deletions

View File

@@ -291,6 +291,11 @@ By nesting commands inside a module that is tagged with [GroupAttribute] you can
> Although creating nested module stuctures are allowed, > Although creating nested module stuctures are allowed,
> you are not permitted to use more than 2 [GroupAttribute]'s in module hierarchy. > you are not permitted to use more than 2 [GroupAttribute]'s in module hierarchy.
> [!NOTE]
> To not use the command group's name as a prefix for component or modal interaction's custom id set `ignoreGroupNames` parameter to `true` in classes with [GroupAttribute]
>
> However, you have to be careful to prevent overlapping ids of buttons and modals
[!code-csharp[Command Group Example](samples/intro/groupmodule.cs)] [!code-csharp[Command Group Example](samples/intro/groupmodule.cs)]
## Executing Commands ## Executing Commands

View File

@@ -16,6 +16,11 @@ public class CommandGroupModule : InteractionModuleBase<SocketInteractionContext
// group-name subcommand-group-name echo // group-name subcommand-group-name echo
[SlashCommand("echo", "Echo an input")] [SlashCommand("echo", "Echo an input")]
public async Task EchoSubcommand(string input) public async Task EchoSubcommand(string input)
=> await RespondAsync(input); => await RespondAsync(input, components: new ComponentBuilder().WithButton("Echo", $"echoButton_{input}").Build());
// Component interaction with ignoreGroupNames set to true
[ComponentInteraction("echoButton_*", true)]
public async Task EchoButton(string input)
=> await RespondAsync(input);
} }
} }