Example #1
0
 /// <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);
        }
Example #3
0
 public OverwriteOptions(Snowflake roleOrUserId, DiscordOverwriteType type)
 {
     Id   = roleOrUserId;
     Type = type;
 }