/// <summary> /// Adds/edits a guild member or role permission overwrite for this channel. /// <para>Requires <see cref="DiscordPermission.ManageRoles"/>.</para> /// </summary> /// <param name="memberOrRoleId">The ID of the member or role this overwrite will change permissions for.</param> /// <param name="overwriteType">Whether the permissions should affect a member or role.</param> /// <param name="allow">Specifically allowed permissions.</param> /// <param name="deny">Specifically denied permissions.</param> /// <exception cref="DiscordHttpApiException"></exception> public Task EditPermissions(Snowflake memberOrRoleId, DiscordOverwriteType overwriteType, DiscordPermission allow, DiscordPermission deny) { return(http.EditChannelPermissions(Id, memberOrRoleId, allow, deny, overwriteType)); }
/// <summary> /// Edits a guild channel permission overwrite for a user or role. /// <para>Requires <see cref="DiscordPermission.ManageRoles"/>.</para> /// </summary> /// <exception cref="DiscordHttpApiException"></exception> public async Task EditChannelPermissions(Snowflake channelId, Snowflake overwriteId, DiscordPermission allow, DiscordPermission deny, DiscordOverwriteType type) { DiscordApiData data = new DiscordApiData(DiscordApiDataType.Container); data.Set("allow", (int)allow); data.Set("deny", (int)deny); data.Set("type", type.ToString().ToLower()); await rest.Put($"channels/{channelId}/permissions/{overwriteId}", data, $"channels/{channelId}/permissions/permission").ConfigureAwait(false); }
public OverwriteOptions(Snowflake roleOrUserId, DiscordOverwriteType type) { Id = roleOrUserId; Type = type; }