1.3.0 • Published 3 years ago

simple-emoji-captcha v1.3.0

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

Motive

Some websites need cheap, fast and easy captcha. This is why simple emoji captcha was born.

How it works?

This package selects a random question from the passed ones, mixes the right answer with the random ones, and returns a token, question and answers, to be solved. Features timeout, which cancels the captcha if it was not solved in the provided timeframe.

Install

npm install simple-emoji-captcha

Usage

It's mandatory to pass atleast the questions, this is a sample of how they should look like, where "q" is the question, and "a" is the answer:

const questions = [
  {
    q: "​F​​r​​o​​n​​​t​​-​​f​​a​c​​i​n​g​ ​b​​a​​​b​y​​ ​​c​h​​i​c​​​k",
    a: "🐥",
  },
  {
    q: "Pineapple",
    a: "🍍",
  },
  {
    q: "Hippopotamus",
    a: "🦛",
  },
]

When creating a new Captcha instance you can pass up to 3 parameters:

  1. Question array as you saw above.
  2. Dummy answer array which will be mixed with the right answer to a question.
  3. The timeout in seconds after which the captcha will be expired.

You can decide to pass only the questions, since the default answers and timeout are ok.

import { Captcha } from "simple-emoji-captcha"

// A new 'Captcha' instance where you can pass questions, random answers and timeout for captcha
const simpleCaptcha = new Captcha(
  [{ q: "Chicken", a: "🐔" }],
  ["🐬", "🐄", "🦆", "🐥", "🥭", "🐚", "🦛"],
  120
)

To generate a captcha you need to use generateCaptcha() method. It accepts 1 optional argument which indicates if random leet should be used. Returns a token, question, and list of answers.

/* Example generate captcha */
const { token, question, answers } = simpleCaptcha.generateCaptcha(true)

To check the captcha you need to use the checkCaptcha() method which accepts the captcha token and answer, Returns true if correct, false if expired or false.

/* Example check captcha. Returns a boolean */
const solved = simpleCaptcha.checkCaptcha("token", "answer")

Full Code,

import { Captcha } from "simple-emoji-captcha"

const simpleCaptcha = new Captcha(
  [{ q: "Chicken", a: "🐔" }],
  ["🐬", "🐄", "🦆", "🐥", "🥭", "🐚", "🦛"],
  120
)

const { token, question, answers } = simpleCaptcha.generateCaptcha(true)

const solved = simpleCaptcha.checkCaptcha(token, correctAnswer)
1.2.0

3 years ago

1.2.2

3 years ago

1.3.0

3 years ago

1.2.1

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago