Example #1
0
        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");
        }
Example #2
0
        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.");
            }
        }
Example #3
0
        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.");
            }
        }
Example #4
0
        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);
        }