Roblox Game Filter

Filters specific Roblox games based on their title. Filters can be adjusted by editing the 'filters' array.

  1. // ==UserScript==
  2. // @name Roblox Game Filter
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.1
  5. // @description Filters specific Roblox games based on their title. Filters can be adjusted by editing the 'filters' array.
  6. // @author Ned - https://github.com/NedWilbur
  7. // @match *.roblox.com/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=roblox.com
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. const filters = ['scar', 'ani-tron', 'detention', 'escape', 'killer', 'terror', 'da hood', ' gun', 'gun ', ' guns', ' guns'];
  14.  
  15. (function() {
  16. 'use strict';
  17.  
  18. window.addEventListener('load', function () {
  19. run();
  20. }, false);
  21.  
  22. window.addEventListener('scroll', function () {
  23. run();
  24. }, false);
  25. }
  26. )();
  27.  
  28. function run() {
  29. if (window.location.href.includes('Keyword=')){
  30. removeCardsFromSearch(filters);
  31. } else {
  32. removeCardsFromDiscover(filters);
  33. }
  34. }
  35.  
  36. function removeCardsFromSearch(filters) {
  37. const cards = document.querySelectorAll('[data-testid="game-tile"]');
  38.  
  39. for (let i = 0; i <= cards.length-1; i++) {
  40. const title = cards[i].getElementsByClassName('game-name-title')[0].getAttribute('title').toLowerCase();
  41.  
  42. for (let k = 0; k <= filters.length-1; k++) {
  43. const filter = filters[k].toLowerCase();
  44. if(title.includes(filter)) {
  45. console.log(`Removing card (contains '${filter}'): ${title}`);
  46. cards[i].remove();
  47. }
  48. }
  49. }
  50. }
  51.  
  52. function removeCardsFromDiscover(filters) {
  53. const cards = document.querySelectorAll('.game-tile');
  54.  
  55. for (let i = 0; i <= cards.length-1; i++) {
  56. const title = cards[i].getAttribute('title').toLowerCase();
  57.  
  58. for (let k = 0; k <= filters.length-1; k++) {
  59. const filter = filters[k].toLowerCase();
  60. if(title.includes(filter)) {
  61. console.log(`Removing card (contains '${filter}'): ${title}`);
  62. cards[i].remove();
  63. }
  64. }
  65. }
  66. }