Race condition in wait_for_deletion between a manual delete and reacting
Sentry Issue: [BOT-86](https://sentry.io/organizations/python-discord/issues/1861537034/?referrer=github_integration)

The message may be deleted before `wait_for_deletion` has a chance to add a reaction.

```
NotFound: 404 Not Found (error code: 10008): Unknown Message
  File "bot/utils/messages.py", line 38, in wait_for_deletion
    await message.add_reaction(emoji)
  File "discord/message.py", line 953, in add_reaction
    await self._state.http.add_reaction(self.channel.id, self.id, emoji)
  File "discord/http.py", line 243, in request
    raise NotFound(r, data)

Task exception was never retrieved
future: <Task finished name='Task-333258' coro=<wait_for_deletion() done, defined at /bot/bot/utils/messages.py:19> exception=NotFound('404 Not Found (error code: 10008): Unknown Message')>
```
diff --git a/bot/utils/messages.py b/bot/utils/messages.py
index 9cc0d8a3..d0b2342b 100644
--- a/bot/utils/messages.py
+++ b/bot/utils/messages.py
@@ -34,7 +34,11 @@ async def wait_for_deletion(
 
     if attach_emojis:
         for emoji in deletion_emojis:
-            await message.add_reaction(emoji)
+            try:
+                await message.add_reaction(emoji)
+            except discord.NotFound:
+                log.trace(f"Aborting wait_for_deletion: message {message.id} deleted prematurely.")
+                return
 
     def check(reaction: discord.Reaction, user: discord.Member) -> bool:
         """Check that the deletion emoji is reacted by the appropriate user."""
['bot/utils/messages.py']