Hides specific games and keywords on Roblox
// ==UserScript==
// @name Roblox Brainrot Filter
// @namespace http://tampermonkey.net/
// @version 1.1
// @description Hides specific games and keywords on Roblox
// @author You
// @match *://*.roblox.com/*
// @run-at document-end
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
const blockSecondWordA = true;
// Use a Set for faster lookups
const blockIds = new Set([
"97598239454123", "79268393072444", "16116270224", "131346454575416",
"128784467030899", "109983668079237", "103376279822921", "74260430392611",
"89469502395769", "18923620224", "71132543521245", "109881277752094",
"83569851223739", "132768306953643", "88480125732253", "139992937215031",
"86378115369061", "75547400568620", "96645548064314", "91177184562415",
"11276071411", "125700405216363", "99101926472609", "109578395590751",
"126884695634066", "95082159892680", "133237691504819", "77597927786054",
"18799085098", "75568173037446", "85997031767607", "96988868492490",
"90390610040462", "120450743769548", "78724049937437", "75738770295234",
"74384050846716", "137233438285284", "111363135577981", "90945967466286",
"89343390950953", "9397712855", "84133819568736", "85245205758607",
"133872250800930", "108533757090220", "79657240466394", "107646426076756",
"83942919686609", "76285745979410", "16154918775", "96151237893653",
"84681951229584", "80617660156189", "139708186687323", "73189007576537",
"18803315158", "16288616721", "93265851514769"
]);
const keywords = ["grow a", "brainrot", "sprunki", "capybara", "ai", "find the", "would you rather"];
const filter = () => {
const gameLinks = document.querySelectorAll('a[href*="/games/"]');
for (const link of gameLinks) {
if (link.style.display === 'none') continue;
const text = link.textContent.toLowerCase();
const href = link.href;
// Check IDs
let shouldHide = [...blockIds].some(id => href.includes(id));
// Check Keywords
if (!shouldHide) {
shouldHide = keywords.some(k => text.includes(k));
}
// Check pattern
if (!shouldHide && blockSecondWordA) {
const words = text.trim().split(/\s+/);
if (words.length >= 2 && words[1] === "a") {
shouldHide = true;
}
}
if (shouldHide) {
const container = link.closest('.game-card, .game-tile, .grid-item, li');
(container || link).style.display = 'none';
}
}
};
const observer = new MutationObserver(filter);
observer.observe(document.body, { childList: true, subtree: true });
filter();
})();