0

I am developing a simple Discord trivia bot (using Discord.js). I am using the code below, but Glitch is giving me errors saying userAnswer is not defined and answered is not defined etc The code should select a random question, then ask it and wait for an answer and say whether it is correct or incorrect. I have no idea why the errors are occurring.

Any help would be greatly appreciated.

const Discord = require("discord.js")
const { Client, MessageAttachment, MessageEmbed, MemberAdd, RichEmbed } = require('discord.js'); 
const client = new Client(); 

client.on("ready", () => {
    client.user.setActivity("ihs help",{
        type:"STREAMING",
        url:"https://www.twitch.tv/ihsbot"
    })
    console.log("I am ready!");

client.on("guildMemberAdd", member => {
  member.send(
    "Welcome to the server! Please follow our server's rules. Have fun! "
  )
})

client.on('message', message, msg => {
  if (answered == false) {
    userAnswer = msg;
    if (userAnswer == cAnswer) {
      message.reply ("got it right!")
    }
    else {
      message.reply ("got it wrong!")
    }
    answered = true; cAnswer = ""; userAnswer = "";
  }

  if (msg.startsWith("ihs quiz")) {
    answered = true;
    cAnswer = "";
    userAnswer = "";
    number = 3;
    random = Math.floor (Match.random() * (number - 1 + 1)) + 1;
    switch (random) {
      case 1: message.channel.send ("**Question** n\A) Answer1 n\B) Answer2 n\C) Answer3 n\D) Answer4"); cAnswer = "a"
      case 2: message.channel.send ("**Question** n\A) Answer1 n\B) Answer2 n\C) Answer3 n\D) Answer4"); cAnswer = "a"
      case 3: message.channel.send ("**Question** n\A) Answer1 n\B) Answer2 n\C) Answer3 n\D) Answer4"); cAnswer = "a"
    }
    answered = false;
  }
});

client.login("TOKEN");
Syntle
  • 5,168
  • 3
  • 13
  • 34

1 Answers1

0

Node.JS isnt like PHP, where you can just put the value to variable, but you must first declare it, there are 3 main types: const = constant variable, that you dont change, let and var = variables, that can change, for mor info about the diference, this is nice article What's the difference between using "let" and "var"?. To declare variable, do var varName (same for let and const).