internal Presence(JsonPresence jsonPresence) { Status = jsonPresence.Status switch { "online" => UserStatus.Online, "idle" => UserStatus.Idle, "dnd" => UserStatus.DoNotDisturb, "offline" => UserStatus.Offline, _ => UserStatus.Offline, }; }
internal bool AddPresence(JsonPresence jsonPresence) { Guard.IsNotNull(jsonPresence.User, nameof(jsonPresence.User)); if (GetUser(jsonPresence.User.Id) is null) { AddUser(jsonPresence.User); } if (!_userMap.TryGetValue(jsonPresence.User.Id, out User user)) { return(false); } user.Presence = new Presence(jsonPresence); return(true); }
internal JsonPresence?ToJsonPresence() { User?user = Context.Users.GetUser(UserId); if (user is null) { return(null); } var jsonPresence = new JsonPresence() { GuildId = GuildId, Roles = Roles, User = user.ToRestUser(), }; if (Presence is not null) { jsonPresence.Status = Presence.Status.GetStringValue(); } return(jsonPresence); }