diff options
| author | Rapptz <[email protected]> | 2016-07-15 21:45:23 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2016-07-15 21:45:23 -0400 |
| commit | 18bdd3e7dd230e7fb347404bd39e2ff871bbbe56 (patch) | |
| tree | 5a01b8a5b149f87ef346bcc43b8347d76a5d49a5 | |
| parent | Handle private channel CHANNEL_CREATE better. (diff) | |
| download | discord.py-18bdd3e7dd230e7fb347404bd39e2ff871bbbe56.tar.xz discord.py-18bdd3e7dd230e7fb347404bd39e2ff871bbbe56.zip | |
Make PrivateChannel.__str__ more useful for groups.
Also demote is_private to a property instead of a slot.
| -rw-r--r-- | discord/channel.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/discord/channel.py b/discord/channel.py index 2c1c3495..b6f491ce 100644 --- a/discord/channel.py +++ b/discord/channel.py @@ -294,7 +294,7 @@ class PrivateChannel(Hashable): +-----------+-------------------------------------------------+ | hash(x) | Returns the channel's hash. | +-----------+-------------------------------------------------+ - | str(x) | Returns the string "Direct Message with <User>" | + | str(x) | Returns a string representation of the channel | +-----------+-------------------------------------------------+ Attributes @@ -320,13 +320,12 @@ class PrivateChannel(Hashable): :attr:`ChannelType.group` then this is always ``None``. """ - __slots__ = ['id', 'is_private', 'recipients', 'type', 'owner', 'icon', 'name', 'me'] + __slots__ = ['id', 'recipients', 'type', 'owner', 'icon', 'name', 'me'] def __init__(self, me, **kwargs): self.recipients = [User(**u) for u in kwargs['recipients']] self.id = kwargs['id'] self.me = me - self.is_private = True self.type = ChannelType(kwargs['type']) self._update_group(**kwargs) @@ -336,8 +335,21 @@ class PrivateChannel(Hashable): self.name = kwargs.get('name') self.owner = utils.find(lambda u: u.id == owner_id, self.recipients) + @property + def is_private(self): + return True + def __str__(self): - return 'Direct Message with {0.name}'.format(self.user) + if self.type is ChannelType.private: + return 'Direct Message with {0.name}'.format(self.user) + + if self.name: + return self.name + + if len(self.recipients) == 0: + return 'Unnamed' + + return ', '.join(map(lambda x: x.name, self.recipients)) @property def user(self): |