# This is not used anymore, but I'm keeping it here for reference
# TODO: Remove this once we have a better way to handle context menus

# import discord
# from discord import app_commands
# from discord.ext import commands
#
#
# class ContextMenus(commands.Cog, name="context_menus"):
#     def __init__(self, bot) -> None:
#         self.bot = bot
#         self.context_menu_user = app_commands.ContextMenu(
#             name="Grab ID", callback=self.grab_id
#         )
#         self.bot.tree.add_command(self.context_menu_user)
#         self.context_menu_message = app_commands.ContextMenu(
#             name="Remove spoilers", callback=self.remove_spoilers
#         )
#         self.bot.tree.add_command(self.context_menu_message)
#
#     async def remove_spoilers(
#         self, interaction: discord.Interaction, message: discord.Message
#     ) -> None:
#         """
#         Removes the spoilers from the message. This command requires the MESSAGE_CONTENT intent to work properly.
#
#         :param interaction: The application command interaction.
#         :param message: The message that is being interacted with.
#         """
#         spoiler_attachment = None
#         for attachment in message.attachments:
#             if attachment.is_spoiler():
#                 spoiler_attachment = attachment
#                 break
#         embed = discord.Embed(
#             title="Message without spoilers",
#             description=message.content.replace("||", ""),
#             color=0x7289DA,
#         )
#         if spoiler_attachment is not None:
#             embed.set_image(url=attachment.url)
#         await interaction.response.send_message(embed=embed, ephemeral=True)
#
#     async def grab_id(
#         self, interaction: discord.Interaction, user: discord.User
#     ) -> None:
#         """
#         Grabs the ID of the user.
#
#         :param interaction: The application command interaction.
#         :param user: The user that is being interacted with.
#         """
#         embed = discord.Embed(
#             description=f"The ID of {user.mention} is `{user.id}`.",
#             color=0x7289DA,
#         )
#         await interaction.response.send_message(embed=embed, ephemeral=True)
#
#
# async def setup(bot) -> None:
#     await bot.add_cog(ContextMenus(bot))
