Added IGuildUser Add/Remove Roles extensions

This commit is contained in:
RogueException
2016-06-26 23:03:05 -03:00
parent 602ac134e5
commit 9365a70e1d

View File

@@ -0,0 +1,19 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Discord.Extensions
{
public static class GuildUserExtensions
{
public static Task AddRolesAsync(this IGuildUser user, params IRole[] roles)
=> AddRolesAsync(user, (IEnumerable<IRole>)roles);
public static Task AddRolesAsync(this IGuildUser user, IEnumerable<IRole> roles)
=> user.ModifyAsync(x => x.Roles = Optional.Create(user.Roles.Concat(roles)));
public static Task RemoveRolesAsync(this IGuildUser user, params IRole[] roles)
=> RemoveRolesAsync(user, (IEnumerable<IRole>)roles);
public static Task RemoveRolesAsync(this IGuildUser user, IEnumerable<IRole> roles)
=> user.ModifyAsync(x => x.Roles = Optional.Create(user.Roles.Except(roles)));
}
}