From ce51473a5f22a5c3f18620be16175a9928c08800 Mon Sep 17 00:00:00 2001 From: RogueException Date: Wed, 30 Sep 2015 14:12:43 -0300 Subject: [PATCH] Added Server.EveryoneRole --- src/Discord.Net/Models/Server.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net/Models/Server.cs b/src/Discord.Net/Models/Server.cs index 2c5e35b55..aefc7798e 100644 --- a/src/Discord.Net/Models/Server.cs +++ b/src/Discord.Net/Models/Server.cs @@ -81,6 +81,10 @@ namespace Discord [JsonIgnore] public IEnumerable Users => _members.Select(x => _client.Users[x.Key]); + /// Return the id of the role representing all users in a server. + public string EveryoneRoleId { get; private set; } + /// Return the the role representing all users in a server. + public Role EveryoneRole => _client.Roles[EveryoneRoleId]; /// Returns a collection of the ids of all roles within this server. [JsonIgnore] public IEnumerable RoleIds => _roles.Select(x => x.Key); @@ -110,10 +114,14 @@ namespace Discord Region = model.Region; var roles = _client.Roles; + bool isEveryone = true; //Assumes first role is always everyone foreach (var subModel in model.Roles) { - var role = roles.GetOrAdd(subModel.Id, Id); + var role = roles.GetOrAdd(subModel.Id, Id, isEveryone); role.Update(subModel); + if (isEveryone) + EveryoneRoleId = subModel.Id; + isEveryone = false; } } internal void Update(API.ExtendedGuildInfo model)