internal static SocketPresence Create(Model model)
        {
            var entity = new SocketPresence();

            entity.Update(model);
            return(entity);
        }
Esempio n. 2
0
        internal override void Update(PresenceModel model)
        {
            Presence ??= new SocketPresence();

            Presence.Update(model);
            GlobalUser.Update(model);
        }
Esempio n. 3
0
        internal static SocketPresence Create(Model model)
        {
            var clients    = ConvertClientTypesDict(model.ClientStatus.GetValueOrDefault());
            var activities = ConvertActivitiesList(model.Activities);

            return(new SocketPresence(model.Status, model.Game?.ToEntity(), clients, activities));
        }
Esempio n. 4
0
        internal static SocketGuildUser Create(SocketGuild guild, ClientState state, PresenceModel model)
        {
            var entity = new SocketGuildUser(guild, guild.Discord.GetOrCreateUser(state, model.User));

            entity.Update(state, model, false);
            return(entity);
        }
Esempio n. 5
0
        public override void Update(PresenceModel model, UpdateSource source)
        {
            base.Update(model, source);

            var game = model.Game != null ? new Game(model.Game) : null;

            //Presence = new Presence(game, model.Status);

            User.Update(model, source);
        }
Esempio n. 6
0
        internal static SocketGuildUser Create(SocketGuild guild, ClientState state, PresenceModel model)
        {
            var entity = new SocketGuildUser(guild, guild.Discord.GetOrCreateUser(state, model.User));

            entity.Update(state, model, false);
            if (!model.Roles.IsSpecified)
            {
                entity.UpdateRoles(new ulong[0]);
            }
            return(entity);
        }
Esempio n. 7
0
        public void Update(PresenceModel model, UpdateSource source)
        {
            //Race conditions are okay here. Multiple shards racing already cant guarantee presence in order.

            //lock (_lockObj)
            //{
            var game = model.Game != null ? new Game(model.Game) : null;

            Presence = new Presence(game, model.Status);
            //}
        }
Esempio n. 8
0
 internal override void Update(ClientState state, PresenceModel model)
 {
     base.Update(state, model);
     if (model.Roles.IsSpecified)
     {
         UpdateRoles(model.Roles.Value);
     }
     if (model.Nick.IsSpecified)
     {
         Nickname = model.Nick.Value;
     }
 }
Esempio n. 9
0
 internal SocketGuildUser AddOrUpdateUser(PresenceModel model)
 {
     if (_members.TryGetValue(model.User.Id, out SocketGuildUser member))
     {
         member.Update(Discord.State, model, false);
     }
     else
     {
         member = SocketGuildUser.Create(this, Discord.State, model);
         _members[member.Id] = member;
         DownloadedMemberCount++;
     }
     return(member);
 }
Esempio n. 10
0
        public virtual void Update(PresenceModel model, UpdateSource source)
        {
            if (source == UpdateSource.Rest && IsAttached)
            {
                return;
            }

            if (model.Roles.IsSpecified)
            {
                UpdateRoles(model.Roles.Value);
            }
            if (model.Nick.IsSpecified)
            {
                Nickname = model.Nick.Value;
            }
        }
Esempio n. 11
0
 internal void Update(ClientState state, PresenceModel model, bool updatePresence)
 {
     if (updatePresence)
     {
         Presence = SocketPresence.Create(model);
         GlobalUser.Update(state, model);
     }
     if (model.Nick.IsSpecified)
     {
         Nickname = model.Nick.Value;
     }
     if (model.Roles.IsSpecified)
     {
         UpdateRoles(model.Roles.Value);
     }
 }
Esempio n. 12
0
 internal void Update(ClientState state, PresenceModel model, bool updatePresence)
 {
     if (updatePresence)
     {
         Update(model);
     }
     if (model.Nick.IsSpecified)
     {
         Nickname = model.Nick.Value;
     }
     if (model.Roles.IsSpecified)
     {
         UpdateRoles(model.Roles.Value);
     }
     if (model.PremiumSince.IsSpecified)
     {
         _premiumSinceTicks = model.PremiumSince.Value?.UtcTicks;
     }
 }
Esempio n. 13
0
        public SocketGuildUser AddOrUpdateUser(PresenceModel model, DataStore dataStore, ConcurrentDictionary <ulong, SocketGuildUser> members = null)
        {
            members = members ?? _members;

            SocketGuildUser member;

            if (members.TryGetValue(model.User.Id, out member))
            {
                member.Update(model, UpdateSource.WebSocket);
            }
            else
            {
                var user = Discord.GetOrAddUser(model.User, dataStore);
                member           = new SocketGuildUser(this, user, model);
                members[user.Id] = member;
                DownloadedMemberCount++;
            }
            return(member);
        }
Esempio n. 14
0
 internal override void Update(ClientState state, PresenceModel model)
 {
 }
 internal void Update(Model model)
 {
     Status        = model.Status;
     ActiveClients = ConvertClientTypesDict(model.ClientStatus.GetValueOrDefault()) ?? ImmutableArray <ClientType> .Empty;
     Activities    = ConvertActivitiesList(model.Activities) ?? ImmutableArray <IActivity> .Empty;
 }
Esempio n. 16
0
 public GuildUser(Guild guild, User user, PresenceModel model)
     : this(guild, user)
 {
     Update(model, UpdateSource.Creation);
 }
Esempio n. 17
0
 internal void Update(ClientState state, PresenceModel model)
 {
     Presence  = SocketPresence.Create(model);
     DMChannel = state.DMChannels.FirstOrDefault(x => x.Recipient.Id == Id);
 }
Esempio n. 18
0
 internal virtual void Update(ClientState state, PresenceModel model)
 {
     Presence = SocketPresence.Create(model);
     Update(state, model.User);
 }
Esempio n. 19
0
 public SocketGuildUser(SocketGuild guild, SocketGlobalUser user, PresenceModel model)
     : base(guild, user, model)
 {
 }
Esempio n. 20
0
 internal virtual void Update(PresenceModel model)
 {
     Presence ??= new SocketPresence();
     Presence.Update(model);
 }
Esempio n. 21
0
 internal static SocketPresence Create(Model model)
 {
     return(new SocketPresence(model.Status, model.Game != null ? model.Game.ToEntity() : (Game?)null));
 }
Esempio n. 22
0
 internal static SocketPresence Create(Model model)
 {
     return(new SocketPresence(model.Status, model.Game?.ToEntity()));
 }
Esempio n. 23
0
 public void Update(PresenceModel model, UpdateSource source)
 {
     User.Update(model, source);
 }
Esempio n. 24
0
 internal void Update(ClientState state, PresenceModel model)
 {
     Presence = SocketPresence.Create(model);
 }