OpenAI Chat Copy Code Hotkey

Binds the "Alt+C" hotkey to find and click the HTML element with the text "Copy code" on chat.openai.com.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name             OpenAI Chat Copy Code Hotkey
// @namespace        https://userscript.snomiao.com/
// @version          0.0.1
// @description      Binds the "Alt+C" hotkey to find and click the HTML element with the text "Copy code" on chat.openai.com.
// @author           [email protected]
// @match            https://chat.openai.com/*
// @grant            none
// @license          GPL-3.0+
// @contributionURL  https://snomiao.com/donate
// @supportURL       https://github.com/snomiao/userscript.js/issues
// @copyright        2017 - 2023, @snomiao <snomiao.com>
// ==/UserScript==

(function () {
  "use strict";

  document.addEventListener("keydown", function (event) {
    // Check if the pressed key is 'C' and the 'Alt' key is held down
    if (event.key === "c" && event.altKey) {
      // Prevent default action (if any)
      event.preventDefault();

      // Find the HTML element with the text "Copy code"
      const elements = [...document.getElementsByTagName("*")].reverse();
      for (let i = 0; i < elements.length; i++) {
        const element = elements[i];
        if (element.textContent === "Copy code") {
          // Simulate a click event on the element
          element.click();
          break;
        }
      }
    }
  });
})();