Exemplo n.º 1
0
 internal Presence(JsonPresence jsonPresence)
 {
     Status = jsonPresence.Status switch
     {
         "online" => UserStatus.Online,
         "idle" => UserStatus.Idle,
         "dnd" => UserStatus.DoNotDisturb,
         "offline" => UserStatus.Offline,
         _ => UserStatus.Offline,
     };
 }
Exemplo n.º 2
0
            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);
            }
Exemplo n.º 3
0
        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);
        }