diff --git a/src/Discord.Net/API/Messages/Members.cs b/src/Discord.Net/API/Messages/Members.cs index 9d120dd18..eb14990bc 100644 --- a/src/Discord.Net/API/Messages/Members.cs +++ b/src/Discord.Net/API/Messages/Members.cs @@ -84,7 +84,9 @@ namespace Discord.API public bool? Mute; [JsonProperty("deaf", NullValueHandling = NullValueHandling.Ignore)] public bool? Deaf; - [JsonProperty("roles", NullValueHandling = NullValueHandling.Ignore)] + [JsonProperty("channel_id", NullValueHandling = NullValueHandling.Ignore)] + public long? ChannelId; + [JsonProperty("roles", NullValueHandling = NullValueHandling.Ignore)] [JsonConverter(typeof(EnumerableLongStringConverter))] public IEnumerable Roles; } diff --git a/src/Discord.Net/DiscordAPIClient.cs b/src/Discord.Net/DiscordAPIClient.cs index 272d0d16b..d728267ba 100644 --- a/src/Discord.Net/DiscordAPIClient.cs +++ b/src/Discord.Net/DiscordAPIClient.cs @@ -150,12 +150,12 @@ namespace Discord } //Users - public Task EditUser(long serverId, long userId, bool? mute = null, bool? deaf = null, IEnumerable roleIds = null) + public Task EditUser(long serverId, long userId, bool? mute = null, bool? deaf = null, long? voiceChannelId = null, IEnumerable roleIds = null) { if (serverId <= 0) throw new ArgumentOutOfRangeException(nameof(serverId)); if (userId <= 0) throw new ArgumentOutOfRangeException(nameof(userId)); - var request = new EditMemberRequest { Mute = mute, Deaf = deaf, Roles = roleIds }; + var request = new EditMemberRequest { Mute = mute, Deaf = deaf, ChannelId = voiceChannelId, Roles = roleIds }; return _rest.Patch(Endpoints.ServerMember(serverId, userId), request); } public Task KickUser(long serverId, long userId) diff --git a/src/Discord.Net/DiscordClient.Users.cs b/src/Discord.Net/DiscordClient.Users.cs index f6d4ed30b..4373ba91e 100644 --- a/src/Discord.Net/DiscordClient.Users.cs +++ b/src/Discord.Net/DiscordClient.Users.cs @@ -203,7 +203,7 @@ namespace Discord return query; } - public Task EditUser(User user, bool? mute = null, bool? deaf = null, IEnumerable roles = null, EditMode rolesMode = EditMode.Set) + public Task EditUser(User user, bool? mute = null, bool? deaf = null, Channel voiceChannel = null, IEnumerable roles = null, EditMode rolesMode = EditMode.Set) { if (user == null) throw new ArgumentNullException(nameof(user)); if (user.IsPrivate) throw new InvalidOperationException("Unable to edit users in a private channel"); @@ -217,8 +217,9 @@ namespace Discord var serverId = user.Server.Id; return _api.EditUser(serverId, user.Id, - mute: mute, deaf: deaf, - roleIds: roleIds); + mute: mute, deaf: deaf, + voiceChannelId: voiceChannel?.Id, + roleIds: roleIds); } public Task KickUser(User user)