Sorteio Teatro

Bot to fulfill a form to win tickets to a show

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Sorteio Teatro
// @namespace    tampermonkey.com
// @version      2024-11-19
// @description  Bot to fulfill a form to win tickets to a show
// @author       Guilherme Scafi
// @match        https://docs.google.com/forms/d/e/1FAIpQLSfOrxOOtHNyJ-H9bx-eYfmD635QVXz97XTB27x-FofcB0uvgQ/viewform
// @match        https://docs.google.com/forms/u/0/d/e/1FAIpQLSfOrxOOtHNyJ-H9bx-eYfmD635QVXz97XTB27x-FofcB0uvgQ/formResponse
// ==/UserScript==

(function() {
    'use strict';

    var nameToInput = "Guilherme Sígolo Scafi";
    var cpfToInput = "417811438-70";
    var showName = "Thiago Ventura";

    function processForm() {
        var nameField = document.querySelector('input[aria-labelledby="i1 i4"]');
        if (nameField) {
            nameField.value = nameToInput;
            nameField.dispatchEvent(new Event('input', { bubbles: true }));
            console.log("Nome preenchido.");
        } else {
            console.error("Campo 'Nome Completo' não encontrado.");
            return;
        }

        var cpfField = document.querySelector('input[aria-labelledby="i6 i9"]');
        if (cpfField) {
            cpfField.value = cpfToInput;
            cpfField.dispatchEvent(new Event('input', { bubbles: true }));
            console.log("CPF preenchido.");
        } else {
            console.error("Campo 'CPF' não encontrado.");
            return;
        }

        selectShowOption(showName, clickSubmitButton);
    }

    function selectShowOption(showName, callback) {
        var radioButton = Array.from(document.querySelectorAll('div[role="radio"]')).find(radio => {
            console.log("Verificando rádio:", radio.getAttribute('aria-label'));
            return radio.getAttribute('aria-label').includes(showName);
        });
        if (radioButton) {
            radioButton.click();
            console.log("Opção de show selecionada:", showName);
            setTimeout(callback, 3000); // Aguarda 3 segundos antes de executar o callback
        } else {
            console.error("Opção de show não encontrada:", showName);
        }
    }

    function clickSubmitButton() {
        var submitButton = document.querySelector('div[role="button"][aria-label="Submit"]');
        if (submitButton) {
            console.log("Botão 'Enviar' encontrado.");
            submitButton.click();
        } else {
            console.error("Botão 'Enviar' não encontrado.");
        }
    }

    function checkAndReload() {
        // Verifica se estamos na URL de resposta
        if (window.location.href.includes("formResponse")) {
            console.log("Na página de resposta. Recarregando para a página inicial do formulário em 30 segundos...");
            setTimeout(function() {
                window.location.href = "https://docs.google.com/forms/d/e/1FAIpQLSfOrxOOtHNyJ-H9bx-eYfmD635QVXz97XTB27x-FofcB0uvgQ/viewform";
            }, 30000); // 30 segundos de atraso antes de recarregar para a página inicial do formulário
        } else {
            console.log("Não estamos na página de resposta. Nenhuma ação necessária.");
        }
    }

    window.addEventListener('load', function() {
        if (window.location.href.includes("viewform")) {
            setTimeout(processForm, 2000); // Adiciona um atraso inicial para o carregamento completo da página
        }
        setTimeout(checkAndReload, 30000);
    });

})();