Avoid 'editing' message with no changes when case is created (#5577)

This commit is contained in:
jack1142 2022-02-20 22:42:56 +01:00 committed by GitHub
parent 78dc1d4cd8
commit 0338e8e0a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -338,6 +338,13 @@ class Case:
self.case_number = case_number self.case_number = case_number
self.message = message self.message = message
async def _set_message(self, message: discord.Message, /) -> None:
# This should only be used for setting the message right after case creation
# in order to avoid making an API request to "edit" the message with changes.
# In all other cases, edit() is correct method.
self.message = message
await _config.custom(_CASES, str(self.guild.id), str(self.case_number)).set(self.to_json())
async def edit(self, data: dict): async def edit(self, data: dict):
""" """
Edits a case Edits a case
@ -992,7 +999,7 @@ async def create_case(
msg = await mod_channel.send(embed=case_content) msg = await mod_channel.send(embed=case_content)
else: else:
msg = await mod_channel.send(case_content) msg = await mod_channel.send(case_content)
await case.edit({"message": msg}) await case._set_message(msg)
except RuntimeError: # modlog channel isn't set except RuntimeError: # modlog channel isn't set
pass pass
except discord.Forbidden: except discord.Forbidden: