Redesign asset retrieval in the library.

Most assets now return a new class named `Asset`. This allows for the
assets to be consistently saved via a `save` method instead of special
casing for `Attachment`.

`AppInfo` is no longer a namedtuple it is a fully documented dataclass,
as well as having the state attached to it.

Fixes #1997
This commit is contained in:
NCPlayz
2019-03-21 19:59:58 +00:00
committed by Rapptz
parent dea3ba5eb7
commit be227ebcf0
16 changed files with 332 additions and 155 deletions

View File

@ -31,8 +31,6 @@ from .invite import Invite
from .enums import Status, try_enum
from collections import namedtuple
VALID_ICON_FORMATS = {"jpeg", "jpg", "webp", "png"}
class WidgetChannel(namedtuple('WidgetChannel', 'id name position')):
"""Represents a "partial" widget channel.