|
|
@@ -39,24 +39,6 @@ namespace Discord.Rest |
|
|
|
var args = new TextChannelProperties(); |
|
|
|
func(args); |
|
|
|
|
|
|
|
var overwrites = new List<API.Overwrite>(); |
|
|
|
if (args.UserOverwrites.IsSpecified) |
|
|
|
overwrites.AddRange(args.UserOverwrites.Value.Select(x => new API.Overwrite() |
|
|
|
{ |
|
|
|
TargetId = x.Key, |
|
|
|
TargetType = PermissionTarget.User, |
|
|
|
Allow = x.Value.AllowValue, |
|
|
|
Deny = x.Value.DenyValue, |
|
|
|
})); |
|
|
|
if (args.RoleOverwrites.IsSpecified) |
|
|
|
overwrites.AddRange(args.RoleOverwrites.Value.Select(x => new API.Overwrite() |
|
|
|
{ |
|
|
|
TargetId = x.Key, |
|
|
|
TargetType = PermissionTarget.Role, |
|
|
|
Allow = x.Value.AllowValue, |
|
|
|
Deny = x.Value.DenyValue, |
|
|
|
})); |
|
|
|
|
|
|
|
var apiArgs = new API.Rest.ModifyTextChannelParams |
|
|
|
{ |
|
|
|
Name = args.Name, |
|
|
@@ -65,7 +47,15 @@ namespace Discord.Rest |
|
|
|
Topic = args.Topic, |
|
|
|
IsNsfw = args.IsNsfw, |
|
|
|
SlowModeInterval = args.SlowModeInterval, |
|
|
|
Overwrites = overwrites.Count != 0 ? Optional.Create(overwrites.ToArray()) : Optional.Create<API.Overwrite[]>(), |
|
|
|
Overwrites = args.PermissionOverwrites.IsSpecified |
|
|
|
? args.PermissionOverwrites.Value.Select(overwrite => new API.Overwrite |
|
|
|
{ |
|
|
|
TargetId = overwrite.TargetId, |
|
|
|
TargetType = overwrite.TargetType, |
|
|
|
Allow = overwrite.Permissions.AllowValue, |
|
|
|
Deny = overwrite.Permissions.DenyValue |
|
|
|
}).ToArray() |
|
|
|
: Optional.Create<API.Overwrite[]>(), |
|
|
|
}; |
|
|
|
return await client.ApiClient.ModifyGuildChannelAsync(channel.Id, apiArgs, options).ConfigureAwait(false); |
|
|
|
} |
|
|
|