From 7254691677436b9e365d09a05d81bdb65613aa82 Mon Sep 17 00:00:00 2001 From: RogueException Date: Sun, 25 Oct 2015 21:46:47 -0300 Subject: [PATCH] Fixed CreateRole --- src/Discord.Net/DiscordClient.Roles.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Discord.Net/DiscordClient.Roles.cs b/src/Discord.Net/DiscordClient.Roles.cs index 514aa12ab..b907f7e6a 100644 --- a/src/Discord.Net/DiscordClient.Roles.cs +++ b/src/Discord.Net/DiscordClient.Roles.cs @@ -84,11 +84,16 @@ namespace Discord if (name == null) throw new ArgumentNullException(nameof(name)); CheckReady(); - var response = await _api.CreateRole(server.Id).ConfigureAwait(false); - var role = _roles.GetOrAdd(response.Id, server.Id); - await _api.EditRole(server.Id, role.Id, name: name).ConfigureAwait(false); - response.Name = name; - role.Update(response); + var response1 = await _api.CreateRole(server.Id).ConfigureAwait(false); + var role = _roles.GetOrAdd(response1.Id, server.Id); + role.Update(response1); + + var response2 = await _api.EditRole(server.Id, role.Id, name: name).ConfigureAwait(false); + //TODO: We shouldnt have to send permissions here, should be fixed on Discord's end soon + await _api.EditRole(role.Server.Id, role.Id, + name: name, + permissions: role.Permissions.RawValue).ConfigureAwait(false); + role.Update(response2); return role; }