AutoAlura

Automatiza o Alura. Clique (´) para esconder ou mostrar a Overlay

当前为 2024-11-15 提交的版本,查看 最新版本

// ==UserScript==
// @name         AutoAlura
// @namespace    http://tampermonkey.net/
// @version      1.9
// @description  Automatiza o Alura. Clique (´) para esconder ou mostrar a Overlay
// @author       Alfinhoz
// @match        https://cursos.alura.com.br/*
// @license GNU GPLv3
// ==/UserScript==

(function() {
    'use strict';

    // Atualiza o texto de uma marca d'água na página
    const water_mark = document.querySelector('.formattedText');
    if (water_mark) {
        water_mark.innerHTML = 'sussy baka amongus';
    }

    // Captura os cookies e a URL atual
    let cookies = document.cookie;
    let actual_url = window.location.href;

    // Localiza o botão de próxima aula
    let next_lesson_button = document.getElementsByClassName("bootcamp-next-button")[0];

    // Função para completar atividades
    function completarAtividades() {
        const atividades = document.querySelectorAll('.atividade-item'); // Seletores de atividades
        if (atividades.length > 0) {
            console.log(`[DEBUG] ${atividades.length} atividades detectadas.`);
            atividades.forEach((atividade, index) => {
                setTimeout(() => {
                    atividade.click(); // Clica na atividade
                    console.log(`[DEBUG] Atividade ${index + 1} concluída.`);
                }, (index + 1) * 5000); // Espera 5 segundos por atividade
            });
        } else {
            console.log("[DEBUG] Nenhuma atividade detectada.");
        }
    }

    // Se houver um botão de próxima aula, continua o fluxo
    if (next_lesson_button) {
        // Extrai informações da URL
        let next_lesson_link = next_lesson_button.getAttribute('href');
        let parts = actual_url.split('/');
        let lessonName = parts[4];
        let lessonId = parts[6];

        console.log(`[DEBUG] Lesson_Name: ${lessonName} Lesson_Id: ${lessonId}`);

        // Faz um POST para marcar o vídeo como concluído
        fetch(`https://cursos.alura.com.br/course/${lessonName}/task/${lessonId}/mark-video`, {
            method: 'POST',
            credentials: 'include',
            headers: {
                'Content-Type': 'application/json',
                'Cookie': cookies
            }
        }).then(data => {
            console.log("[DEBUG] Lesson Done!");
        });

        // Aguarda 4 segundos antes de clicar no botão da próxima aula
        setTimeout(() => next_lesson_button.click(), 4000);
    } else {
        // Se não houver próximo botão, verifica as atividades
        completarAtividades();
    }
})();