🏠 Home 

Never Let Chat Pause

Automatically clicks elements on Kick.com to keep the chat or other elements active, with a pause feature using the Delete key.

// ==UserScript==
// @name         Never Let Chat Pause
// @namespace    https://greasyfork.org/en/users/1200587-trilla-g
// @version      5.0
// @description  Automatically clicks elements on Kick.com to keep the chat or other elements active, with a pause feature using the Delete key.
// @author       Trilla_G
// @match        *://*.kick.com/*
// @grant        none
// @license      MIT
// ==/UserScript==
(function () {
'use strict';
// Define the selector for the target element
const targetSelector = '.betterhover\\:hover\\:bg-surface-higher';
// State to track whether the script is paused
let scriptPaused = false;
// Set up an observer to watch for the target entering the viewport
const observer = new IntersectionObserver(entries => {
if (!scriptPaused) {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.click();
}
});
}
});
// Function to monitor and observe the target
function observeTarget() {
if (scriptPaused) return; // Skip functionality when paused
const target = document.querySelector(targetSelector);
if (target) {
observer.observe(target);
}
}
// Set up a MutationObserver to detect changes in the page and find the target
const mutationObserver = new MutationObserver(() => {
if (!scriptPaused) observeTarget();
});
mutationObserver.observe(document.body, { childList: true, subtree: true });
// Automatic clicking every 15 seconds
const autoClickInterval = setInterval(() => {
if (!scriptPaused) {
const target = document.querySelector(targetSelector);
if (target) {
target.click();
}
}
}, 15000); // 15 seconds
// Pause the script for 15 seconds when the Delete key is pressed
document.addEventListener('keydown', (event) => {
if (event.key === 'Delete' && !scriptPaused) {
console.log('Script paused for 15 seconds.');
scriptPaused = true;
// Disconnect observers and pause automatic actions
observer.disconnect();
mutationObserver.disconnect();
// R###me script after 15 seconds
setTimeout(() => {
console.log('Script r###med.');
scriptPaused = false;
// Reconnect observers
observeTarget();
mutationObserver.observe(document.body, { childList: true, subtree: true });
}, 15000);
}
});
// Initial observation
observeTarget();
})();