diff --git a/index.js b/index.js index 2c471c0..56c6922 100644 --- a/index.js +++ b/index.js @@ -47,6 +47,26 @@ async function findUserByUsername(username) { } } +function getBadgeImageUrl(badgeName) { + badgeName = badgeName.toUpperCase().replace(/ /g, '_'); + let badgeUrl = 'assets/images/badges/xp_badges/'; + + if (badgeName.startsWith('BADGE_A')) { + badgeUrl += 'A/'; + } else if (badgeName.startsWith('BADGE_B')) { + badgeUrl += 'B/'; + } else if (badgeName.startsWith('BADGE_C')) { + badgeUrl += 'C/'; + } else { + // Default to 'A' if badge name doesn't match the expected format + badgeUrl += 'A/'; + } + + badgeUrl += `BADGE_${badgeName}_72p.png`; + console.log(badgeUrl); + return badgeUrl; +} + client.on('interactionCreate', async interaction => { if (!interaction.isCommand()) return; @@ -75,6 +95,8 @@ client.on('interactionCreate', async interaction => { } const user = playerData.profile; + const badgeImageUrl = getBadgeImageUrl(user.current_level_badge); + const embed = new EmbedBuilder() .setTitle(`User: ${playerData.username}`) .setDescription(`Bio: ${user.bio || 'No bio available'}`) @@ -86,6 +108,7 @@ client.on('interactionCreate', async interaction => { { name: 'Current Level Badge', value: user.current_level_badge || 'None', inline: true }, { name: 'XP', value: user.xp.toString(), inline: true } ) + .setImage(badgeImageUrl) .setColor('#0099ff'); if (user.avatar) {