Browse Source

Expose Embed.from_data as Embed.from_dict

This is a breaking change.
pull/1978/head
Rapptz 6 years ago
parent
commit
73aca4d4d3
  1. 16
      discord/embeds.py
  2. 2
      discord/message.py
  3. 2
      discord/state.py

16
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)

2
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'):

2
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)

Loading…
Cancel
Save