aboutsummaryrefslogtreecommitdiff
path: root/discord/template.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2021-08-23 23:46:50 -0400
committerRapptz <[email protected]>2021-08-23 23:46:50 -0400
commit490bbffc935856f885edd9a2d1505ac228c38f72 (patch)
tree46a2aa80b6ebbe1faddd3ddd8c338cce1e8eb613 /discord/template.py
parentFix typing of move role position payload parameter (diff)
downloaddiscord.py-490bbffc935856f885edd9a2d1505ac228c38f72.tar.xz
discord.py-490bbffc935856f885edd9a2d1505ac228c38f72.zip
Remove in-place edits and return fresh instances instead
Fixes #4098
Diffstat (limited to 'discord/template.py')
-rw-r--r--discord/template.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/discord/template.py b/discord/template.py
index 55e3556a..30af3a4d 100644
--- a/discord/template.py
+++ b/discord/template.py
@@ -206,7 +206,7 @@ class Template:
data = await self._state.http.create_from_template(self.code, name, region_value, icon)
return Guild(data=data, state=self._state)
- async def sync(self) -> None:
+ async def sync(self) -> Template:
"""|coro|
Sync the template to the guild's current state.
@@ -216,6 +216,9 @@ class Template:
.. versionadded:: 1.7
+ .. versionchanged:: 2.0
+ The template is no longer edited in-place, instead it is returned.
+
Raises
-------
HTTPException
@@ -224,17 +227,22 @@ class Template:
You don't have permissions to edit the template.
NotFound
This template does not exist.
+
+ Returns
+ --------
+ :class:`Template`
+ The newly edited template.
"""
data = await self._state.http.sync_template(self.source_guild.id, self.code)
- self._store(data)
+ return Template(state=self._state, data=data)
async def edit(
self,
*,
name: str = MISSING,
description: Optional[str] = MISSING,
- ) -> None:
+ ) -> Template:
"""|coro|
Edit the template metadata.
@@ -244,6 +252,9 @@ class Template:
.. versionadded:: 1.7
+ .. versionchanged:: 2.0
+ The template is no longer edited in-place, instead it is returned.
+
Parameters
------------
name: :class:`str`
@@ -259,6 +270,11 @@ class Template:
You don't have permissions to edit the template.
NotFound
This template does not exist.
+
+ Returns
+ --------
+ :class:`Template`
+ The newly edited template.
"""
payload = {}
@@ -268,7 +284,7 @@ class Template:
payload['description'] = description
data = await self._state.http.edit_template(self.source_guild.id, self.code, payload)
- self._store(data)
+ return Template(state=self._state, data=data)
async def delete(self) -> None:
"""|coro|