export const fetchDiscordUser = async ({ id }): Promise => { let response = await fetch(env.DISCORD.API_URL + `users/${id}`, { headers: { 'Content-Type': 'application/json', 'Authorization': `Bot ${env.DISCORD.API_KEY}` } }); if (response.status >= 429) throw boom.tooManyRequests('Too many requests'); if (response.status >= 427) throw boom.tooManyRequests('Too many requests'); let user = await response.json() as DiscordUser; let bannner: any = user?.banner ? user.banner : ''; let avataar: any = user?.avatar ? user.avatar : ''; return { id: user.id, global_name: user.global_name, created_at: `${new Date(await snowflakeToTimestamp(user.id))}`, avatar: { id: avataar, link: `https://cdn.discordapp.com/avatars/${user.id}/${avataar}.png`, is_animated: avataar.startsWith('a_') ? true : false, }, banner: { id: bannner, link: `https://cdn.discordapp.com/banners/${user.id}/${bannner}.png`, is_animated: bannner.startsWith('a_') ? true : false, color: user.banner_color, }, }; }