async def remove_user(self, user_id):
        """Remove a user from this conversation.

        Args:
            user_id: ID of the user to be removed; accepts :class:`.UserID`,
                ``ParticipantId`` or just :class:`str` IDs.

        Raises:
            .ConversationTypeError: If conversation is not a group.
            .NetworkError: If conversation cannot be removed from.

        Returns:
            :class:`.ConversationEvent` representing the change.
        """
        if not self._conversation.type == hangouts_pb2.CONVERSATION_TYPE_GROUP:
            raise exceptions.ConversationTypeError(
                'Can only remove users to group conversations'
            )
        try:
            response = await self._client.remove_user(
                hangouts_pb2.RemoveUserRequest(
                    request_header=self._client.get_request_header(),
                    event_request_header=self._get_event_request_header(),
                    participant_id=self._wrap_participant_id(user_id),
                )
            )
            return self._wrap_event(response.created_event)
        except exceptions.NetworkError as e:
            logger.warning('Failed to remove user: {}'.format(e))
            raise
Remove a user from this conversation.

        Args:
            user_id: ID of the user to be removed; accepts :class:`.UserID`,
                ``ParticipantId`` or just :class:`str` IDs.

        Raises:
            .ConversationTypeError: If conversation is not a group.
            .NetworkError: If conversation cannot be removed from.

        Returns:
            :class:`.ConversationEvent` representing the change.
        
hangups/conversation.py