/// <summary> /// Deletes a permission overwrite. /// <para>Requires <see cref="DiscordPermission.ManageRoles"/>.</para> /// </summary> /// <exception cref="ArgumentNullException"></exception> /// <exception cref="DiscordHttpApiException"></exception> public Task DeletePermission(DiscordOverwrite overwrite) { if (overwrite == null) { throw new ArgumentNullException(nameof(overwrite)); } return(DeletePermission(overwrite.Id)); }
internal DiscordGuildChannel(DiscordHttpClient http, DiscordApiData data, DiscordChannelType type, Snowflake?guildId) : base(http, data, type) { this.http = http; GuildId = guildId ?? data.GetSnowflake("guild_id").Value; Name = data.GetString("name"); Position = data.GetInteger("position").Value; IList <DiscordApiData> overwrites = data.GetArray("permission_overwrites"); Dictionary <Snowflake, DiscordOverwrite> permissionOverwrites = new Dictionary <Snowflake, DiscordOverwrite>(); for (int i = 0; i < overwrites.Count; i++) { DiscordOverwrite overwrite = new DiscordOverwrite(http, Id, overwrites[i]); permissionOverwrites.Add(overwrite.Id, overwrite); } PermissionOverwrites = permissionOverwrites; }