Always Allow API Actions

Auto-clicks the 'Confirm' or 'Always Allow' buttons when prompted for an API call

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Always Allow API Actions
// @namespace    ViolentMonkey scripts
// @version      0.1
// @description  Auto-clicks the 'Confirm' or 'Always Allow' buttons when prompted for an API call
// @author       bmpq
// @license      MIT
// @match        https://chatgpt.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function clickButtons() {
        // Click the Confirm button
        const confirmButtons = document.querySelectorAll('.btn.relative.btn-primary.btn-small');
        confirmButtons.forEach((button) => {
            const buttonText = button.querySelector('div').textContent.trim();
            if (buttonText === 'Confirm') {
                button.click();
                console.log('Confirm button clicked!');
            }
        });

        // Click the Always Allow button
        const allowButtons = document.querySelectorAll('.btn.relative.btn-secondary.btn-small');
        allowButtons.forEach((button) => {
            const buttonText = button.querySelector('div').textContent.trim();
            if (buttonText === 'Always Allow') {
                button.click();
                console.log('Always Allow button clicked!');
            }
        });
    }

    const observer = new MutationObserver(clickButtons);
    observer.observe(document.body, { childList: true, subtree: true });
})();