about summary refs log tree commit diff stats
path: root/discord
diff options
context:
space:
mode:
Diffstat (limited to 'discord')
-rw-r--r--discord/client.py14
-rw-r--r--discord/utils/rest.py33
2 files changed, 46 insertions, 1 deletions
diff --git a/discord/client.py b/discord/client.py
index 7ba1f96..fc9bcd5 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -16,18 +16,32 @@ from .user import User
 
 
 class GatewayEvents(IntEnum):
+    """
+    Contains constants for the gateway opcodes.
+    """
     DISPATCH = 0
+    """An event was dispatched."""
     HEARTBEAT = 1
+    """Sent at regular intervals by the client to keep the gateway connection alive."""
     IDENTIFY = 2
+    """Used to identify yourself with the token during the initial handshake."""
     PRESENCE = 3
+    """Used to update the client's presence."""
     VOICE_STATE = 4
+    """Used to join and leave voice channels."""
     VOICE_PING = 5
     RESUME = 6
+    """Used to resume a disconnected session."""
     RECONNECT = 7
+    """Used to reconnect to the session."""
     REQUEST_MEMBERS = 8
+    """Used to request information about guild members when there are too many for """
     INVALIDATE_SESSION = 9
+    """Means that the session is invalid. When this is received, you must reconnect and re-identify."""
     HELLO = 10
+    """Acknowledgement of gateway connection."""
     HEARTBEAT_ACK = 11
+    """Acknowledgement of gateway heartbeat."""
     GUILD_SYNC = 12
 
 
diff --git a/discord/utils/rest.py b/discord/utils/rest.py
index 53853ed..652de5d 100644
--- a/discord/utils/rest.py
+++ b/discord/utils/rest.py
@@ -4,11 +4,22 @@ from discord.utils.exceptions import APIException
 
 
 class RESTClient:
+    """
+    Utility class to make it easier to make HTTP requests to Discord's API. This should not be used manually,
+    as it only works with Discord's API and the library should cover anything that can be requested from it. Any
+    requests to other APIs should use `aiohttp`.
+    """
     def __init__(self, token: str, session: aiohttp.ClientSession):
         self.token = token
         self.session = session
 
     async def get(self, url: str):
+        """
+        Makes a GET request to Discord's API.
+
+        **Parameters:**
+        - url: The part of the request URL that goes after `https://discord.com/api/v10`
+        """
         async with self.session.get(url='https://discord.com/api/v10' + url) as r:
             data = await r.json()
             match r.status:
@@ -18,15 +29,29 @@ class RESTClient:
                     raise APIException(data['message'])
 
     async def post(self, url: str, data):
+        """
+        Makes a POST request to Discord's API.
+
+        **Parameters:**
+        - url: The part of the request URL that goes after `https://discord.com/api/v10`
+        - data: The data to post.
+        """
         async with self.session.post(url='https://discord.com/api/v10' + url, data=data) as r:
             data = await r.json()
             match r.status:
-                case 200 | 204:
+                case 200 | 204 | 201:
                     return data
                 case other:
                     raise APIException(data['message'])
 
     async def patch(self, url, data):
+        """
+        Makes a PATCH request to Discord's API.
+
+        **Parameters:**
+        - url: The part of the request URL that goes after `https://discord.com/api/v10`
+        - data: The data to patch.
+        """
         async with self.session.patch(url='https://discord.com/api/v10' + url, data=data) as res:
             data = await res.json()
             match res.status:
@@ -36,6 +61,12 @@ class RESTClient:
                     raise APIException(data['message'])
 
     async def delete(self, url):
+        """
+        Makes a POST request to Discord's API.
+
+        **Parameters:**
+        - url: The part of the request URL that goes after `https://discord.com/api/v10`
+        """
         async with self.session.delete(url='https://discord.com/api/v10' + url) as r:
             data = await r.json()
             match r.status: