From fc560db72de9f4d8902b46ceaea01e302dd35a11 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Fri, 5 Nov 2021 12:18:23 +0100 Subject: [PATCH] Stop fetching the messages when getting the cases in Modlog (#4977) * Use PartialMessage when Case is fetched from Config * Update docstring --- redbot/core/modlog.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 69ec40fb8..0b588cd65 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -286,8 +286,11 @@ class Case: modified_at: Optional[float] The UNIX time of the last change to the case. `None` if the case was never edited. - message: Optional[discord.Message] + message: Optional[Union[discord.PartialMessage, discord.Message]] The message created by Modlog for this case. + Instance of `discord.Message` *if* the Case object was returned from + `modlog.create_case()`, otherwise `discord.PartialMessage`. + `None` if we know that the message no longer exists (note: it might not exist regardless of whether this attribute is `None`) or if it has never been created. @@ -311,7 +314,7 @@ class Case: channel: Optional[Union[discord.abc.GuildChannel, int]] = None, amended_by: Optional[Union[discord.Object, discord.abc.User, int]] = None, modified_at: Optional[float] = None, - message: Optional[discord.Message] = None, + message: Optional[Union[discord.PartialMessage, discord.Message]] = None, last_known_username: Optional[str] = None, ): self.bot = bot @@ -617,14 +620,7 @@ class Case: if message is None: message_id = data.get("message") if message_id is not None: - message = discord.utils.get(bot.cached_messages, id=message_id) - if message is None: - try: - message = await mod_channel.fetch_message(message_id) - except discord.HTTPException: - message = None - else: - message = None + message = mod_channel.get_partial_message(message_id) user_objects = {"user": None, "moderator": None, "amended_by": None} for user_key in tuple(user_objects):