From d1ae0db741cdc796644025c1d0f8bd6fcf889e6a Mon Sep 17 00:00:00 2001 From: RogueException Date: Sat, 18 Jun 2016 15:51:44 -0300 Subject: [PATCH] Dont send nickname in User.Edit unless one is specified --- src/Discord.Net/API/Client/Rest/UpdateMember.cs | 2 +- src/Discord.Net/Models/User.cs | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Discord.Net/API/Client/Rest/UpdateMember.cs b/src/Discord.Net/API/Client/Rest/UpdateMember.cs index 5e3a52d6e..2e2054661 100644 --- a/src/Discord.Net/API/Client/Rest/UpdateMember.cs +++ b/src/Discord.Net/API/Client/Rest/UpdateMember.cs @@ -22,7 +22,7 @@ namespace Discord.API.Client.Rest public ulong? VoiceChannelId { get; set; } [JsonProperty("roles"), JsonConverter(typeof(LongStringArrayConverter))] public ulong[] RoleIds { get; set; } - [JsonProperty("nick", DefaultValueHandling = DefaultValueHandling.Ignore), DefaultValue("")] + [JsonProperty("nick", NullValueHandling = NullValueHandling.Ignore)] public string Nickname { get; set; } public UpdateMemberRequest(ulong guildId, ulong userId) diff --git a/src/Discord.Net/Models/User.cs b/src/Discord.Net/Models/User.cs index 8a98ddb81..48db1b045 100644 --- a/src/Discord.Net/Models/User.cs +++ b/src/Discord.Net/Models/User.cs @@ -272,14 +272,17 @@ namespace Discord } if (!isCurrentUser || isMuted != null || isDeafened != null | voiceChannel != null || roles != null) { - if (nickname == "") nickname = Nickname; + //Swap "" and null. Our libs meanings and the API's are flipped. + if (nickname == null) nickname = ""; + else if (nickname == "") nickname = null; + var request = new UpdateMemberRequest(Server.Id, Id) { IsMuted = isMuted ?? IsServerMuted, IsDeafened = isDeafened ?? IsServerDeafened, VoiceChannelId = voiceChannel?.Id, RoleIds = roleIds, - Nickname = nickname ?? "" + Nickname = nickname }; await Client.ClientAPI.Send(request).ConfigureAwait(false); }