Hannah_Honeybee
Hannah_Honeybee

Reputation: 1

Discord.js Bot to print out an array from MySQL in a single .addField in javascript

I'd like to fetch usernames from a MySQL table and want the bot to print them out in an embedded message. this is what I have so far:

let get_winners = `SELECT UserName FROM resultsoflastbet WHERE oldAmount < newAmount`;
let query2 = mysq.query(get_winners, (err, results) => {
    if(err){
    }
    Object.keys(results).forEach(function (key) {
        const row = results[key];
        let winners = row.UserName;
        let winnersArr = winners.split("\n");
        let botembed = new Discord.RichEmbed()
            .setColor("#15f153")
            .addField("Winners:", `${winnersArr}`);
         message.channel.send(botembed);
    });
});

which will send the message:

Winners:
WinnerNo.1

Winners:
WinnerNo.2

Winners:
WinnerNo.3
.
.
.

but what I want is that it prints it out like this:

Winners:
WinnerNo.1
WinnerNo.2
WinnerNo.2

how do I do that? also when I want to Tag each of them how do I do that as well?

Upvotes: 0

Views: 1569

Answers (1)

Androz2091
Androz2091

Reputation: 3005

You have to do it this way:

let get_winners = `SELECT UserName FROM resultsoflastbet WHERE oldAmount < newAmount`;
let query2 = mysq.query(get_winners, (err, results) => {
    if(err){
    }
    let botembed = new Discord.RichEmbed()
    .setColor("#15f153");
    let winnersString = "";
    Object.keys(results).forEach(function (key) {
        const row = results[key];
        let winners = row.UserName;
        let winnersArr = winners.split("\n");
        winnersString += `\n${winnersArr}`;
    });
    botembed.addField("Winners:", winnersString);
    message.channel.send(botembed);
});

This will create a new empty string and fill it with each winner!

Upvotes: 1

Related Questions