Listen to CHANNEL_UPDATE events and add on_channel_update

This commit is contained in:
Rapptz
2015-09-25 16:09:10 -04:00
parent 773fc0ad97
commit 120b9cd3b2
3 changed files with 17 additions and 0 deletions

View File

@ -59,6 +59,9 @@ class Channel(object):
"""
def __init__(self, **kwargs):
self.update(**kwargs)
def update(self, **kwargs):
self.name = kwargs.get('name')
self.server = kwargs.get('server')
self.id = kwargs.get('id')

View File

@ -114,6 +114,7 @@ class Client(object):
'on_status': _null_event,
'on_channel_delete': _null_event,
'on_channel_create': _null_event,
'on_channel_update': _null_event,
'on_member_join': _null_event,
'on_member_remove': _null_event,
'on_member_update': _null_event,
@ -265,6 +266,13 @@ class Client(object):
channel = utils.find(lambda c: c.id == channel_id, server.channels)
server.channels.remove(channel)
self._invoke_event('on_channel_delete', channel)
elif event == 'CHANNEL_UPDATE':
server = self._get_server(data.get('guild_id'))
if server is not None:
channel_id = data.get('id')
channel = utils.find(lambda c: c.id == channel_id, server.channels)
channel.update(server=server, **data)
self._invoke_event('on_channel_update', channel)
elif event == 'CHANNEL_CREATE':
is_private = data.get('is_private', False)
channel = None