34 lines
973 B
TypeScript
34 lines
973 B
TypeScript
import { getGuildMemberIdentity } from "@minecraft-account-manager/minecraft";
|
|
import { logger } from "@/lib/logger";
|
|
|
|
export async function discordIdentity(input: {
|
|
discordUserId: string;
|
|
discordUsername: string;
|
|
discordGlobalName: string | null;
|
|
}) {
|
|
const guildId = process.env.DISCORD_GUILD_ID?.trim();
|
|
const botToken = process.env.DISCORD_BOT_TOKEN?.trim();
|
|
const fallback = {
|
|
id: input.discordUserId,
|
|
username: input.discordUsername,
|
|
globalName: input.discordGlobalName,
|
|
nickname: null as string | null,
|
|
live: false,
|
|
};
|
|
if (!guildId || !botToken) return fallback;
|
|
|
|
try {
|
|
return { ...await getGuildMemberIdentity({
|
|
guildId,
|
|
discordUserId: input.discordUserId,
|
|
botToken,
|
|
}), live: true };
|
|
} catch (error) {
|
|
logger.warn(
|
|
{ err: error, event: "discord.identity_lookup_failed", discordUserId: input.discordUserId },
|
|
"Discord guild identity lookup failed",
|
|
);
|
|
return fallback;
|
|
}
|
|
}
|