feat(moderation): case exports will now export as codeblocks instead of files if they are less than 1,800 characters in length

This commit is contained in:
Seaswimmer 2023-12-14 20:06:57 -05:00
parent 716e7a70f6
commit ea9d8fb201
Signed by untrusted user: cswimr
GPG key ID: 1EBC234EEDA901AE

View file

@ -1124,15 +1124,19 @@ class Moderation(commands.Cog):
case = await self.fetch_case(case_number, interaction.guild.id) case = await self.fetch_case(case_number, interaction.guild.id)
if case: if case:
if export: if export:
filename = str(data_manager.cog_data_path(cog_instance=self)) + str(os.sep) + f"moderation_{interaction.guild.id}_case_{case_number}.json" if len(str(case)) > 1800:
filename = str(data_manager.cog_data_path(cog_instance=self)) + str(os.sep) + f"moderation_{interaction.guild.id}_case_{case_number}.json"
with open(filename, "w", encoding="utf-8") as f: with open(filename, "w", encoding="utf-8") as f:
json.dump(case, f, indent=2) json.dump(case, f, indent=2)
await interaction.response.send_message(file=discord.File(filename, f"moderation_{interaction.guild.id}_case_{case_number}.json"), ephemeral=ephemeral) await interaction.response.send_message(file=discord.File(filename, f"moderation_{interaction.guild.id}_case_{case_number}.json"), ephemeral=ephemeral)
os.remove(filename) os.remove(filename)
return return
else:
await interaction.response.send_message(content=f"```json\n{json.dumps(case, indent=2)}```", ephemeral=ephemeral)
return
if changes: if changes:
embed = await self.embed_factory('changes', interaction=interaction, case_dict=case) embed = await self.embed_factory('changes', interaction=interaction, case_dict=case)
else: else: