Edits history of script submission #4841 for ' Update Zone Bot Management Config (cloudflare)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Cloudflare = {
      token: string;
      email: string;
      key: string;
    };
    /**
     * Update Zone Bot Management Config
     * Updates the Bot Management configuration for a zone.
    
    This API is used to update:
    - **Bot Fight Mode**
    - **Super Bot Fight Mode**
    - **Bot Management for Enterprise**
    
    See [Bot Plans](https://developers.cloudflare.com/bots/plans/) for more information on the different plans
    
     */
    export async function main(
      auth: Cloudflare,
      zone_identifier: string,
      Cloudflare_Version: string,
      body:
        | ({
            enable_js?: boolean;
            using_latest_model?: boolean;
            [k: string]: unknown;
          } & { fight_mode?: boolean; [k: string]: unknown })
        | ({
            enable_js?: boolean;
            using_latest_model?: boolean;
            [k: string]: unknown;
          } & {
            optimize_wordpress?: boolean;
            sbfm_definitely_automated?: "allow" | "block" | "managed_challenge";
            sbfm_static_resource_protection?: boolean;
            sbfm_verified_bots?: "allow" | "block";
            [k: string]: unknown;
          })
        | ({
            enable_js?: boolean;
            using_latest_model?: boolean;
            [k: string]: unknown;
          } & {
            optimize_wordpress?: boolean;
            sbfm_definitely_automated?: "allow" | "block" | "managed_challenge";
            sbfm_static_resource_protection?: boolean;
            sbfm_verified_bots?: "allow" | "block";
            [k: string]: unknown;
          } & {
            sbfm_likely_automated?: "allow" | "block" | "managed_challenge";
            [k: string]: unknown;
          })
        | ({
            enable_js?: boolean;
            using_latest_model?: boolean;
            [k: string]: unknown;
          } & {
            auto_update_model?: boolean;
            suppress_session_score?: boolean;
            [k: string]: unknown;
          })
    ) {
      const url = new URL(
        `https://api.cloudflare.com/client/v4/zones/${zone_identifier}/bot_management`
      );
    
      const response = await fetch(url, {
        method: "PUT",
        headers: {
          "Cloudflare-Version": Cloudflare_Version,
          "X-AUTH-EMAIL": auth.email,
          "X-AUTH-KEY": auth.key,
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.token,
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 383 days ago

  • nativets
    type Cloudflare = {
      token: string;
      email: string;
      key: string;
    };
    /**
     * Update Zone Bot Management Config
     * Updates the Bot Management configuration for a zone.
    
    This API is used to update:
    - **Bot Fight Mode**
    - **Super Bot Fight Mode**
    - **Bot Management for Enterprise**
    
    See [Bot Plans](https://developers.cloudflare.com/bots/plans/) for more information on the different plans
    
     */
    export async function main(
      auth: Cloudflare,
      zone_identifier: string,
      Cloudflare_Version: string,
      body:
        | ({
            enable_js?: boolean;
            using_latest_model?: boolean;
            [k: string]: unknown;
          } & { fight_mode?: boolean; [k: string]: unknown })
        | ({
            enable_js?: boolean;
            using_latest_model?: boolean;
            [k: string]: unknown;
          } & {
            optimize_wordpress?: boolean;
            sbfm_definitely_automated?: "allow" | "block" | "managed_challenge";
            sbfm_static_resource_protection?: boolean;
            sbfm_verified_bots?: "allow" | "block";
            [k: string]: unknown;
          })
        | ({
            enable_js?: boolean;
            using_latest_model?: boolean;
            [k: string]: unknown;
          } & {
            optimize_wordpress?: boolean;
            sbfm_definitely_automated?: "allow" | "block" | "managed_challenge";
            sbfm_static_resource_protection?: boolean;
            sbfm_verified_bots?: "allow" | "block";
            [k: string]: unknown;
          } & {
            sbfm_likely_automated?: "allow" | "block" | "managed_challenge";
            [k: string]: unknown;
          })
        | ({
            enable_js?: boolean;
            using_latest_model?: boolean;
            [k: string]: unknown;
          } & {
            auto_update_model?: boolean;
            suppress_session_score?: boolean;
            [k: string]: unknown;
          })
    ) {
      const url = new URL(
        `https://api.cloudflare.com/client/v4/zones/${zone_identifier}/bot_management`
      );
    
      const response = await fetch(url, {
        method: "PUT",
        headers: {
          "Cloudflare-Version": Cloudflare_Version,
          "X-AUTH-EMAIL": auth.email,
          "X-AUTH-KEY": auth.key,
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.token,
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 920 days ago