Browse Source

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

tags/3.8.0
Misha133 GitHub 2 years ago
parent
commit
cf25acdbc1
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions
  1. +5
    -0
      docs/guides/int_framework/intro.md
  2. +6
    -1
      docs/guides/int_framework/samples/intro/groupmodule.cs

+ 5
- 0
docs/guides/int_framework/intro.md 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,
> 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)]

## Executing Commands


+ 6
- 1
docs/guides/int_framework/samples/intro/groupmodule.cs View File

@@ -16,6 +16,11 @@ public class CommandGroupModule : InteractionModuleBase<SocketInteractionContext
// group-name subcommand-group-name echo
[SlashCommand("echo", "Echo an 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);
}
}

Loading…
Cancel
Save