This snippet lets you get any users banner! You can do 'banner-' to get your banner or 'banner- <mention>' to get someone else's banner!
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
if (context.params.event.content.startsWith('banner-')) {
let user_id = context.params.event.mentions[0]
? context.params.event.mentions[0].id
: context.params.event.author.id;
let user = await lib.discord.users['@0.1.5'].retrieve({
user_id: user_id,
});
let banner_url = null;
let title = null;
let hex = null;
if (user.banner) {
let extention = user.banner.startsWith('a_') ? 'gif' : 'png';
banner_url = `https://cdn.discordapp.com/banners/${user.id}/${user.banner}.${extention}`;
title = `${user.username}'s banner`;
hex = '00ff37';
} else if (user.banner_color && !user.banner) {
hex = user.banner_color.replace('#', '');
title = `${user.username}'s banner color`;
banner_url = `https://api.alexflipnote.dev/color/image/${hex}`;
//user dont have banner but has banner color
} else if (!user.banner_color && !user.banner) {
await lib.discord.channels['@0.2.0'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: `This user doesn't have a banner or banner color!`,
});
return;
//user doesn't have banner color nor banner
}
await lib.discord.channels['@0.2.0'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: '',
tts: false,
embeds: [
{
type: 'rich',
title: `${title}`,
description: '',
color: parseInt(hex, 16),
timestamp: `${context.params.event.timestamp}`,
image: {
url: `${banner_url}`,
height: 0,
width: 0,
},
footer: {
text: `Requested by ${context.params.event.author.username}#${context.params.event.author.discriminator}`,
icon_url: `https://cdn.discordapp.com/avatars/${context.params.event.author.id}/${context.params.event.author.avatar}.png`,
},
},
],
});
}