您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automates "Like" clicks on Lovoo, shows a modern UI for each like, waits before clicking, and stops if "Likes are exhausted" message appears or profile is incomplete
- // ==UserScript==
- // @name Lovoo Auto Like with Stop Condition and Modern UI
- // @namespace Tempermonkey Scripts
- // @match https://**.lovoo.com/*
- // @grant none
- // @version 1.1
- // @author Manu OVG
- // @license MIT
- // @description Automates "Like" clicks on Lovoo, shows a modern UI for each like, waits before clicking, and stops if "Likes are exhausted" message appears or profile is incomplete
- // ==/UserScript==
- // Function to simulate a "Like" click
- async function autoLike() {
- // Check if the message "Tes « j’aime » sont épuisés" is displayed
- const noMoreLikesMessage = document.querySelector('.space-before.space-after.h3.u-text-center.u-padding-top-sm');
- if (noMoreLikesMessage && noMoreLikesMessage.textContent.includes('Tes « j’aime » sont épuisés')) {
- // Display a modern "No more likes" notification
- showNotification("No more likes available. Stopping...");
- console.log("No more likes available. Stopping script.");
- return; // Stop the script if the message is found
- }
- // Check if the profile photo upload message is present
- const photoRequiredMessage = document.querySelector('p');
- if (photoRequiredMessage && photoRequiredMessage.textContent.includes('Tu n\'obtiendras malheureusement rien sans photo de profil')) {
- // Display a modern "No profile photo" notification
- showNotification("You need to upload a profile photo to like users. Stopping...");
- console.log("Profile photo required. Stopping script.");
- return; // Stop the script if the message is found
- }
- // Check if the profile photo upload button is present (as a fallback)
- const photoUploadButton = document.querySelector('div.o-button.o-button--gender');
- if (photoUploadButton) {
- // Display a modern "No profile photo" notification
- showNotification("You need to upload a profile photo to like users. Stopping...");
- console.log("Profile photo required. Stopping script.");
- return; // Stop the script if the button is found
- }
- // Find all "Like" buttons
- const likeButtons = document.querySelectorAll('span[data-automation-id="vote-yes-button"]');
- // If there are "Like" buttons, click one
- if (likeButtons.length > 0) {
- // Get the first "Like" button (you can modify this if you want to target a specific user)
- const likeButton = likeButtons[0];
- // Show the "Liked" UI notification first
- showNotification("You've liked a user!");
- // Wait 1 second to display the notification
- setTimeout(() => {
- // Now simulate the click after the delay
- likeButton.click();
- }, 1000); // Show the notification for 1 second before clicking the "Like" button
- }
- // Wait for 1 to 3 seconds to simulate a delay before clicking again
- const delay = Math.floor(Math.random() * 2000) + 1000; // Random delay between 1-3 seconds
- setTimeout(autoLike, delay);
- }
- // Function to show a modern UI notification
- function showNotification(message) {
- // Create the notification element
- const notification = document.createElement('div');
- notification.innerHTML = `
- <div style="position: fixed; top: 20px; right: 20px; background-color: #4CAF50; color: white; padding: 15px 25px; border-radius: 10px; font-family: Arial, sans-serif; font-size: 16px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); z-index: 9999;">
- <strong>${message}</strong>
- </div>
- `;
- // Append the notification to the body
- document.body.appendChild(notification);
- // Automatically remove the notification after 3 seconds
- setTimeout(() => {
- notification.remove();
- }, 3000);
- }
- // Start the auto-like function after the page is loaded
- window.addEventListener('load', () => {
- setTimeout(autoLike, 1000); // Start after a 1-second delay to ensure the page is fully loaded
- });