From 223616fa8992ff918f5c9e9a83f6668870c9a60f Mon Sep 17 00:00:00 2001 From: plun1331 <49261529+plun1331@users.noreply.github.com> Date: Sun, 24 Apr 2022 14:21:50 -0700 Subject: [PATCH] Change Embed.fields to always return a list (#1287) * Change embed.fields to always return a list * Update embeds.py to remove try block from clear_fields, now that _fields won't ever return an AttributeError Co-authored-by: krittick --- discord/embeds.py | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/discord/embeds.py b/discord/embeds.py index d3d1737e75..07cebbfec4 100644 --- a/discord/embeds.py +++ b/discord/embeds.py @@ -668,17 +668,14 @@ def remove_author(self: E) -> E: return self @property - def fields(self) -> Optional[List[EmbedField]]: + def fields(self) -> List[EmbedField]: """Returns a :class:`list` of :class:`EmbedField` objects denoting the field contents. See :meth:`add_field` for possible values you can access. If the attribute has no value then ``None`` is returned. """ - if self._fields: - return self._fields - else: - return None + return self._fields @fields.setter def fields(self, value: List[EmbedField]) -> None: @@ -692,9 +689,7 @@ def fields(self, value: List[EmbedField]) -> None: if not all(isinstance(x, EmbedField) for x in value): raise TypeError("Expected a list of EmbedField objects.") - self.clear_fields() - for field in value: - self.add_field(name=field.name, value=field.value, inline=field.inline) + self._fields = value def append_field(self, field: EmbedField) -> None: """Appends an :class:`EmbedField` object to the embed. @@ -762,10 +757,7 @@ def insert_field_at(self: E, index: int, *, name: Any, value: Any, inline: bool def clear_fields(self) -> None: """Removes all fields from this embed.""" - try: - self._fields.clear() - except AttributeError: - self._fields = [] + self._fields.clear() def remove_field(self, index: int) -> None: """Removes a field at a specified index.