Greasy Fork is available in English.
打开网页后等待3秒自动签到,签到完成后自动关闭签到对话框。Automate sign-in with a 3-second delay after page load and automatically close the sign-in dialog after sign-in.
当前为
// ==UserScript==
// @name 🤖IMYAI网站自动签到 Auto Sign-in for IMYAI Website
// @namespace http://tampermonkey.net/
// @version 0.8
// @description 打开网页后等待3秒自动签到,签到完成后自动关闭签到对话框。Automate sign-in with a 3-second delay after page load and automatically close the sign-in dialog after sign-in.
// @author GPT4.0
// @match https://ai.imyai.top/*
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// Function to simulate a mouse click
function simulateClick(element) {
const mouseClickEvents = ['mousedown', 'click', 'mouseup'];
mouseClickEvents.forEach(mouseEventType =>
element.dispatchEvent(
new MouseEvent(mouseEventType, {
view: window,
bubbles: true,
cancelable: true,
buttons: 1
})
)
);
}
// Function to close the sign-in dialog after a delay
function closeSignInDialog() {
const closeButton = document.querySelector('.n-base-close.n-base-close--absolute.n-card-header__close');
if (closeButton) {
simulateClick(closeButton); // First attempt to close the dialog
setTimeout(() => {
simulateClick(closeButton); // Second attempt to close the dialog
}, 500); // Delay between attempts
}
}
// Function to handle the sign-in process
function handleSignIn() {
// Query for the first sign-in button
const firstSignInButton = document.querySelector('svg.iconify--noto');
if (firstSignInButton) {
simulateClick(firstSignInButton);
}
// Check for the second sign-in button every half second
const checkExist = setInterval(function() {
const secondSignInButton = document.querySelector('div.flex.mt-3.w-full.mt-14 > button.n-button--info-type');
if (secondSignInButton) {
simulateClick(secondSignInButton);
clearInterval(checkExist); // Stop checking once the button has been clicked
}
}, 500); // Check every 500ms
}
// Function to add the sign-in button to the page (for manual control if needed)
function addButton() {
const newButton = document.createElement('button');
newButton.innerText = '手动快速签到';
// Styling the button
newButton.style.cssText = `
position: fixed;
top: 10px;
left: 10px;
z-index: 10000;
padding: 10px 20px;
background-color: orange;
color: white;
border: none;
border-radius: 5px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
font-weight: bold;
cursor: pointer;
transition: background-color 0.3s, box-shadow 0.3s;
`;
newButton.onclick = handleSignIn;
document.body.appendChild(newButton);
}
// Add the button and trigger sign-in after the DOM is fully loaded with a delay
if (document.readyState === 'complete') {
addButton();
setTimeout(handleSignIn, 3000); // Wait for 3 seconds before triggering sign-in
setTimeout(closeSignInDialog, 4000); // Wait for an additional 1 seconds before attempting to close the dialog
setTimeout(closeSignInDialog, 4500); // Wait for an additional 1.5 seconds before attempting to close the dialog
} else {
window.addEventListener('load', function() {
addButton();
setTimeout(handleSignIn, 3000); // Wait for 3 seconds before triggering sign-in
setTimeout(closeSignInDialog, 4000); // Wait for an additional 1 seconds before attempting to close the dialog
setTimeout(closeSignInDialog, 4500); // Wait for an additional 1.5 seconds before attempting to close the dialog
});
}
})();