Twitch Carousel Remover

A new userscript

Size

2.3 KB

Version

1.1.1

Created

Oct 18, 2025

Updated

5 days ago

1// ==UserScript==
2// @name		Twitch Carousel Remover
3// @description		A new userscript
4// @version		1.1.1
5// @match		https://*.twitch.tv/*
6// @icon		https://assets.twitch.tv/assets/favicon-32-e29e246c157142c94346.png
7// ==/UserScript==
8(function() {
9    'use strict';
10
11    function removeCarousel() {
12        console.log('Looking for Twitch carousel...');
13        
14        // Find the carousel using its specific data attribute
15        const carousel = document.querySelector('[data-a-target="front-page-carousel"]');
16        
17        if (carousel) {
18            console.log('Carousel found, removing it...');
19            
20            // Find and stop all video/audio elements
21            const videos = carousel.querySelectorAll('video');
22            videos.forEach(video => {
23                video.muted = true;
24                video.pause();
25                video.src = '';
26                console.log('Video muted and stopped');
27            });
28            
29            const audios = carousel.querySelectorAll('audio');
30            audios.forEach(audio => {
31                audio.muted = true;
32                audio.pause();
33                audio.src = '';
34                console.log('Audio muted and stopped');
35            });
36            
37            carousel.style.display = 'none';
38            console.log('Carousel removed successfully');
39        } else {
40            console.log('Carousel not found yet');
41        }
42    }
43
44    // Run immediately
45    removeCarousel();
46
47    // Also observe for dynamic content loading
48    const observer = new MutationObserver(() => {
49        removeCarousel();
50    });
51
52    // Start observing when body is available
53    if (document.body) {
54        observer.observe(document.body, {
55            childList: true,
56            subtree: true
57        });
58    } else {
59        // Wait for body to be available
60        const bodyObserver = new MutationObserver(() => {
61            if (document.body) {
62                bodyObserver.disconnect();
63                observer.observe(document.body, {
64                    childList: true,
65                    subtree: true
66                });
67                removeCarousel();
68            }
69        });
70        bodyObserver.observe(document.documentElement, { childList: true });
71    }
72
73    console.log('Twitch Carousel Remover initialized');
74})();
Twitch Carousel Remover | Robomonkey