Browse Source

Added single-item role add/remove methods

pull/540/head
Emzi0767 8 years ago
parent
commit
e4a7096750
3 changed files with 18 additions and 2 deletions
  1. +4
    -0
      src/Discord.Net.Core/Entities/Users/IGuildUser.cs
  2. +8
    -2
      src/Discord.Net.Rest/Entities/Users/RestGuildUser.cs
  3. +6
    -0
      src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs

+ 4
- 0
src/Discord.Net.Core/Entities/Users/IGuildUser.cs View File

@@ -29,8 +29,12 @@ namespace Discord
/// <summary> Modifies this user's properties in this guild. </summary>
Task ModifyAsync(Action<GuildUserProperties> func, RequestOptions options = null);

/// <summary> Adds a role to this user in this guild. </summary>
Task AddRoleAsync(IRole role, RequestOptions options = null);
/// <summary> Adds roles to this user in this guild. </summary>
Task AddRolesAsync(IEnumerable<IRole> roles, RequestOptions options = null);
/// <summary> Removes a role from this user in this guild. </summary>
Task RemoveRoleAsync(IRole role, RequestOptions options = null);
/// <summary> Removes roles from this user in this guild. </summary>
Task RemoveRolesAsync(IEnumerable<IRole> roles, RequestOptions options = null);
}


+ 8
- 2
src/Discord.Net.Rest/Entities/Users/RestGuildUser.cs View File

@@ -82,14 +82,20 @@ namespace Discord.Rest
else if (args.RoleIds.IsSpecified)
UpdateRoles(args.RoleIds.Value.ToArray());
}
public Task KickAsync(RequestOptions options = null)
=> UserHelper.KickAsync(this, Discord, options);
/// <inheritdoc />
public Task AddRoleAsync(IRole role, RequestOptions options = null)
=> AddRolesAsync(new[] { role }, options);
/// <inheritdoc />
public Task AddRolesAsync(IEnumerable<IRole> roles, RequestOptions options = null)
=> UserHelper.AddRolesAsync(this, Discord, roles, options);
/// <inheritdoc />
public Task RemoveRoleAsync(IRole role, RequestOptions options = null)
=> RemoveRolesAsync(new[] { role }, options);
/// <inheritdoc />
public Task RemoveRolesAsync(IEnumerable<IRole> roles, RequestOptions options = null)
=> UserHelper.RemoveRolesAsync(this, Discord, roles, options);
public Task KickAsync(RequestOptions options = null)
=> UserHelper.KickAsync(this, Discord, options);

public ChannelPermissions GetPermissions(IGuildChannel channel)
{


+ 6
- 0
src/Discord.Net.WebSocket/Entities/Users/SocketGuildUser.cs View File

@@ -108,9 +108,15 @@ namespace Discord.WebSocket
public Task KickAsync(RequestOptions options = null)
=> UserHelper.KickAsync(this, Discord, options);
/// <inheritdoc />
public Task AddRoleAsync(IRole role, RequestOptions options = null)
=> AddRolesAsync(new[] { role }, options);
/// <inheritdoc />
public Task AddRolesAsync(IEnumerable<IRole> roles, RequestOptions options = null)
=> UserHelper.AddRolesAsync(this, Discord, roles, options);
/// <inheritdoc />
public Task RemoveRoleAsync(IRole role, RequestOptions options = null)
=> RemoveRolesAsync(new[] { role }, options);
/// <inheritdoc />
public Task RemoveRolesAsync(IEnumerable<IRole> roles, RequestOptions options = null)
=> UserHelper.RemoveRolesAsync(this, Discord, roles, options);



Loading…
Cancel
Save