Add User.AddRoles/RemoveRoles

This commit is contained in:
RogueException
2015-12-27 15:51:14 -04:00
parent dc4ca83a0d
commit 471fb10ebe

View File

@@ -239,7 +239,7 @@ namespace Discord
if (Server == null) throw new InvalidOperationException("Unable to edit users in a private channel");
//Modify the roles collection and filter out the everyone role
var roleIds = roles == null ? null : Roles.Where(x => !x.IsEveryone).Select(x => x.Id);
var roleIds = roles == null ? null : Roles.Where(x => !x.IsEveryone).Select(x => x.Id).Distinct();
var request = new UpdateMemberRequest(Server.Id, Id)
{
@@ -327,6 +327,15 @@ namespace Discord
return _roles.ContainsKey(role.Id);
}
public Task AddRoles(params Role[] roles)
{
return Edit(roles: Roles.Concat(roles));
}
public Task RemoveRoles(params Role[] roles)
{
return Edit(roles: Roles.Except(roles));
}
#endregion
public override bool Equals(object obj) => obj is User && (obj as User).Id == Id;