Auto Like for Tinder

Script para clicar automaticamente no botão de "Like" no Tinder.

目前为 2024-11-27 提交的版本。查看 最新版本

// ==UserScript==
// @name         Auto Like for Tinder
// @namespace    http://tampermonkey.net/
// @version      1.5
// @description  Script para clicar automaticamente no botão de "Like" no Tinder.
// @author       SrMura
// @match        https://tinder.com/app/recs
// @grant        none
// @license      MIT
// ==/UserScript==

(function () {
    'use strict';

    // Configurações do script
    const interval = 500; // Intervalo de 500ms entre verificações (meia segundo)
    const maxMissedAttempts = 5; // Número máximo de tentativas consecutivas sem encontrar o botão antes de recarregar a página
    let missedAttempts = 0; // Contador de tentativas consecutivas sem sucesso
    let likesCount = parseInt(localStorage.getItem('likesCount')) || 0; // Recupera o número de likes armazenados ou começa de 0

    // Criação de um elemento para mostrar o número de likes na página
    const likeCounter = document.createElement('div');
    likeCounter.style.position = 'fixed';
    likeCounter.style.top = '10px';
    likeCounter.style.left = '10px';
    likeCounter.style.backgroundColor = 'rgba(0, 0, 0, 0.7)';
    likeCounter.style.color = 'white';
    likeCounter.style.padding = '10px';
    likeCounter.style.borderRadius = '5px';
    likeCounter.style.zIndex = '1000';
    document.body.appendChild(likeCounter);

    // Função para atualizar a contagem de likes na página
    function updateLikeCounter() {
        likeCounter.textContent = `Likes feitos: ${likesCount}`;
    }

    // Função para gerar o seletor do botão de "Like"
    function getLikeButtonSelector() {
        return '#q807713831 > div > div.App__body.H\\(100\\%\\).Pos\\(r\\).Z\\(0\\) > div > main > div.H\\(100\\%\\) > div > div > div > div.Pos\\(r\\).Expand.H\\(--recs-card-height\\)--ml.Maw\\(--recs-card-width\\)--ml.Mt\\(a\\) > div > div > div.Pos\\(a\\).B\\(0\\).Iso\\(i\\).W\\(100\\%\\).Start\\(0\\).End\\(0\\).TranslateY\\(55\\%\\) > div > div:nth-child(4) > button > span > span.gamepad-icon-wrapper';
    }

    // Função para executar o "autoLike"
    function autoLike() {
        const likeButton = document.querySelector(getLikeButtonSelector());

        if (likeButton) {
            console.log("Botão de Like encontrado.");
            if (likeButton.offsetParent !== null) {
                likeButton.click();
                likesCount++;
                localStorage.setItem('likesCount', likesCount); // Armazena o número de likes
                missedAttempts = 0; // Reseta tentativas consecutivas sem sucesso
                updateLikeCounter(); // Atualiza a contagem na página
                console.log(`Botão de Like clicado com sucesso! Total de likes: ${likesCount}`);
            } else {
                console.log('Botão de Like está invisível. Tentando novamente...');
                missedAttempts++;
            }
        } else {
            console.log('Botão de Like não encontrado. Tentando novamente...');
            missedAttempts++;
        }

        // Verifica se deve recarregar a página
        if (missedAttempts >= maxMissedAttempts) {
            console.log(`Botão não encontrado após ${missedAttempts} tentativas consecutivas. Recarregando a página...`);
            location.reload(); // Recarrega a página
        }
    }

    // Inicia o processo com intervalos
    setInterval(autoLike, interval);

    // Atualiza a contagem inicial
    updateLikeCounter();
})();