public async Task Unmute(CommandContext ctx, [Description("Server user to unmute")][RemainingText] DiscordMember member, [Description("Reason for the deafen")][RemainingText] string reason = null) { await member.SetMuteAsync(false, reason).ConfigureAwait(false); await BotServices.RemoveMessage(ctx.Message).ConfigureAwait(false); await BotServices.SendUserStateChangeAsync(ctx, UserStateChange.Unmute, member, reason ?? "No reason provided"); }
public async Task Deafen(CommandContext ctx, [Description("Server user to deafen")] DiscordMember member, [Description("Reason for the deafen")][RemainingText] string reason = null) { if (member.IsDeafened) { await ctx.RespondAsync($"{member.DisplayName}#{member.Discriminator} is already **deafened**.").ConfigureAwait(false); } else { await member.SetDeafAsync(true, reason).ConfigureAwait(false); await BotServices.RemoveMessage(ctx.Message).ConfigureAwait(false); await BotServices.SendUserStateChangeAsync(ctx, UserStateChange.Deafen, member, reason ?? "No reason provided."); } }
public async Task Ban(CommandContext ctx, [Description("Server user to ban")] DiscordMember member, [Description("Reason for the ban")][RemainingText] string reason = null) { if (ctx.Member.Id == member.Id) { await ctx.RespondAsync("You cannot ban yourself.").ConfigureAwait(false); } else { await ctx.Guild.BanMemberAsync(member, 7, reason).ConfigureAwait(false); await BotServices.RemoveMessage(ctx.Message).ConfigureAwait(false); await BotServices.SendUserStateChangeAsync(ctx, UserStateChange.Ban, member, reason ?? "No reason provided."); } }
public async Task Kick(CommandContext ctx, [Description("Server user to kick.")] DiscordMember member, [Description("Reason for the kick.")][RemainingText] string reason = null) { if (ctx.Member.Id == member.Id) { await ctx.RespondAsync("You cannot kick yourself.").ConfigureAwait(false); return; } await member.RemoveAsync(reason).ConfigureAwait(false); await BotServices.RemoveMessage(ctx.Message).ConfigureAwait(false); await BotServices.SendUserStateChangeAsync(ctx, UserStateChange.Kick, member, reason ?? "No reason provided.").ConfigureAwait(false); }