* add Group Command Examples to int_framework intro * update subcommad group's name * added some comments t othe example code * fixed naming * added spaces in commentstags/3.6.0
| @@ -282,6 +282,8 @@ 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. | ||||
| [!code-csharp[Command Group Example](samples/intro/groupmodule.cs)] | |||||
| ## Executing Commands | ## Executing Commands | ||||
| Any of the following socket events can be used to execute commands: | Any of the following socket events can be used to execute commands: | ||||
| @@ -0,0 +1,21 @@ | |||||
| // You can put commands in groups | |||||
| [Group("group-name", "Group description")] | |||||
| public class CommandGroupModule : InteractionModuleBase<SocketInteractionContext> | |||||
| { | |||||
| // This command will look like | |||||
| // group-name ping | |||||
| [SlashCommand("ping", "Get a pong")] | |||||
| public async Task PongSubcommand() | |||||
| => await RespondAsync("Pong!"); | |||||
| // And even in sub-command groups | |||||
| [Group("subcommand-group-name", "Subcommand group description")] | |||||
| public class SubСommandGroupModule : InteractionModuleBase<SocketInteractionContext> | |||||
| { | |||||
| // This command will look like | |||||
| // group-name subcommand-group-name echo | |||||
| [SlashCommand("echo", "Echo an input")] | |||||
| public async Task EchoSubcommand(string input) | |||||
| => await RespondAsync(input); | |||||
| } | |||||
| } | |||||