Click "Edit safety settings" to automatically set all to none and close dialog
目前為
// ==UserScript==
// @license it made me include this idk
// @name Set AI Studio Content Filters to None With One Click
// @description Click "Edit safety settings" to automatically set all to none and close dialog
// @namespace http://tampermonkey.net/
// @version 0.4
// @match *://aistudio.google.com/*
// @grant none
// @author HORSELOCKSPACEPIRATE/rayzorium
// ==/UserScript==
(function() {
'use strict';
// Function to set sliders to 0
function setSlidersToZero() {
const dialogContainer = document.querySelector('mat-dialog-container');
if (dialogContainer) {
const sliders = dialogContainer.querySelectorAll('mat-slider input[type="range"]');
sliders.forEach(slider => {
slider.value = -4;
slider.dispatchEvent(new Event('input', { bubbles: true }));
slider.dispatchEvent(new Event('change', { bubbles: true }));
});
// Close the dialog box
const closeButton = dialogContainer.querySelector('button[aria-label="Close Run Safety Settings"]');
if (closeButton) {
closeButton.click();
}
}
}
// Mutation observer to detect when the safety settings dialog appears
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.addedNodes.length) {
const addedNode = mutation.addedNodes[0];
if (addedNode.nodeType === Node.ELEMENT_NODE && addedNode.matches('mat-dialog-container')) {
setTimeout(setSlidersToZero, 150); // Adding a slight delay to ensure sliders are loaded
}
}
});
});
// Start observing the body for additions of the dialog container
observer.observe(document.body, { childList: true, subtree: true });
// Adding click event listener to the "Edit safety settings" button
document.addEventListener('click', function(e) {
if (e.target && (e.target.closest('.edit-safety-button') || e.target.closest('.settings-item.safety-settings'))) {
// We wait for the dialog to be added to the DOM
observer.observe(document.body, { childList: true, subtree: true });
}
});
})();