diff --git a/lib/share/current-author.ts b/lib/share/current-author.ts index b3d73bb..60e5ea8 100644 --- a/lib/share/current-author.ts +++ b/lib/share/current-author.ts @@ -6,6 +6,7 @@ import { db } from "@/db"; import { users } from "@/db/schema"; import type { SessionWithDiscord } from "@/lib/auth/auth"; import { authOptions } from "@/lib/auth/auth-options"; +import { getDiscordMemberProfile } from "@/lib/discord/discord"; import { ShareHttpError } from "@/lib/share/http-error"; import { requireShareSessionIdentity } from "@/lib/share/session"; @@ -22,10 +23,17 @@ export async function requireShareAuthor() { .limit(1); if (!user) throw new ShareHttpError("Unauthorized", 401); + const profile = await getDiscordMemberProfile(discordId); + return { userId: user.id, discordId, - displayName: user.name || session?.user?.name || "Discord user", - avatarUrl: user.image || session?.user?.image || null, + displayName: + profile?.globalName?.trim() || + profile?.username || + user.name || + session?.user?.name || + "Discord user", + avatarUrl: profile?.avatarUrl || user.image || session?.user?.image || null, }; }