diff --git a/samples/02_commands_framework/Modules/PublicModule.cs b/samples/02_commands_framework/Modules/PublicModule.cs index f30dfd73f..2bb15dd4a 100644 --- a/samples/02_commands_framework/Modules/PublicModule.cs +++ b/samples/02_commands_framework/Modules/PublicModule.cs @@ -49,6 +49,32 @@ namespace _02_commands_framework.Modules await ReplyAsync("ok!"); } + // Unban a user + [Command("unban")] + [RequireContext(ContextType.Guild)] + // make sure the user invoking the coomand can unban + [RequireUserPermission(GuildPermission.BanMembers)] + // make sure the bot itself can unban + [RequireBotPermission(GuildPermission.BanMembers)] + public async Task UnbanUserAsync(IGuildUser user) + { + await user.Guild.RemoveBanAsync(user); + await ReplyAsync("ok!"); + } + + // Kick a user + [Command("kick")] + [RequireContext(ContextType.Guild)] + // make sure the user invoking the coomand can kick + [RequireUserPermission(GuildPermission.KickMembers)] + // make sure the bot itself can kick + [RequireBotPermission(GuildPermission.KickMembers)] + public async Task KickUserAsync(IGuildUser user, [Remainder] string reason = null) + { + await user.KickAsync(reason); + await ReplyAsync("ok!"); + } + // [Remainder] takes the rest of the command's arguments as one argument, rather than splitting every space [Command("echo")] public Task EchoAsync([Remainder] string text) @@ -59,5 +85,18 @@ namespace _02_commands_framework.Modules [Command("list")] public Task ListAsync(params string[] objects) => ReplyAsync("You listed: " + string.Join("; ", objects)); + + // Can be used to example put information + [Command("info")] + public async Task InformationAsync() + { + // Creates the pattern TextBlock + EmbedBuilder builder = new EmbedBuilder(); + //builder.AddField("title", ""); + builder.WithTitle("This is Discord!") + .WithColor(Color.Orange); + + await ReplyAsync("", false, builder.Build()); + } } }