Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

216
Views
The captcha is not working for my Discord bot

I have been trying to make a captcha on my discord bot. I am entirely new to JavaScript and I'm struggling to understand the issues. But, that's not the point. When I do 'ri-verification' on the chat, it does not work. It doesn't log anything either. It just does nothing with no errors.

Code:

    const Discord = require('discord.js-12');

    const client = new Discord.Client();

    const prefix = 'ri-';

    const Captcha = require("@haileybot/captcha-generator");

    client.once('ready', () => {
        console.log('Ready!');
    });
    let captcha = new Captcha();
    console.log(captcha.value);
     

    const path = require("path"),
        fs = require("fs")



    captcha.PNGStream.pipe(fs.createWriteStream(path.join(__dirname, `${captcha.value}.png`)));
    captcha.JPEGStream.pipe(fs.createWriteStream(path.join(__dirname, `${captcha.value}.jpeg`)));
     
    client.on('message', async message => {
        if (!message.content.startsWith(prefix) || message.author.bot) return;

        const args = message.content.slice(prefix.length).trim().split(/ +/);

        const command = args.shift().toLowerCase();

        if (command === 'verification') {
            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();
                });
            };

        }
    });
            

    client.login('');
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

You are putting a function inside an if statement. Pretty sure you cannot do that. Either put the function outside the statement or put the contents inside it in the if statement.

I'll explain it further in your DMs :)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!