Minimal ChatGPT Message Logger + Injector + Submitter

Listen for postMessage from parent, log to console, enter it into the chat input, and submit

当前为 2025-05-12 提交的版本,查看 最新版本

// ==UserScript==
// @name         Minimal ChatGPT Message Logger + Injector + Submitter
// @description  Listen for postMessage from parent, log to console, enter it into the chat input, and submit
// @match        https://chatgpt.com/*
// @grant        none
// @version 0.0.1.20250512163231
// @namespace https://greasyfork.org/users/1435046
// ==/UserScript==

(function () {
    'use strict';

    window.addEventListener('message', function (event) {
        console.log('Received message from parent window:', event.data);

        // Find the ProseMirror editable div
        const composer = document.querySelector('.ProseMirror');

        if (composer && typeof event.data === 'string') {
            // Set the text in the editor
            composer.innerText = event.data;

            // Dispatch input event so React knows the content changed
            composer.dispatchEvent(new InputEvent('input', { bubbles: true }));

            // Wait a moment for React to process the input
            setTimeout(() => {
                // Find the submit button (the paper airplane icon)
                const sendButton = document.querySelector('button[data-testid="send-button"]');
                if (sendButton) {
                    sendButton.click();
                } else {
                    console.warn('Send button not found');
                }
            }, 100); // 100ms delay to allow UI updates
        }
    });
})();