Greasy Fork is available in English.

Moodle Copy

Copies the current question to clipboard in the moodle quiz. Make sure to change the @match statement to your quiz website.

// ==UserScript==
// @name         Moodle Copy
// @namespace    http://tampermonkey.net/
// @version      0.4.1
// @description  Copies the current question to clipboard in the moodle quiz. Make sure to change the @match statement to your quiz website.
// @author       Anonim Arı
// @match        https://ayva.itu.edu.tr/mod/quiz/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=edu.tr
// @grant        none
// @license MIT
// ==/UserScript==

(function () {
  "use strict";

  document.addEventListener(
    "contextmenu",
    (e) => {
      e.returnValue = true;
      e.stopPropagation && e.stopPropagation();
    },
    true
  );

  const element = document.querySelector(
    'form > div > div > div[class="content"]'
  );

  if (!element) return console.log("Element not found");

  function createButton() {
    const button = document.createElement("button");
    const art = `¯\\_(ツ)_/¯`;
    button.textContent = art;
    button.style = `
    bottom: 0px;
    right: 0px;
    position: fixed;
    color: white;
    z-index: 2147483647;
    padding: 10px;
    font-size: 25px;
    text-align: center;
    font-family: monospace;
    width: 200px;
    height: 253px;
    background-repeat: no-repeat;
    background-size: contain;

    background: black;
    `;
    return button;
  }

  const button = createButton();

  function chad() {
    button.style.backgroundImage =
      "url(https://media.tenor.com/MKpqR-aLLzYAAAAM/pov-you.gif)";
    button.innerText = "";
  }

  function clipboard(text) {
    const item = new ClipboardItem({
      "text/plain": new Blob([text], { type: "text/plain" }),
    });

    navigator.clipboard
      .write([item])
      .then(() => {
        chad();
        alert("Text copied to clipboard!");
      })
      .catch((error) => {
        alert("Error while copying! " + error);
      });
  }

  button.addEventListener("click", function () {
    clipboard(element.innerText);
  });
  document.body.appendChild(button);
})();