add provisional avatar support

This commit is contained in:
bignutty 2024-12-05 20:15:06 +01:00
parent 2161289223
commit be2bf58b51
7 changed files with 31 additions and 13 deletions

View file

@ -39,7 +39,7 @@ async function getMember(context, query){
const { Constants } = require('detritus-client');
const { UserFlags } = Constants
const { BADGE_ICONS, HIDDEN_MASKED_LINK_CHARACTER } = require('../constants');
const { BADGE_ICONS, HIDDEN_MASKED_LINK_CHARACTER, PROVISIONAL_ACCOUNT_AVATARS } = require('../constants');
const { link } = require('./markdown');
const BADGE_TYPES = Object.freeze({
@ -128,13 +128,19 @@ const BADGES = Object.freeze({
function renderBadges(user){
let badges = [];
for(const flag of Object.keys(BADGES)) if(user.hasFlag(BADGES[flag])) badges.push(link(BADGE_TYPES[flag].link, BADGE_TYPES[flag].icon + HIDDEN_MASKED_LINK_CHARACTER, BADGE_TYPES[flag].description))
if(!user.bot && (user.avatarUrl.endsWith('.gif') || user.banner)) { badges.push(link(BADGE_TYPES["nitro"].link, BADGE_TYPES["nitro"].icon + HIDDEN_MASKED_LINK_CHARACTER, BADGE_TYPES["nitro"].description)) }
if(!user.bot && (getUserAvatar(user).endsWith('.gif') || user.banner)) { badges.push(link(BADGE_TYPES["nitro"].link, BADGE_TYPES["nitro"].icon + HIDDEN_MASKED_LINK_CHARACTER, BADGE_TYPES["nitro"].description)) }
return badges;
}
function getUserAvatar(user, size = 4096){
if(user.hasFlag(1<<23)) return PROVISIONAL_ACCOUNT_AVATARS[(BigInt(user.id) >> 22n) % 6n];
return user.avatarUrl + "?size=" + parseInt(size)
}
module.exports = {
getUser,
getMember,
renderBadges
renderBadges,
getUserAvatar
}