aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2019-03-13 05:59:42 -0400
committerRapptz <[email protected]>2019-03-13 06:02:56 -0400
commit73aca4d4d36e728e906fb6c6bccaaf7060c1b83d (patch)
tree6dc5feee749a1b92d97b06ef6c9bb6ced26618a1
parentHandle type updates in TextChannel._update for news channels. (diff)
downloaddiscord.py-73aca4d4d36e728e906fb6c6bccaaf7060c1b83d.tar.xz
discord.py-73aca4d4d36e728e906fb6c6bccaaf7060c1b83d.zip
Expose Embed.from_data as Embed.from_dict
This is a breaking change.
-rw-r--r--discord/embeds.py16
-rw-r--r--discord/message.py2
-rw-r--r--discord/state.py2
3 files changed, 17 insertions, 3 deletions
diff --git a/discord/embeds.py b/discord/embeds.py
index ddc11b28..1b0c70d0 100644
--- a/discord/embeds.py
+++ b/discord/embeds.py
@@ -112,7 +112,21 @@ class Embed:
self.timestamp = timestamp
@classmethod
- def from_data(cls, data):
+ def from_dict(cls, data):
+ """Converts a :class:`dict` to a :class:`Embed` provided it is in the
+ format that Discord expects it to be in.
+
+ You can find out about this format in the `official Discord documentation`__.
+
+ .. _DiscordDocs: https://discordapp.com/developers/docs/resources/channel#embed-object
+
+ __ DiscordDocs_
+
+ Parameters
+ -----------
+ data: :class:`dict`
+ The dictionary to convert into an embed.
+ """
# we are bypassing __init__ here since it doesn't apply here
self = cls.__new__(cls)
diff --git a/discord/message.py b/discord/message.py
index eadd69fa..71ee8f9a 100644
--- a/discord/message.py
+++ b/discord/message.py
@@ -281,7 +281,7 @@ class Message:
self._try_patch(data, 'type', lambda x: try_enum(MessageType, x))
self._try_patch(data, 'content')
self._try_patch(data, 'attachments', lambda x: [Attachment(data=a, state=self._state) for a in x])
- self._try_patch(data, 'embeds', lambda x: list(map(Embed.from_data, x)))
+ self._try_patch(data, 'embeds', lambda x: list(map(Embed.from_dict, x)))
self._try_patch(data, 'nonce')
for handler in ('author', 'member', 'mentions', 'mention_roles', 'call'):
diff --git a/discord/state.py b/discord/state.py
index b49f3141..0d2bd6f3 100644
--- a/discord/state.py
+++ b/discord/state.py
@@ -391,7 +391,7 @@ class ConnectionState:
message._handle_call(data['call'])
elif 'content' not in data:
# embed only edit
- message.embeds = [Embed.from_data(d) for d in data['embeds']]
+ message.embeds = [Embed.from_dict(d) for d in data['embeds']]
else:
message._update(channel=message.channel, data=data)