diff --git a/src/Discord.Net.Net45/Discord.Net.csproj b/src/Discord.Net.Net45/Discord.Net.csproj
index f3b59e9cf..a2592d251 100644
--- a/src/Discord.Net.Net45/Discord.Net.csproj
+++ b/src/Discord.Net.Net45/Discord.Net.csproj
@@ -337,6 +337,9 @@
API\Client\Rest\UpdateMessage.cs
+
+ API\Client\Rest\UpdateOwnNick.cs
+
API\Client\Rest\UpdateProfile.cs
@@ -601,7 +604,6 @@
TaskManager.cs
-
diff --git a/src/Discord.Net.Net45/API/Client/Rest/UpdateOwnNick.cs b/src/Discord.Net/API/Client/Rest/UpdateOwnNick.cs
similarity index 100%
rename from src/Discord.Net.Net45/API/Client/Rest/UpdateOwnNick.cs
rename to src/Discord.Net/API/Client/Rest/UpdateOwnNick.cs
diff --git a/src/Discord.Net/Models/User.cs b/src/Discord.Net/Models/User.cs
index 728247c2b..c3635cf02 100644
--- a/src/Discord.Net/Models/User.cs
+++ b/src/Discord.Net/Models/User.cs
@@ -247,7 +247,7 @@ namespace Discord
LastActivityAt = activity ?? DateTime.UtcNow;
}
- public Task Edit(bool? isMuted = null, bool? isDeafened = null, Channel voiceChannel = null, IEnumerable roles = null, string nickname = null)
+ public async Task Edit(bool? isMuted = null, bool? isDeafened = null, Channel voiceChannel = null, IEnumerable roles = null, string nickname = "")
{
if (Server == null) throw new InvalidOperationException("Unable to edit users in a private channel");
@@ -258,25 +258,25 @@ namespace Discord
.Distinct()
.ToArray();
- var tasks = new List();
- if (nickname != null && this == Server.CurrentUser)
+ bool isCurrentUser = Id == Server.CurrentUser.Id;
+ if (isCurrentUser && nickname != "")
{
- var task = Client.ClientAPI.Send(new UpdateOwnNick(Server.Id, nickname));
- if (isMuted == null && isDeafened == null && voiceChannel == null && roles == null)
- return task;
- tasks.Add(task);
- nickname = null;
+ var request = new UpdateOwnNick(Server.Id, nickname);
+ await Client.ClientAPI.Send(request).ConfigureAwait(false);
+ nickname = "";
}
- var request = new UpdateMemberRequest(Server.Id, Id)
+ if (!isCurrentUser || isMuted != null || isDeafened != null | voiceChannel != null || roles != null)
{
- IsMuted = isMuted ?? IsServerMuted,
- IsDeafened = isDeafened ?? IsServerDeafened,
- VoiceChannelId = voiceChannel?.Id,
- RoleIds = roleIds,
- Nickname = nickname ?? Nickname
- };
- tasks.Add(Client.ClientAPI.Send(request));
- return Task.WhenAll(tasks);
+ var request = new UpdateMemberRequest(Server.Id, Id)
+ {
+ IsMuted = isMuted ?? IsServerMuted,
+ IsDeafened = isDeafened ?? IsServerDeafened,
+ VoiceChannelId = voiceChannel?.Id,
+ RoleIds = roleIds,
+ Nickname = nickname ?? Nickname
+ };
+ await Client.ClientAPI.Send(request).ConfigureAwait(false);
+ }
}
public Task Kick()