From f7f514d1ff488dfa772edaefce96e006c97bf641 Mon Sep 17 00:00:00 2001 From: Chris Johnston Date: Fri, 5 Jan 2018 01:04:09 -0800 Subject: [PATCH] Added workaround for UserHelper#ModifyAsync that accepts null values as a way to reset user nicknames --- src/Discord.Net.Rest/Entities/Users/UserHelper.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Discord.Net.Rest/Entities/Users/UserHelper.cs b/src/Discord.Net.Rest/Entities/Users/UserHelper.cs index 562cfaae8..dfb81ff2c 100644 --- a/src/Discord.Net.Rest/Entities/Users/UserHelper.cs +++ b/src/Discord.Net.Rest/Entities/Users/UserHelper.cs @@ -48,6 +48,14 @@ namespace Discord.Rest else if (args.RoleIds.IsSpecified) apiArgs.RoleIds = args.RoleIds.Value.ToArray(); + /* + * Ensure that the nick passed in the params of the request is not null. + * string.Empty ("") is the only way to reset the user nick in the API, + * a value of null does not. This is a workaround. + */ + if (apiArgs.Nickname.IsSpecified && apiArgs.Nickname.Value == null) + apiArgs.Nickname = new Optional(string.Empty); + await client.ApiClient.ModifyGuildMemberAsync(user.GuildId, user.Id, apiArgs, options).ConfigureAwait(false); return args; }