aboutsummaryrefslogtreecommitdiff
path: root/discord/abc.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/abc.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/abc.py')
-rw-r--r--discord/abc.py9
1 files changed, 3 insertions, 6 deletions
diff --git a/discord/abc.py b/discord/abc.py
index ab38c35c..a2ca1e48 100644
--- a/discord/abc.py
+++ b/discord/abc.py
@@ -84,6 +84,7 @@ if TYPE_CHECKING:
from .ui.view import View
from .types.channel import (
PermissionOverwrite as PermissionOverwritePayload,
+ Channel as ChannelPayload,
GuildChannel as GuildChannelPayload,
OverwriteType,
)
@@ -302,11 +303,8 @@ class GuildChannel:
payload.append(d)
await http.bulk_channel_update(self.guild.id, payload, reason=reason)
- self.position = position
- if parent_id is not _undefined:
- self.category_id = int(parent_id) if parent_id else None
- async def _edit(self, options: Dict[str, Any], reason: Optional[str]):
+ async def _edit(self, options: Dict[str, Any], reason: Optional[str]) -> Optional[ChannelPayload]:
try:
parent = options.pop('category')
except KeyError:
@@ -385,8 +383,7 @@ class GuildChannel:
options['type'] = ch_type.value
if options:
- data = await self._state.http.edit_channel(self.id, reason=reason, **options)
- self._update(self.guild, data)
+ return await self._state.http.edit_channel(self.id, reason=reason, **options)
def _fill_overwrites(self, data: GuildChannelPayload) -> None:
self._overwrites = []