Majonez.exe
Majonez.exe

Reputation: 432

Discord.js - Status on date

When I try to set the status to be displayed during a particular date I get an error SyntaxError: Unexpected token if. I also tried to insert the const statuslist = [ into the middle of the "IF" but it didn't work either (I got the error ReferenceError: statuslist is not defined).

Code:

var date = new Date().toJSON().slice(0,10).replace(/-/g,'/');
const enddate = (new Date().getFullYear()) + "/05/13";
const enddateEEP = (new Date().getFullYear()) + "/04/18";

setInterval(async () => {
try {
    const statuslist = [
    if (date == enddate) {
      `🎉 ${client.guilds.size} servers 🎉`,
      `🎉 ${client.users.size} members 🎉`,
      `🎉 ${prefix} help 🎉`,
      `🎉 Happy Birthday Discord! 🎉`,
    } else if(date == enddateEEP) {
      `🔥 ${client.guilds.size} servers 🔥`,
      `🔥 ${client.users.size} members 🔥`,
      `🔥 ${prefix} help 🔥`,
      `🔥 EEP 4 LIFE (05/18)! 🔥`,
    } else {
      `${client.guilds.size} servers`,
      `${client.users.size} members`,
      `${prefix} help`,
    }
    ];

    const random = Math.floor(Math.random() * statuslist.length);

    await client.user.setPresence({
          game: {
          name: `${statuslist[random]}`,
          type: 'WATCHING'
          
        },
        status: "online"
      });

} catch (err) {
return console.log(err);
}
}, 10000);

Upvotes: 1

Views: 312

Answers (1)

user11072506
user11072506

Reputation:

It is is because you can't do operations inside an array, array can have only values. Try something like this instead:

var date = new Date().toJSON().slice(0, 10).replace(/-/g, '/');
const enddate = (new Date().getFullYear()) + "/05/13";
const enddateEEP = (new Date().getFullYear()) + "/04/18";

setInterval(async () => {
    try {
        const statuslist = [

        ];

        if (date == enddate) {
            statuslist.push(
                `🎉 ${client.guilds.size} servers 🎉`,
                `🎉 ${client.users.size} members 🎉`,
                `🎉 ${prefix} help 🎉`,
                `🎉 Happy Birthday Discord! 🎉`
            )
        } else if (date == enddateEEP) {
            statuslist.push(
                `🔥 ${client.guilds.size} servers 🔥`,
                `🔥 ${client.users.size} members 🔥`,
                `🔥 ${prefix} help 🔥`,
                `🔥 EEP 4 LIFE (05/18)! 🔥`
            )
        } else {
            statuslist.push(
                `${client.guilds.size} servers`,
                `${client.users.size} members`,
                `${prefix} help`
            )
        }

        const random = Math.floor(Math.random() * statuslist.length);

        await client.user.setPresence({
            game: {
                name: `${statuslist[random]}`,
                type: 'WATCHING'

            },
            status: "online"
        });

    } catch (err) {
        return console.log(err);
    }
}, 10000);

Note: that i haven't try it but this is what you should do. You should use something like array.push() outside the array instead.

Upvotes: 2

Related Questions