Blooket.JS
Version 1.2.2
Table Of Contents
Features
- Joining games
- Playing games
- Bot Spam
- Random Blook
- Auto answer (can be set to do it correctly, see this issue)
- Can use "Prizes", like the normal client
Semi-Bugs
(Bugs that are not bad)
- Answering takes 1 second exactly
- If a player swaps with the client, the client does not lose any gold
Bugs
- Client swapping does not work (Only for Gold Quest)
- Client can't join mid-game (Not Applicable for Battle Royale or Classic Game Mode)
- In
modules/socket.js
, there is a typo on line 83
, causing some WebSocket issues. (Patched in Version 1.2)
Documentation
Installing
Run npm install blooket.js
to install Blooket.JS
Using
To import the package, use
const Blooket = require("blooket.js")
const game = new Blooket()
The Blooket()
class can have options with it. The options you can use are below
Option | Description | Type | Values | Default Value |
---|
repeat | Once the client answers all questions, will it start over | Boolean | true/false | true |
blookcash | (Factory Mode Only) How much cash each block should give. | Integer | Any number | 100 |
blooktime | (Factory Mode Only) How long between the books generating cash | Integer (milliseconds) | Any Number | 1000 |
answertime | (Battle Royale Mode Only) How long it took the client to answer | Integer (milliseconds 1 to 20000) | Any number 1 to 20000 | 1 |
cafebonus | (Cafe Mode Only) The amount of cash to give the client after every answer. | Integer | Any number | 100 |
towerbonus | (Tower Defense Mode Only) The amount of cash to give the client after every answer. | Integer | Any number | 1 |
The options should be formatted as a JSON object like such
const game = new Blooket({
option: value
})
Joining Games
To join a game, run the following command
game.join(pin,name,animal)
Functions
-
join(pin, name, animal)
This join function is the main function run by the user,
It returns the events listed in the events section
-
connect()
The connect function is run by join() function, as shown in the blooket.js
file. It connected the user to the socket and game.
-
startquestion()
The startquestion function is used after NextQuestion
is emited (see NextQuestion
in Events
and NextQuestion
in Examples
), it is used to start the next question.
-
answer(a)
The answer function is used to answer the question. the a
variable can be a number 1 through 4. The answer function is called by the user after QuestionStart
is emitted. (See QuestionStart
in Events
and answer
in Examples
).
The autocorrect
function is a function to be used in place of the a
variable within the game.answer
function. So, instead of running game.answer(1,2,3 or 4)
, run game.answer(game.autocorrect())
-
getgold(p)
(Only in Gold Quest) The getgold function is used to collect your prize. The p
variable can by a number 1 through 3. The prizes you can get are randomly selected (see modules/goldchance.js
). This function is run when the user handles the GetGold
event. (See GetGold
in Events
).
-
swap(player)
(Only in Gold Quest) The swap function is used to swap with a player. The player
variable should be a name of a player in the game, or a Object.keys()
function like Object.keys({variable})[0]
replacing 0
with a number 0-through the amount of players subtracted by 1 (ex: 20 players means number 0 through 19). It is used while handling the Swap
event (see Swap
in Events
and Swap and Steal
in Examples
).
-
rob(player)
(Only in Gold Quest) The rob function is used to steal from a player. The player
variable should be a name of a player in the game, or a Object.keys()
function like Object.keys({variable})[0]
replacing 0
with a number 0-through the amount of players subtracted by 1 (ex: 20 players means number 0 through 19). It is used while handling the Steal
event (see Steal
in Events
and Swap and Steal
in Examples
).
-
BotSpam(pin, name, animal, n)
Using the BotSpam function will unleash a army of even robots to destroy the world:boom: :scream: :boom:! No it will not... yet... The BotSpam function takes all the normal join arguments (pin
, name
, animal
), and one extra, n
. This variable should be positive number. It is the number of bots to spam the game with. (The bots will not answer questions but might in the future). The BotSpam
function should be the ONLY function in the script when used. The correct way to call this function to use the following snippet
const Blooket = require("blooket.js")
const game = new Blooket()
game.BotSpam(PIN,Name,Animal, Number)
The Bot's names will be as such "Name0", "Name1", "Name2"...
Events
The Blooket.JS class emits events at different times. Below is a brief explanation of the events
-
Joined
This is emitted when the client joins the game
-
GameStart
The GameStart event is emitted when the game begins, this event does not work in Battle Royale Mode.
-
QuestionStart
The QuestionStart event is emitted when a question begins. While handling this event, it is required to run the game.answer()
function.
-
Correct
The Correct event is emitted when a question is answered correctly.
-
GetGold
The GetGold event is emitted when a player gets a question correct, and they are playing in gold quest mode. When handling this event, it is required to run the game.getgold()
function.
-
Swap
The Swap event is emitted when the game.getgold()
function returns swap
as the prize. for more prize details, see the modules/goldchance.js
file. When handling this event, it is required to run the game.swap()
function. Returns a list of players
-
Steal
The Steal event is emitted similarly to the Swap event, except instead running game.swap()
, it is required to run game.rob()
. Returns a list of players
-
NextQuestion
The NextQuestion event is emitted when the question has ended, and the prizes (gold, cash, blooks, etc.) have been processed, when handling this event, this is required to run the game.startquestion()
function.
-
Debug Events
-
SocketConnect
The SocketConnect event is emitted once the client connects to the Blooket.JS socket.
Examples
game.on("QuestionStart", function() {
game.answer(1)
})
game.on("GetGold", function() {
game.getgold(1)
})
game.on("Swap", function(p) {
game.swap(Object.keys(p)[0])
})
game.on("Steal", function(p) {
game.rob(Object.keys(p)[0])
})
game.on("NextQuestion", function() {
game.startquestion()
})
Upcoming Features
Powerups/Glitch
support in Factory Mode- And more
My Other Projects
Some other projects I have created and worked on:
-
The First Transcontinental Railroad - Website, Repo
A website with information on the First Transcontinental Railroad, also good for a website example. (Uses examples from w3schools.)
-
Blooket API - Website, Repo
Similar to this project, but online, it is still buggy.
-
EmbedCode - Website, Repo
EmbedCode in a website that allows to embed your source code into an iframe, with syntax highlighting and line numbering. Check the repo for more info.