aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--discord/client.py31
1 files changed, 29 insertions, 2 deletions
diff --git a/discord/client.py b/discord/client.py
index 621efe3a..1c885d45 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -1684,9 +1684,10 @@ class Client:
Leaves a :class:`Server`.
- Warning
+ Note
--------
- If you are the owner of the server then it is deleted.
+ You cannot leave the server that you own, you must delete it instead
+ via :meth:`delete_server`.
Parameters
----------
@@ -1706,6 +1707,32 @@ class Client:
yield from response.release()
@asyncio.coroutine
+ def delete_server(self, server):
+ """|coro|
+
+ Deletes a :class:`Server`. You must be the server owner to delete the
+ server.
+
+ Parameters
+ ----------
+ server : :class:`Server`
+ The server to delete.
+
+ Raises
+ --------
+ HTTPException
+ If deleting the server failed.
+ Forbidden
+ You do not have permissions to delete the server.
+ """
+
+ url = '{}/@me/guilds/{.id}'.format(endpoints.USERS, server)
+ response = yield from self.session.delete(url, headers=self.headers)
+ log.debug(request_logging_format.format(method='DELETE', response=response))
+ yield from utils._verify_successful_response(response)
+ yield from response.release()
+
+ @asyncio.coroutine
def create_server(self, name, region=None, icon=None):
"""|coro|