public async Task ModifyAsync(Action <ModifyGuildMemberParams> func) { if (func == null) { throw new NullReferenceException(nameof(func)); } var args = new ModifyGuildMemberParams(); func(args); bool isCurrentUser = (await Discord.GetCurrentUserAsync().ConfigureAwait(false)).Id == Id; if (isCurrentUser && args._nickname.IsSpecified) { var nickArgs = new ModifyCurrentUserNickParams { Nickname = args._nickname.Value ?? "" }; await Discord.ApiClient.ModifyMyNickAsync(Guild.Id, nickArgs).ConfigureAwait(false); args._nickname = Optional.Create <string>(); //Remove } if (!isCurrentUser || args._deaf.IsSpecified || args._mute.IsSpecified || args._roleIds.IsSpecified) { await Discord.ApiClient.ModifyGuildMemberAsync(Guild.Id, Id, args).ConfigureAwait(false); Update(args, UpdateSource.Rest); } }
public async Task <IActionResult> ModifyCurrentUserNickAsync(Snowflake guildId, [FromBody] ModifyCurrentUserNickParams args) { args.Validate(); return(NoContent()); }