/// <summary> /// Edit the channel permission overwrites for a user or role in a channel. /// Only usable for guild channels. /// Requires the MANAGE_ROLES permission. /// See <a href="https://discord.com/developers/docs/resources/channel#edit-channel-permissions">Edit Channel Permissions</a> /// </summary> /// <param name="client">Client to use</param> /// <param name="overwriteId">ID of the overwrite to edit</param> /// <param name="allow">Allow Permission Flags</param> /// <param name="deny">Deny Permission Flags</param> /// <param name="type">Permission Type Flag</param> /// <param name="callback">Callback once the action is complete</param> /// <param name="error">Callback when an error occurs with error information</param> public void EditChannelPermissions(DiscordClient client, Snowflake overwriteId, PermissionFlags?allow, PermissionFlags?deny, PermissionType type, Action callback = null, Action <RestError> error = null) { Overwrite overwrite = new Overwrite { Id = overwriteId, Type = type, Allow = allow, Deny = deny }; EditChannelPermissions(client, overwrite, callback, error); }
/// <summary> /// Edit the channel permission overwrites for a user or role in a channel. /// Only usable for guild channels. /// Requires the MANAGE_ROLES permission. /// See <a href="https://discord.com/developers/docs/resources/channel#edit-channel-permissions">Edit Channel Permissions</a> /// </summary> /// <param name="client">Client to use</param> /// <param name="overwriteId">ID of the overwrite to edit</param> /// <param name="allow">Allow Permission Flags</param> /// <param name="deny">Deny Permission Flags</param> /// <param name="type">Permission Type Flag</param> /// <param name="callback">Callback once the action is complete</param> /// <param name="error">Callback when an error occurs with error information</param> public void EditChannelPermissions(DiscordClient client, Snowflake overwriteId, PermissionFlags?allow, PermissionFlags?deny, PermissionType type, Action callback = null, Action <RestError> error = null) { if (!overwriteId.IsValid()) { throw new InvalidSnowflakeException(nameof(overwriteId)); } Overwrite overwrite = new Overwrite { Id = overwriteId, Type = type, Allow = allow, Deny = deny }; EditChannelPermissions(client, overwrite, callback, error); }
/// <summary> /// Delete a channel permission overwrite for a user or role in a channel. /// Only usable for guild channels. /// Requires the MANAGE_ROLES permission. /// See <a href="https://discord.com/developers/docs/resources/channel#delete-channel-permission">Delete Channel Permission</a> /// </summary> /// <param name="client">Client to use</param> /// <param name="overwrite">Overwrite to delete</param> /// <param name="callback">Callback once the action is completed</param> /// <param name="error">Callback when an error occurs with error information</param> public void DeleteChannelPermission(DiscordClient client, Overwrite overwrite, Action callback = null, Action <RestError> error = null) => DeleteChannelPermission(client, overwrite.Id, callback, error);
/// <summary> /// Edit the channel permission overwrites for a user or role in a channel. /// Only usable for guild channels. /// Requires the MANAGE_ROLES permission. /// See <a href="https://discord.com/developers/docs/resources/channel#edit-channel-permissions">Edit Channel Permissions</a> /// </summary> /// <param name="client">Client to use</param> /// <param name="overwrite">Overwrite to edit with changes</param> /// <param name="callback">Callback once the action is complete</param> /// <param name="error">Callback when an error occurs with error information</param> public void EditChannelPermissions(DiscordClient client, Overwrite overwrite, Action callback = null, Action <RestError> error = null) { client.Bot.Rest.DoRequest($"/channels/{Id}/permissions/{overwrite.Id}", RequestMethod.PUT, overwrite, callback, error); }