public async Task UnmuteCmd(CommandContext ctx, DiscordUser targetUser) { DiscordGuild guild = ctx.Guild; DiscordChannel logChannel = await Program.discord.GetChannelAsync(Program.cfgjson.LogChannel); // todo: store per-guild DiscordRole mutedRole = guild.GetRole(Program.cfgjson.MutedRole); DiscordMember member = await guild.GetMemberAsync(targetUser.Id); if ((await Program.db.HashExistsAsync("mutes", targetUser.Id)) || member.Roles.Contains(mutedRole)) { await Mutes.UnmuteUserAsync(targetUser); await ctx.RespondAsync($"{Program.cfgjson.Emoji.Information} Successfully unmuted **{targetUser.Username}#{targetUser.Discriminator}**."); } else { try { await Mutes.UnmuteUserAsync(targetUser); await ctx.RespondAsync($"{Program.cfgjson.Emoji.Warning} According to Discord that user is not muted, but I tried to unnmute them anyway. Hope it works."); } catch (Exception e) { Console.WriteLine(e.ToString()); await ctx.RespondAsync($"{Program.cfgjson.Emoji.Error} That user doesn't appear to be muted, *and* an error ocurred while attempting to unmute them anyway. Please contact the bot owner, the error has been logged."); } } }
public async Task UnmuteCmd(CommandContext ctx, DiscordUser targetUser) { DiscordGuild guild = await Program.discord.GetGuildAsync(ctx.Guild.Id); DiscordChannel logChannel = await Program.discord.GetChannelAsync(Program.cfgjson.LogChannel); // todo: store per-guild DiscordRole mutedRole = guild.GetRole(Program.cfgjson.MutedRole); DiscordMember member = await guild.GetMemberAsync(targetUser.Id); if ((await Program.db.HashExistsAsync("mutes", targetUser.Id)) || member.Roles.Contains(mutedRole)) { await Mutes.UnmuteUserAsync(targetUser); await ctx.RespondAsync($"{Program.cfgjson.Emoji.Information} Successfully unmuted **{targetUser.Username}#{targetUser.Discriminator}**"); } else { await ctx.RespondAsync($"{Program.cfgjson.Emoji.Error} That user isn't muted!"); } }