/// <inheritdoc /> public async Task UnConfigureGuildAsync(IGuild guild) { var config = await ModerationConfigRepository.ReadAsync(guild.Id); if (config != null) { IDeletable muteRole = guild.Roles.FirstOrDefault(x => x.Id == config.MuteRoleId); if (muteRole != null) { await muteRole.DeleteAsync(); } await ModerationConfigRepository.DeleteAsync(config.GuildId); } }
private async Task CreateOrUpdateConfig(IGuild guild, IRole muteRole) { var config = await ModerationConfigRepository.ReadAsync(guild.Id); if (config == null) { await ModerationConfigRepository.CreateAsync(new ModerationConfigCreationData() { GuildId = guild.Id, MuteRoleId = muteRole.Id }); } else if (muteRole.Id != config.MuteRoleId) { await ModerationConfigRepository.UpdateAsync(config.GuildId, data => { data.MuteRoleId = muteRole.Id; }); } }