Skip to content

Commit 0200758

Browse files
committed
chore: helper cache
1 parent 59e0a44 commit 0200758

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

packages/bot/src/util/getUserGuilds.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { PrismaClient } from '@prisma/client';
2-
import type { Guild } from 'discord.js';
2+
import type { Guild, Snowflake } from 'discord.js';
33
import { Client, Collection } from 'discord.js';
44
import { container } from 'tsyringe';
55

6+
const CACHED = new Set<Snowflake>();
7+
68
export async function getUserGuilds(userId: string): Promise<Collection<string, Guild>> {
79
const client = container.resolve(Client);
810
const prisma = container.resolve(PrismaClient);
@@ -12,8 +14,13 @@ export async function getUserGuilds(userId: string): Promise<Collection<string,
1214
guild.members
1315
.fetch(userId)
1416
.then(async () => {
17+
if (CACHED.has(guild.id)) {
18+
return [guild.id, guild];
19+
}
20+
1521
const settings = await prisma.guildSettings.findFirst({ where: { guildId: guild.id } });
1622
if (settings?.modmailChannelId) {
23+
CACHED.add(guild.id);
1724
return [guild.id, guild];
1825
}
1926

0 commit comments

Comments
 (0)