Canvacord.rank is not a function

Viewed 335

When I run the command "!rank", an error message is displayed on the terminal :

TypeError: Canvacord.rank is not a function

Version of canvacord 5.0.8

    let img = await Canvacord.rank({
        username: user.username,
        discrim: user.discriminator,
        status: user.presence.status,
        currentXP: xp.toString(),
        neededXP: xpNeeded.toString(),
        rank,
        level,
        avatarURL: user.displayAvatarURL({ format: "png"}),
        color: "white"
    })
2 Answers

This one is a subtle typo: looking at their documentation, it seems that "Rank" Must be capitalized:

   let img = await Canvacord.Rank({
        username: user.username,
        discrim: user.discriminator,
        status: user.presence.status,
        currentXP: xp.toString(),
        neededXP: xpNeeded.toString(),
        rank,
        level,
        avatarURL: user.displayAvatarURL({ format: "png"}),
        color: "white"
    })

This should do the trick!

Canvacord#Rank is a class so based on examples, it should be something like this:

const rank = new canvacord.Rank()
    .setAvatar(user.displayAvatarURL({ format: "png"}))
    .setCurrentXP(xp)
    .setRequiredXP(xpNeeded)
    .setStatus(user.presence.status)
    .setUsername(user.username)
    .setDiscriminator(user.discriminator)
    .setRank(rank)
    .setLevel(level)

rank.build()
    .then(buffer => {
        const attachment = new Discord.MessageAttachment(buffer, "RankCard.png");
        message.channel.send(attachment);
    });
Related