internal void UpdateSettings(JsonUserSettings jsonUserSettings) { var settings = new UserSettings(jsonUserSettings, _client); Settings = settings; Guard.IsNotNull(CurrentUser, nameof(CurrentUser)); CurrentUser.Presence = new Presence(new JsonPresence() { Status = jsonUserSettings.Status, }); }
internal UserSettings(JsonUserSettings jsonUserSettings, QuarrelClient context) : base(context) { GuildOrder = jsonUserSettings.GuildOrder; IsDeveloperMode = jsonUserSettings.DeveloperMode; RenderReactions = jsonUserSettings.RenderReactions; RenderEmbeds = jsonUserSettings.RenderEmbeds; InlineEmbedMedia = jsonUserSettings.InlineEmbedMedia; InlineAttachmentMedia = jsonUserSettings.InlineAttachementMedia; Locale = jsonUserSettings.Locale; ShowCurrentGame = jsonUserSettings.ShowCurrentGame; ContentFilterLevel = jsonUserSettings.ExplicitContentFilter; RestrictedGuilds = jsonUserSettings.RestrictedGuilds; Status = jsonUserSettings.Status switch { "online" => UserStatus.Online, "idle" => UserStatus.Idle, "afk" => UserStatus.AFK, "dnd" => UserStatus.DoNotDisturb, "invisible" => UserStatus.Invisible, "offline" or _ => UserStatus.Offline, }; Theme = jsonUserSettings.Theme switch { "light" => Theme.Light, "dark" or _ => Theme.Dark, }; Folders = new GuildFolder[jsonUserSettings.GuildFolders.Length]; for (int i = 0; i < jsonUserSettings.GuildFolders.Length; i++) { Folders[i] = new GuildFolder(jsonUserSettings.GuildFolders[i], context); } }