diff --git a/src/Discord.Net/Models/Server.cs b/src/Discord.Net/Models/Server.cs index 4c8e12960..168f55e90 100644 --- a/src/Discord.Net/Models/Server.cs +++ b/src/Discord.Net/Models/Server.cs @@ -37,7 +37,7 @@ namespace Discord public bool IsOwner => _client.CurrentUserId == _ownerId; /// Returns the user that first created this server. [JsonIgnore] - public Member Owner => _client.Members[_ownerId, Id]; + public Member Owner { get; private set; } /// Returns the id of the AFK voice channel for this server (see AFKTimeout). public string AFKChannelId { get; private set; } @@ -129,8 +129,11 @@ namespace Discord JoinedAt = model.JoinedAt.Value; if (model.Name != null) Name = model.Name; - if (model.OwnerId != null) + if (model.OwnerId != null && _ownerId != model.OwnerId) + { _ownerId = model.OwnerId; + Owner = _client.Members[_ownerId, Id]; + } if (model.Region != null) Region = model.Region; diff --git a/src/Discord.Net/Models/User.cs b/src/Discord.Net/Models/User.cs index 838fccdf4..e18f93ce7 100644 --- a/src/Discord.Net/Models/User.cs +++ b/src/Discord.Net/Models/User.cs @@ -213,7 +213,7 @@ namespace Discord uint newPermissions = 0x0; uint oldPermissions = permissions.RawValue; - if (Id == server.Owner.Id) + if (server.Owner == this) newPermissions = ChannelPermissions.All(channel).RawValue; else {