tRPC Discord Lookup
// src/pages/api/trpc/[trpc].ts
export const appRouter = trpc
.router()
.transformer(superjson)
.query("lookup", {
input: z.object({
id: z.string().nullish(),
}),
async resolve({ input }) {
if (!input?.id) return null;
const userData = await fetch(
`https://discord.com/api/v10/users/${input.id}`,
{
headers: { Authorization: `Bot ${process.env.DISCORD_TOKEN}` },
}
).then((res) => res.json());
const publicFlags = getBadges(userData.public_flags);
return {
id: userData.id,
username: userData.username,
discriminator: userData.discriminator,
avatar: userData.avatar,
public_flags: publicFlags,
};
},
});Environment Variables
Create a Discord bot id in the Discord developer portal and copy the Bot Token. Make a .env file and add your token there.
// .env DISCORD_TOKEN="YOUR TOKEN HERE"