Post a canvacord rank card to discord
if (context.params.event.content !== '!rank') {
return;
}
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
const canvacord = require('canvacord');
await canvacord.Assets.font.load();
const user = await lib.discord.users['@0.1.5'].retrieve({
user_id: context.params.event.author.id,
});
const rank = new canvacord.Rank()
.setCurrentXP(19)
.setRequiredXP(70)
.setRank(42)
.setLevel(9000)
.setProgressBar(user.banner_color || 'green', 'COLOR')
.setUsername(user.username)
.setDiscriminator(user.discriminator);
if (user.avatar) {
rank.setAvatar(
`https://cdn.discordapp.com/avatars/${user.id}/${user.avatar}.png`
);
} else {
rank.setAvatar(
'https://discord.com/assets/7c8f476123d28d103efe381543274c25.png'
);
}
if (user.banner) {
rank.setBackground(
'IMAGE',
`https://cdn.discordapp.com/banners/${user.id}/${user.banner}.png`
);
}
await lib.discord.channels['@0.2.0'].messages.create({
channel_id: context.params.event.channel_id,
content: `A wild ${user.username} appeared!`,
file: await rank.build(),
filename: 'badge.png',
});