简体   繁体   中英

Quick.db discord.js

I'm making a userinfo command that returns items from a .db file but it returns as [object Object] . How do i make it so it returns the names? heres my code:

const { MessageEmbed } = require(`discord.js`)
const db = require(`quick.db`);

exports.execute = async(client, message, args) => {
    let member = message.mentions.members.first() || message.member;
    let hasStarted = db.fetch(`started_${member.id}`)
    let bal = db.fetch(`money_${member.id}`)
    let items = db.get(`items_${member.id}`)
    let displayItems;
    let started;

    if (bal === null) bal = 0;
    if (items === null) {
        displayItems = 'This user has no items!';
    } else {
        displayItems = items;
    }
    if (hasStarted === null) {
        started = 'False'
    } else {
        started = 'True'
    }

    const userEmbed = new MessageEmbed()
    .setTitle(member.displayName + '#' + member.user.discriminator + "'s Profile")
    .addField(`Balance:`, bal)
    .addField(`Items:`, displayItems)
    .addField(`Has Started:`, started)
    .setFooter(`Requested By: ${message.author.username}`, message.author.avatarURL({ dynamic:true }))
    .setImage(member.user.avatarURL({ dynamic:true }))
    message.channel.send(userEmbed)
}

exports.help = {
    name: 'userinfo',
    aliases: ['user'],
    usage: 'userinfo <user>'
}

Discord doesn't send objects, but strings. If the data is an Object, you should try:

// Send this, not object:
c.send(JSON.stringify(object)) // Also, you should wrap in a code block with the JSON language, it'll look much nicer

If it's a Promise, you should try:

c.send(await promise)

try this

let member = message.mentions.members.first() || message.member;
let hasStarted = db.fetch(`started_${member.id}`)
let bal = db.fetch(`money_${member.id}`)
let items = db.get(`items_${member.id}`)
let displayItems;
let started;

if (bal === null) bal = 0;
if (items === null) {
    displayItems = 'This user has no items!';
} else {
    displayItems = items;
}
if (hasStarted === null) {
    started = 'False'
} else {
    started = 'True'
}

const userEmbed = new MessageEmbed()
.setTitle(member.displayName + '#' + member.user.discriminator + "'s Profile")
.addField(`Balance:`, `${bal}`)
.addField(`Items:`, `${displayItems}`)
.addField(`Has Started:`, `${started}`)
.setFooter(`Requested By: ${message.author.username}`, message.author.avatarURL({ dynamic:true }))
.setImage(member.user.avatarURL({ dynamic:true }))
message.channel.send({embeds: [userEmbed}})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM