Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
        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;
        }