@@ -84,7 +84,9 @@ namespace Discord.API | |||||
public bool? Mute; | public bool? Mute; | ||||
[JsonProperty("deaf", NullValueHandling = NullValueHandling.Ignore)] | [JsonProperty("deaf", NullValueHandling = NullValueHandling.Ignore)] | ||||
public bool? Deaf; | 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))] | [JsonConverter(typeof(EnumerableLongStringConverter))] | ||||
public IEnumerable<long> Roles; | public IEnumerable<long> Roles; | ||||
} | } | ||||
@@ -150,12 +150,12 @@ namespace Discord | |||||
} | } | ||||
//Users | //Users | ||||
public Task EditUser(long serverId, long userId, bool? mute = null, bool? deaf = null, IEnumerable<long> roleIds = null) | |||||
public Task EditUser(long serverId, long userId, bool? mute = null, bool? deaf = null, long? voiceChannelId = null, IEnumerable<long> roleIds = null) | |||||
{ | { | ||||
if (serverId <= 0) throw new ArgumentOutOfRangeException(nameof(serverId)); | if (serverId <= 0) throw new ArgumentOutOfRangeException(nameof(serverId)); | ||||
if (userId <= 0) throw new ArgumentOutOfRangeException(nameof(userId)); | 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); | return _rest.Patch(Endpoints.ServerMember(serverId, userId), request); | ||||
} | } | ||||
public Task KickUser(long serverId, long userId) | public Task KickUser(long serverId, long userId) | ||||
@@ -203,7 +203,7 @@ namespace Discord | |||||
return query; | return query; | ||||
} | } | ||||
public Task EditUser(User user, bool? mute = null, bool? deaf = null, IEnumerable<Role> roles = null, EditMode rolesMode = EditMode.Set) | |||||
public Task EditUser(User user, bool? mute = null, bool? deaf = null, Channel voiceChannel = null, IEnumerable<Role> roles = null, EditMode rolesMode = EditMode.Set) | |||||
{ | { | ||||
if (user == null) throw new ArgumentNullException(nameof(user)); | if (user == null) throw new ArgumentNullException(nameof(user)); | ||||
if (user.IsPrivate) throw new InvalidOperationException("Unable to edit users in a private channel"); | 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; | var serverId = user.Server.Id; | ||||
return _api.EditUser(serverId, user.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) | public Task KickUser(User user) | ||||