From 3e44a86e8943419d4ef5998b5076191a06dd4414 Mon Sep 17 00:00:00 2001 From: wonderlandpark Date: Sat, 13 Mar 2021 22:06:42 +0900 Subject: [PATCH] feat: handle unknown user --- pages/api/image/discord/avatars/[id].ts | 8 ++++---- utils/Query.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pages/api/image/discord/avatars/[id].ts b/pages/api/image/discord/avatars/[id].ts index 6779149..257ff9c 100644 --- a/pages/api/image/discord/avatars/[id].ts +++ b/pages/api/image/discord/avatars/[id].ts @@ -31,10 +31,10 @@ const Avatar = RequestHandler() if(!validated) return const user = await get.discord.user.load(id) - if(!user) return ResponseWrapper(res, { code: 400, message: '올바르지 않은 유저입니다.' }) - - let img = await get.images.user.load(DiscordEnpoints.CDN.user(id, user.avatar, { format: validated.ext === 'gif' && !user.avatar.startsWith('a_') ? 'png' : validated.ext })) - if(!user.avatar || !img) { + let img: Buffer + if(!user || !user.avatar) img = await get.images.user.load(DiscordEnpoints.CDN.default(Math.floor(Math.random() * 6), { format: 'png', size: validated.size })) + else img = await get.images.user.load(DiscordEnpoints.CDN.user(id, user.avatar, { format: validated.ext === 'gif' && !user.avatar.startsWith('a_') ? 'png' : validated.ext })) + if(!img) { img = await get.images.user.load(DiscordEnpoints.CDN.default(user.discriminator, { format: 'png', size: validated.size })) ext = 'png' } diff --git a/utils/Query.ts b/utils/Query.ts index 6813c56..16317e1 100644 --- a/utils/Query.ts +++ b/utils/Query.ts @@ -80,8 +80,8 @@ async function getUser(id: string, bots = true):Promise { .select(['id']) .where('owners', 'like', `%${id}%`) const discordUser = await get.discord.user.load(id) - res[0].tag = discordUser.discriminator - res[0].username = discordUser.username + res[0].tag = discordUser?.discriminator || '0000' + res[0].username = discordUser?.username || 'Unknown User' if (bots) { res[0].bots = await Promise.all(owned.map(async b => await get._rawBot.load(b.id))) res[0].bots = res[0].bots.filter((el: Bot | null) => el).map((row: User) => ({ ...row }))