kahoot no-media

removes all media from kahoot for host and avoid stupid copyright issues

目前为 2023-02-07 提交的版本。查看 最新版本

// ==UserScript==
// @name         kahoot no-media
// @version      1.0
// @description  removes all media from kahoot for host and avoid stupid copyright issues
// @author       epicmines33
// @match        *://play.kahoot.it/*
// @exclude      *://play.kahoot.it/v2/assets/*
// @grant        none
// @run-at       document-start
// @namespace https://greasyfork.org/users/292729
// ==/UserScript==
 
// ---------------------------------------------------------------------------------------------
// script settings
// ---------------------------------------------------------------------------------------------
// removes lobby media
window.parent.kahootNoMediaLobby = true
// removes question media
window.parent.kahootNoMediaQuestion = true
// notice to say media removed during questions
window.parent.kahootNoMediaQuestionNotice = true
// delay to check for media content (milliseconds, 1000 milliseconds = 1 second)
window.parent.kahootNoMediaCheckDelay = 2000
// ---------------------------------------------------------------------------------------------

// loading script
console.log("[KAHOOT-NOMEDIA] loading script")
// checking for antibot
console.log("[KAHOOT-NOMEDIA] checking for antibot..")
window.parent.eisAntibotLoaded = false
// antibot version
window.antibotAdditionalScripts = window.antibotAdditionalScripts || [];
window.antibotAdditionalScripts.push(()=>{
  console.log("[KAHOOT-NOMEDIA] loaded with antibot")
  windw.eisAntibotLoaded = true
  // check for media content
  function checkMediaContent () {
    // checking for lobby media
    var lobbyMediaClass = document.getElementsByClassName("lobby-video__LobbyVideo-sc-cn2c9n-0 jtxkPz lobbystyles__LobbyVideo-sc-1dkblab-2 ePNnII")[0]
    if (windw.kahootNoMediaLobby === true && lobbyMediaClass) {lobbyMediaClass.remove();console.log("[KAHOOT-NOMEDIA] removed lobby video")}
    // checking for question media
    var questionMediaClass = document.querySelector("[data-functional-selector=\"media-container__media-video\"]")
    if (windw.kahootNoMediaQuestion === true && questionMediaClass) {
      if (questionMediaClass.innerText.includes("[KAHOOT-NOMEDIA]")) {return}
      if (windw.kahootNoMediaQuestionNotice === true) {questionMediaClass.innerHTML = `<font size="5">[KAHOOT-NOMEDIA] hidden media content</font>`}
      if (windw.kahootNoMediaQuestionNotice === false) {questionMediaClass.remove()}
      console.log("[KAHOOT-NOMEDIA] removed question video")
    }
  }
  var checkDelay = windw.kahootNoMediaCheckDelay
  setInterval(() => {checkMediaContent()}, checkDelay)
})
// non antibot version
setTimeout(() => {
  var windw = window.parent
  if (windw.eisAntibotLoaded === true) {return}
  console.log("[KAHOOT-NOMEDIA] antibot not found, loaded")
  // check for media content
  function checkMediaContent () {
    // checking for lobby media
    var lobbyMediaClass = document.getElementsByClassName("lobby-video__LobbyVideo-sc-cn2c9n-0 jtxkPz lobbystyles__LobbyVideo-sc-1dkblab-2 ePNnII")[0]
    if (windw.kahootNoMediaLobby === true && lobbyMediaClass) {lobbyMediaClass.remove();console.log("[KAHOOT-NOMEDIA] removed lobby video")}
    // checking for question media
    var questionMediaClass = document.querySelector("[data-functional-selector=\"media-container__media-video\"]")
    if (windw.kahootNoMediaQuestion === true && questionMediaClass) {
      if (questionMediaClass.innerText.includes("[KAHOOT-NOMEDIA]")) {return}
      if (windw.kahootNoMediaQuestionNotice === true) {questionMediaClass.innerHTML = `<font size="5">[KAHOOT-NOMEDIA] hidden media content</font>`}
      if (windw.kahootNoMediaQuestionNotice === false) {questionMediaClass.remove()}
      console.log("[KAHOOT-NOMEDIA] removed question video")
    }
  }
  var checkDelay = windw.kahootNoMediaCheckDelay
  setInterval(() => {checkMediaContent()}, checkDelay)
}, 6000)