22 lines
598 B
TypeScript
22 lines
598 B
TypeScript
export async function getDiscordMemberCount(): Promise<number | null> {
|
|
const token = process.env.DISCORD_BOT_TOKEN;
|
|
const guildId = process.env.DISCORD_GUILD_ID;
|
|
if (!token || !guildId) return null;
|
|
|
|
try {
|
|
const res = await fetch(
|
|
`https://discord.com/api/v10/guilds/${encodeURIComponent(guildId)}?with_counts=true`,
|
|
{
|
|
headers: { Authorization: `Bot ${token}` },
|
|
next: { revalidate: 3600 },
|
|
}
|
|
);
|
|
if (!res.ok) return null;
|
|
|
|
const data = await res.json();
|
|
return data.approximate_member_count ?? null;
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|