YouTube Auto Like & Close Window

Automatically likes the video and closes the window when the video has ended.

// ==UserScript==
// @name         YouTube Auto Like & Close Window
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  Automatically likes the video and closes the window when the video has ended.
// @author       RichardG
// @license      MIT
// @match        https://www.youtube.com/*
// @match        https://www.youtube.com/watch*
// @exclude      https://www.youtube.com/watch*list=*
// @grant        window.close
// ==/UserScript==

(function () {
    'use strict';

    const waitForElement = (selector, callback) => {
        const observer = new MutationObserver(() => {
            const el = document.querySelector(selector);
            if (el) {
                observer.disconnect();
                callback(el);
            }
        });
        observer.observe(document.body, { childList: true, subtree: true });
    };

    // Auto Like Video
    waitForElement("[title='I like this']", (btn) => {
        if (btn && btn.getAttribute('aria-pressed') === 'false') {
            btn.click();
        }
    });

    const checkEnd = () => {
        const video = document.querySelector('video');
        if (!video) return;

        video.addEventListener('ended', () => {
            window.close();
        });
    };

    waitForElement('video', checkEnd);
})();