@haileybot/captcha-generator
    TypeScript icon, indicating that this package has built-in type declarations

    1.7.0 • Public • Published

    Captcha Generator

    NPM version NPM downloads Dependencies
    License FOSSA Status Code Coverage
    GitHub Sponsors PayPal

    Captcha Generator is a Node library for quickly and easily generating captcha images that can be used through an authorized bot to verify human users on a chat platform such as Slack or Discord.

    Installation

    Use the package manager npm to install Captcha Generator

    npm i @haileybot/captcha-generator

    Usage

    Basic

    // Import the module
    const Captcha = require("@haileybot/captcha-generator");
    
    // Create a new Captcha object
    //  - Optional argument to specify image height (250 to 400px, default 250)
    //    - Image width is 400px
    //  - Returned object will contain 4 properties
    //    - "PNGStream" is a stream object for the image file in PNG format
    //    - "JPEGStream" is a stream object for the image file in JPEG format
    //    - "dataURL" is a data URL containing the JPEG image data
    //    - "value" is the 6 character code the image contains
    let captcha = new Captcha();
    console.log(captcha.value);

    Save to file example

    const path = require("path"),
    	fs = require("fs"),
    	Captcha = require("@haileybot/captcha-generator");
    
    let captcha = new Captcha();
    captcha.PNGStream.pipe(fs.createWriteStream(path.join(__dirname, `${captcha.value}.png`)));
    captcha.JPEGStream.pipe(fs.createWriteStream(path.join(__dirname, `${captcha.value}.jpeg`)));

    Discord Example

    This example assumes you already have the core framework of a Discord Bot set up

    const Captcha = require("@haileybot/captcha-generator");
    
    // Use this function for blocking certain commands or features from automated self-bots
    function verifyHuman(msg) {
    	let captcha = new Captcha();
    	msg.channel.send(
    		"**Enter the text shown in the image below:**",
    		new Discord.MessageAttachment(captcha.JPEGStream, "captcha.jpeg")
    	);
    	let collector = msg.channel.createMessageCollector(m => m.author.id === msg.author.id);
    	collector.on("collect", m => {
    		if (m.content.toUpperCase() === captcha.value) msg.channel.send("Verified Successfully!");
    		else msg.channel.send("Failed Verification!");
    		collector.stop();
    	});
    }

    License

    This project is licensed under GPL-3.0

    FOSSA Status

    Install

    npm i @haileybot/captcha-generator

    DownloadsWeekly Downloads

    346

    Version

    1.7.0

    License

    GPL-3.0

    Unpacked Size

    87.3 kB

    Total Files

    10

    Last publish

    Collaborators

    • cheesits456