diff --git a/jarvis/cogs/ctc2.py b/jarvis/cogs/ctc2.py index 2919fc4..9bf774c 100644 --- a/jarvis/cogs/ctc2.py +++ b/jarvis/cogs/ctc2.py @@ -5,6 +5,8 @@ import re import aiohttp from jarvis_core.db import q from jarvis_core.db.models import Guess + +from jarvis.utils import build_embed from naff import Client, Extension, InteractionContext from naff.ext.paginators import Paginator from naff.models.discord.components import ActionRow, Button, ButtonStyles @@ -109,14 +111,16 @@ class CTCCog(Extension): @cooldown(bucket=Buckets.USER, rate=1, interval=2) async def _guesses(self, ctx: InteractionContext) -> None: await ctx.defer() + cache = {} guesses = Guess.find().sort("correct", -1).sort("id", -1) fields = [] async for guess in guesses: - user = await self.bot.fetch_user(guess["user"]) + user = cache.get(guess["user"]) or await self.bot.fetch_user(guess["user"]) if not user: user = "[redacted]" if isinstance(user, (Member, User)): user = user.username + "#" + user.discriminator + cache[guess["user"]] = user name = "Correctly" if guess["correct"] else "Incorrectly" name += " guessed by: " + user fields.append(