Add on_channel_delete event.
This commit is contained in:
		| @@ -96,6 +96,8 @@ class Client(object): | |||||||
|             'on_message_delete': _null_event, |             'on_message_delete': _null_event, | ||||||
|             'on_message_edit': _null_event, |             'on_message_edit': _null_event, | ||||||
|             'on_status': _null_event, |             'on_status': _null_event, | ||||||
|  |             'on_channel_delete': _null_event, | ||||||
|  |             'on_channel_creation': _null_event, | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         self.ws = WebSocketClient(endpoints.WEBSOCKET_HUB, protocols=['http-only', 'chat']) |         self.ws = WebSocketClient(endpoints.WEBSOCKET_HUB, protocols=['http-only', 'chat']) | ||||||
| @@ -204,6 +206,14 @@ class Client(object): | |||||||
|                 self._invoke_event('on_status', server, user, status, data.get('game_id')) |                 self._invoke_event('on_status', server, user, status, data.get('game_id')) | ||||||
|         elif event == 'USER_UPDATE': |         elif event == 'USER_UPDATE': | ||||||
|             self.user = User(**data) |             self.user = User(**data) | ||||||
|  |         elif event == 'CHANNEL_DELETE': | ||||||
|  |             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_id = data.get('id') | ||||||
|  |                 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) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -63,6 +63,13 @@ All events are 'sandboxed', in that if an exception is thrown while the event is | |||||||
|     :param status: The new status of the user. |     :param status: The new status of the user. | ||||||
|     :param game_id: The game ID that the user is playing. Can be None. |     :param game_id: The game ID that the user is playing. Can be None. | ||||||
|  |  | ||||||
|  | .. function:: on_channel_delete(channel) | ||||||
|  |  | ||||||
|  |     Called whenever a channel is removed from a server. | ||||||
|  |  | ||||||
|  |     Note that you can get the server from :attr:`Channel.server`. | ||||||
|  |  | ||||||
|  |     :param channel: The :class:`Channel` that got deleted. | ||||||
|  |  | ||||||
| Data Classes | Data Classes | ||||||
| -------------- | -------------- | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user