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:
		@@ -32,6 +32,7 @@ from .permissions import Permissions
 | 
			
		||||
from .enums import ChannelType, try_enum
 | 
			
		||||
from .mixins import Hashable
 | 
			
		||||
from . import utils
 | 
			
		||||
from .asset import Asset
 | 
			
		||||
from .errors import ClientException, NoMoreItems
 | 
			
		||||
from .webhook import Webhook
 | 
			
		||||
 | 
			
		||||
@@ -996,11 +997,8 @@ class GroupChannel(discord.abc.Messageable, Hashable):
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def icon_url(self):
 | 
			
		||||
        """Returns the channel's icon URL if available or an empty string otherwise."""
 | 
			
		||||
        if self.icon is None:
 | 
			
		||||
            return ''
 | 
			
		||||
 | 
			
		||||
        return 'https://cdn.discordapp.com/channel-icons/{0.id}/{0.icon}.jpg'.format(self)
 | 
			
		||||
        """:class:`Asset`: Returns the channel's icon asset if available."""
 | 
			
		||||
        return Asset._from_icon(self._state, self, 'channel')
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def created_at(self):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user