Replace Entire Comment Box with Text

Something like this should be pretty universally functional across themes, as long as they use something like the normal comment form code.

if ( ! current_user_can( $capability_required_for_commenting ) ) { 
    add_filter('comments_open', 'disable_comments', 20, 2);
    add_action('comment_form_comments_closed', 'display_no_comment_permissions_message' );
}

And then somewhere you’ll want to define:

function disable_comments() {
    return false;
}

function display_no_comment_permissions_message() { ?>
    <p><?php _e( 'Sorry, but you aren’t able to comment!', 'text-domain' ); ?></p>
<?php }

Probably the place you want to add this is somewhere around the call to comment_form().