From 35084cf98a1d861361c17009df3db30aabf1244a Mon Sep 17 00:00:00 2001 From: Rapptz Date: Sun, 23 Aug 2015 23:37:41 -0400 Subject: Add support for channel creation events. --- discord/client.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'discord') diff --git a/discord/client.py b/discord/client.py index ca5bd80d..714fd045 100644 --- a/discord/client.py +++ b/discord/client.py @@ -97,7 +97,7 @@ class Client(object): 'on_message_edit': _null_event, 'on_status': _null_event, 'on_channel_delete': _null_event, - 'on_channel_creation': _null_event, + 'on_channel_create': _null_event, } self.ws = WebSocketClient(endpoints.WEBSOCKET_HUB, protocols=['http-only', 'chat']) @@ -214,8 +214,22 @@ class Client(object): channel = next((c for c in server.channels if c.id == channel_id), None) server.channels.remove(channel) self._invoke_event('on_channel_delete', channel) + elif event == 'CHANNEL_CREATE': + is_private = data.get('is_private', False) + channel = None + if is_private: + recipient = User(**data.get('recipient')) + pm_id = data.get('id') + channel = PrivateChannel(id=pm_id, user=recipient) + self.private_channels.append(channel) + else: + guild_id = data.get('guild_id') + server = next((s for s in self.servers if s.id == guild_id), None) + if server is not None: + channel = Channel(server=server, **data) + server.channels.append(channel) - + self._invoke_event('on_channel_create', channel) def _opened(self): print('Opened at {}'.format(int(time.time()))) -- cgit v1.2.3