public static async Task <Model> ModifyAsync(IVoiceChannel channel, BaseDiscordClient client, Action <VoiceChannelProperties> func, RequestOptions options) { var args = new VoiceChannelProperties(); func(args); var apiArgs = new API.Rest.ModifyVoiceChannelParams { Bitrate = args.Bitrate, Name = args.Name, Position = args.Position, UserLimit = args.UserLimit.IsSpecified ? (args.UserLimit.Value ?? 0) : Optional.Create <int>() }; return(await client.ApiClient.ModifyGuildChannelAsync(channel.Id, apiArgs, options).ConfigureAwait(false)); }