How to Remove Bots from a Kahoot Game and More

| Fri Jun 05 2020 | edited Wed Dec 02 2020

Before I worked on Kahoot Winner, I created a user script called Kahoot AntiBot. At the time, Kahoot botting/spamming websites were very popular and Kahoot! was not doing anything about it. Now, Kahoot! is a little better at detecting bot flooding sites and blocking them, so there is less of them, but bot flooders still exist and may come back.

How does Kahoot AntiBot work?

Kahoot AntiBot works by modifying Kahoot's JavaScript when the page loads to gain access to the websocket and other variables. By accessing the websocket, the script can block bots without them affecting the game or the lobby.

Whenever a player joins the game, their name is checked against other names and algorithms to make sure that the name is not similar to other names (bot-1 and bot-2) and that it fits certain requirements. For example, names cannot be longer than 16 characters and when the friendly name generator is on, a certain pattern must be met.

Kahoot AntiBot also detects invalid team members, (such as empty teams) and blocks players whose team members seem to come from my Kahoot! library, kahoot.js-updated. Besides team members, it blocks players that join and immediately answer a question as well as players who try to answer the 2-factor authentification multiple times in a short amount of time.

What other options does Kahoot AntiBot have?

Kahoot AntiBot has a few other customizable options.

options panel of Kahoot Winner.

Some of the options that Kahoot AntiBot includes.

The option, Min Answer Timeout, helps to prevent bots that answer immediately by blocking answers that come before 0.5 seconds after the question starts.

Block random names works by blocking names that have more than 3 capital letters mixed in with random lowercase letters. This is mostly used to help filter out bots, but can also block regular humans.

Additional Question Time adds time to the question. This is one of my favorite features, and it is extremely helpful when streaming Kahoot. If you have a stream delay of 10 or 20 seconds, streaming Kahoot is usually a bad idea, but with Kahoot AntiBot, you can simply add 10 seconds to the question! If you want to, you can also remove time from a question.

Block Format First[._-,etc]Last blocks a recent botting format that uses random names with random characters.

The Auto-Lock feature allows you to automatically lock the quiz for one minute when your game gets spammed by bots. Simple set a threshold (in bots/minute) and you're set!

The Lobby Auto-Start Time allows you to automatically start the quiz after a specified number of seconds has passed. This only affects games that use the Automatically progress through questions option and prevents large public lobbies from never starting.

Finally, the Toggle Streak Bonus option allows you to re-enable the answer streak bonus that have been disabled by Kahoot!

How do I install Kahoot AntiBot?

As Kahoot AntiBot is a user script, you need a user script manager for your browser. Something like tampermonkey works great with most browsers, but anything similar should also work. Some browsers don't even need a script manager and can just use the JavaScript as an extension directly.

Enjoy your bot-less games!

Comments


Add a comment