Added moving users between audio channels

This commit is contained in:
RogueException
2015-12-09 22:03:05 -04:00
parent 218c5bce6f
commit c471fc51f5
3 changed files with 9 additions and 6 deletions

View File

@@ -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;
} }

View File

@@ -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)

View File

@@ -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");
@@ -218,7 +218,8 @@ 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, mute: mute, deaf: deaf,
roleIds: roleIds); voiceChannelId: voiceChannel?.Id,
roleIds: roleIds);
} }
public Task KickUser(User user) public Task KickUser(User user)