diff --git a/disco/gateway/events.py b/disco/gateway/events.py
index 3f6bbf1..5033b03 100644
--- a/disco/gateway/events.py
+++ b/disco/gateway/events.py
@@ -658,3 +658,11 @@ class MessageReactionRemoveAll(GatewayEvent):
     """
     channel_id = Field(snowflake)
     message_id = Field(snowflake)
+
+    @property
+    def channel(self):
+        return self.client.state.channels.get(self.channel_id)
+
+    @property
+    def guild(self):
+        return self.channel.guild
diff --git a/disco/types/message.py b/disco/types/message.py
index 821c9c3..9b33d11 100644
--- a/disco/types/message.py
+++ b/disco/types/message.py
@@ -299,6 +299,21 @@ class Message(SlottedModel):
         """
         return self.client.api.channels_messages_delete(self.channel_id, self.id)
 
+    def get_reactors(self, emoji):
+        """
+        Returns an list of users who reacted to this message with the given emoji.
+
+        Returns
+        -------
+        list(:class:`User`)
+            The users who reacted.
+        """
+        return self.client.api.channels_messages_reactions_get(
+            self.channel_id,
+            self.id,
+            emoji
+        )
+
     def create_reaction(self, emoji):
         if isinstance(emoji, Emoji):
             emoji = emoji.to_string()