Beispiel #1
0
            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,
                });
            }
Beispiel #2
0
        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);
            }
        }