您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Làm Bài Trên EduNext Dễ Hơn Bao Giờ Hết!
// ==UserScript== // @name Easy Edunext // @namespace fsc-Easy-edunext // @version 1.6 // @description Làm Bài Trên EduNext Dễ Hơn Bao Giờ Hết! // @author KienDev1234 // @match https://fsc-edunext.fpt.edu.vn/* // @grant GM.xmlHttpRequest // @connect generativelanguage.googleapis.com // ==/UserScript== (function () { "use strict"; console.log("Tampermonkey script đã được inject thành công!"); async function autoClickFiveStars() { while (1) { const labels = document.querySelectorAll("label"); let foundLabels = 0; labels.forEach((label) => { const span = label.querySelector("span.MuiRating-visuallyHidden"); if (span && span.textContent.trim() === "5 Stars") { console.log(`Tìm thấy label:`, label); label.click(); foundLabels++; } }); console.log(`Đã click vào ${foundLabels} label(s) có chứa "5 Stars".`); await new Promise((resolve) => setTimeout(resolve, 1000)); addAiButton(); } } function addAiButton() { const buttonContainer = document.querySelector(".button-send-comment"); if (buttonContainer) { const existingButton = buttonContainer.querySelector( 'button[data-ai-button="true"]' ); if (!existingButton) { const aiButton = document.createElement("button"); aiButton.className = "MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall edu-button css-1n61s5c"; aiButton.setAttribute("data-ai-button", "true"); aiButton.textContent = "Làm Bằng AI"; aiButton.style.marginLeft = "10px"; aiButton.addEventListener("click", handleAiButtonClick); buttonContainer.appendChild(aiButton); console.log('Đã thêm nút "Làm Bằng AI" vào div .button-send-comment'); } } } async function handleAiButtonClick() { const aiButton = document.querySelector('button[data-ai-button="true"]'); if (aiButton) { aiButton.textContent = "Đang tạo..."; const contentDiv = document.querySelector(".wrap-entry-lesson-content"); if (contentDiv) { const styledDiv = contentDiv.querySelector(".styled"); const pText = styledDiv?.querySelector("p")?.textContent || ""; if (pText) { console.log("Đã lấy nội dung:", pText); await sendCurlRequest(pText, aiButton); } } } } async function sendCurlRequest(content, aiButton) { const url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-001:generateContent?key=AIzaSyA1hn2RpP0rzLJuqUYTMDzsr_IFL8H41d8"; const payload = { contents: [ { parts: [ { text: content, }, ], }, ], }; try { const response = await new Promise((resolve, reject) => { GM.xmlHttpRequest({ method: "POST", url: url, headers: { "Content-Type": "application/json" }, data: JSON.stringify(payload), responseType: "json", onload: resolve, onerror: reject, }); }); console.log("Full response:", response); console.log("Response Text:", response.responseText); const data = response.response; if (data && data.candidates && data.candidates.length > 0) { const generatedContent = data.candidates[0].content.parts[0].text || "Không có nội dung từ AI"; const formattedContent = generatedContent; const contentDiv = document.querySelector(".wrap-entry-lesson-content"); const styledDiv = contentDiv.querySelector(".styled"); let textarea = styledDiv.querySelector("textarea"); if (!textarea) { const h4 = document.createElement("h4"); const label = document.createElement("label"); label.setAttribute("for", "w3review"); label.textContent = "Bạn Bôi Đen Đáp Án Rồi Thả Vào Editor"; h4.appendChild(label); textarea = document.createElement("textarea"); textarea.id = "w3review"; textarea.name = "w3review"; textarea.rows = 10; textarea.cols = 50; textarea.setAttribute("readonly", "true"); const pTag = document.createElement("p"); pTag.textContent = "Làm theo hướng dẫn để sao chép và dán vào Editor."; const selectButton = document.createElement("button"); selectButton.textContent = "Bôi Đen Đáp Án"; selectButton.className = "MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall edu-button css-1n61s5c"; selectButton.style.marginTop = "10px"; selectButton.addEventListener("click", () => { textarea.select(); }); styledDiv.appendChild(h4); styledDiv.appendChild(textarea); styledDiv.appendChild(pTag); styledDiv.appendChild(selectButton); } textarea.textContent = formattedContent; } else { console.error("Không có dữ liệu từ API!"); } aiButton.textContent = "Làm Bằng AI"; } catch (error) { console.error("Lỗi khi gửi yêu cầu:", error); aiButton.textContent = "Làm Bằng AI"; } } autoClickFiveStars(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址