Expanding a function to call a plugin or show a link

Have you tried:

function my_members_only_shortcode($atts, $content = null) {
    if ( !is_user_logged_in() ) {
        $content="<p>This content is for members only. Please log in or register first.</p>" . do_shortcode('[do_widget "Social Login" ]');
    }
    return $content;
}

That should replace the content with your message and special short code content only if the user is not logged in.

The short code looks funky to me … so correct it if I have it wrong, but the idea is to just replace the content and use do_shortcode(‘[your_shortcode_here]’) to append the form to your custom message… and leave the content alone if they are logged in.