| @@ -78,6 +78,15 @@ namespace Discord.WebSocket | |||||
| public Task DeleteAsync(RequestOptions options = null) | public Task DeleteAsync(RequestOptions options = null) | ||||
| => ChannelHelper.DeleteAsync(this, Discord, options); | => ChannelHelper.DeleteAsync(this, Discord, options); | ||||
| /// <summary> | |||||
| /// Gets the overwrite permissions of the specified <paramref name="user"/> | |||||
| /// </summary> | |||||
| /// <param name="user"> | |||||
| /// The user that you want to get the overwrite permissions for | |||||
| /// </param> | |||||
| /// <returns> | |||||
| /// Null if the user has no overwrite permissions otherwise the overwrite permissions for the user | |||||
| /// </returns> | |||||
| public OverwritePermissions? GetPermissionOverwrite(IUser user) | public OverwritePermissions? GetPermissionOverwrite(IUser user) | ||||
| { | { | ||||
| for (int i = 0; i < _overwrites.Length; i++) | for (int i = 0; i < _overwrites.Length; i++) | ||||
| @@ -87,6 +96,16 @@ namespace Discord.WebSocket | |||||
| } | } | ||||
| return null; | return null; | ||||
| } | } | ||||
| /// <summary> | |||||
| /// Gets the overwrite permissions of the specified <paramref name="role"/> | |||||
| /// </summary> | |||||
| /// <param name="role"> | |||||
| /// The role that you want to get the overwrite permissions for | |||||
| /// </param> | |||||
| /// <returns> | |||||
| /// Null if the role has no overwrite permissions otherwise the overwrite permissions for the role | |||||
| /// </returns> | |||||
| public OverwritePermissions? GetPermissionOverwrite(IRole role) | public OverwritePermissions? GetPermissionOverwrite(IRole role) | ||||
| { | { | ||||
| for (int i = 0; i < _overwrites.Length; i++) | for (int i = 0; i < _overwrites.Length; i++) | ||||
| @@ -96,11 +115,37 @@ namespace Discord.WebSocket | |||||
| } | } | ||||
| return null; | return null; | ||||
| } | } | ||||
| /// <summary> | |||||
| /// Adds an overwrite permission for the specified <paramref name="user"/> | |||||
| /// </summary> | |||||
| /// <param name="user"> | |||||
| /// The user you want the overwrite permission to apply to | |||||
| /// </param> | |||||
| /// <param name="perms"> | |||||
| /// The overwrite permission you want to add | |||||
| /// </param> | |||||
| /// <param name="options"> | |||||
| /// The options to be used when sending the request | |||||
| /// </param> | |||||
| public async Task AddPermissionOverwriteAsync(IUser user, OverwritePermissions perms, RequestOptions options = null) | public async Task AddPermissionOverwriteAsync(IUser user, OverwritePermissions perms, RequestOptions options = null) | ||||
| { | { | ||||
| await ChannelHelper.AddPermissionOverwriteAsync(this, Discord, user, perms, options).ConfigureAwait(false); | await ChannelHelper.AddPermissionOverwriteAsync(this, Discord, user, perms, options).ConfigureAwait(false); | ||||
| _overwrites = _overwrites.Add(new Overwrite(user.Id, PermissionTarget.User, new OverwritePermissions(perms.AllowValue, perms.DenyValue))); | _overwrites = _overwrites.Add(new Overwrite(user.Id, PermissionTarget.User, new OverwritePermissions(perms.AllowValue, perms.DenyValue))); | ||||
| } | } | ||||
| /// <summary> | |||||
| /// Adds an overwrite permission for the specified <paramref name="role"/> | |||||
| /// </summary> | |||||
| /// <param name="role"> | |||||
| /// The role you want the overwrite permission to apply to | |||||
| /// </param> | |||||
| /// <param name="perms"> | |||||
| /// The overwrite permission you want to add | |||||
| /// </param> | |||||
| /// <param name="options"> | |||||
| /// The options to be used when sending the request | |||||
| /// </param> | |||||
| public async Task AddPermissionOverwriteAsync(IRole role, OverwritePermissions perms, RequestOptions options = null) | public async Task AddPermissionOverwriteAsync(IRole role, OverwritePermissions perms, RequestOptions options = null) | ||||
| { | { | ||||
| await ChannelHelper.AddPermissionOverwriteAsync(this, Discord, role, perms, options).ConfigureAwait(false); | await ChannelHelper.AddPermissionOverwriteAsync(this, Discord, role, perms, options).ConfigureAwait(false); | ||||