Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

blooket.js

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

blooket.js

This is a terminal client for the quiz service known as Blooket

  • 1.2.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

Blooket.JS

Blooket.JS

Version 1.1.0

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

OptionDescriptionTypeValuesDefault Value
repeatOnce the client answers all questions, will it start overBooleantrue/falsetrue
blookcash(Factory Mode Only) How much cash each block should give.IntegerAny number100
blooktime(Factory Mode Only) How long between the books generating cashInteger (milliseconds)Any Number1000
answertime(Battle Royale Mode Only) How long it took the client to answerInteger (milliseconds 1 to 20000)Any number 1 to 200001
cafebonus(Cafe Mode Only) The amount of cash to give the client after every answer.IntegerAny number100

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

  • Answer
game.on("QuestionStart", function() {
  game.answer(1) // can be 1,2,3,4
})
  • GetGold
game.on("GetGold", function() {
  game.getgold(1) // can be 1,2,3
})
  • Swap and Steal
game.on("Swap", function(p) {
  game.swap(Object.keys(p)[0])
})
// Or
game.on("Steal", function(p) {
  game.rob(Object.keys(p)[0])
})
  • NextQuestion
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.

Keywords

FAQs

Package last updated on 23 Feb 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc