diff --git a/src/Discord.Net/Models/Server.cs b/src/Discord.Net/Models/Server.cs
index b7a9933dc..616e0b5eb 100644
--- a/src/Discord.Net/Models/Server.cs
+++ b/src/Discord.Net/Models/Server.cs
@@ -70,10 +70,6 @@ namespace Discord
public int AFKTimeout { get; private set; }
/// Gets the date and time you joined this server.
public DateTime JoinedAt { get; private set; }
- /// Gets the default channel for this server.
- public Channel DefaultChannel { get; private set; }
- /// Gets the the role representing all users in a server.
- public Role EveryoneRole { get; private set; }
/// Gets all extra features added to this server.
public IEnumerable Features { get; private set; }
/// Gets all custom emojis on this server.
@@ -93,6 +89,10 @@ namespace Discord
public string IconUrl => GetIconUrl(Id, IconId);
/// Gets the URL to this servers's splash image.
public string SplashUrl => GetSplashUrl(Id, SplashId);
+ /// Gets the default channel for this server.
+ public Channel DefaultChannel => GetChannel(Id);
+ /// Gets the the role representing all users in a server.
+ public Role EveryoneRole => GetRole(Id);
/// Gets a collection of all channels in this server.
public IEnumerable AllChannels => _channels.Select(x => x.Value);
@@ -119,7 +119,7 @@ namespace Discord
Client = client;
Id = id;
}
-
+
internal void Update(Guild model)
{
if (model.Name != null)
@@ -144,7 +144,6 @@ namespace Discord
var role = AddRole(x.Id);
role.Update(x, false);
}
- EveryoneRole = _roles[Id];
}
if (model.Emojis != null) //Needs Roles
{
@@ -171,7 +170,6 @@ namespace Discord
_channels = new ConcurrentDictionary(2, (int)(model.Channels.Length * 1.05));
foreach (var subModel in model.Channels)
AddChannel(subModel.Id, false).Update(subModel);
- DefaultChannel = _channels[Id];
}
if (model.MemberCount != null)
{
@@ -198,7 +196,7 @@ namespace Discord
}
}
}
-
+
/// Edits this server, changing only non-null attributes.
public Task Edit(string name = null, string region = null, Stream icon = null, ImageType iconType = ImageType.Png)
{
@@ -366,7 +364,7 @@ namespace Discord
if (name == null) throw new ArgumentNullException(nameof(name));
return _roles.Select(x => x.Value).Find(name, exactMatch);
}
-
+
/// Creates a new role.
public async Task CreateRole(string name, ServerPermissions? permissions = null, Color color = null, bool isHoisted = false)
{
@@ -405,16 +403,16 @@ namespace Discord
#region Permissions
internal ServerPermissions GetPermissions(User user)
- {
- Member member;
- if (_users.TryGetValue(user.Id, out member))
- return member.Permissions;
- else
- return ServerPermissions.None;
- }
-
- internal void UpdatePermissions(User user)
- {
+ {
+ Member member;
+ if (_users.TryGetValue(user.Id, out member))
+ return member.Permissions;
+ else
+ return ServerPermissions.None;
+ }
+
+ internal void UpdatePermissions(User user)
+ {
Member member;
if (_users.TryGetValue(user.Id, out member))
{
@@ -426,30 +424,30 @@ namespace Discord
channel.Value.UpdatePermissions(user);
}
}
- }
+ }
private bool UpdatePermissions(User user, ref ServerPermissions permissions)
- {
- uint newPermissions = 0;
-
- if (user.Id == _ownerId)
- newPermissions = ServerPermissions.All.RawValue;
- else
- {
- foreach (var serverRole in user.Roles)
- newPermissions |= serverRole.Permissions.RawValue;
- }
-
- if (newPermissions.HasBit((byte)PermissionBits.ManageRolesOrPermissions))
- newPermissions = ServerPermissions.All.RawValue;
-
- if (newPermissions != permissions.RawValue)
- {
- permissions = new ServerPermissions(newPermissions);
+ {
+ uint newPermissions = 0;
+
+ if (user.Id == _ownerId)
+ newPermissions = ServerPermissions.All.RawValue;
+ else
+ {
+ foreach (var serverRole in user.Roles)
+ newPermissions |= serverRole.Permissions.RawValue;
+ }
+
+ if (newPermissions.HasBit((byte)PermissionBits.ManageRolesOrPermissions))
+ newPermissions = ServerPermissions.All.RawValue;
+
+ if (newPermissions != permissions.RawValue)
+ {
+ permissions = new ServerPermissions(newPermissions);
return true;
- }
+ }
return false;
- }
+ }
#endregion
#region Users
@@ -540,5 +538,5 @@ namespace Discord
private Server() { } //Used for cloning
public override string ToString() => Name ?? Id.ToIdString();
- }
+ }
}