How to restrict node authors from commenting on their own nodes?
You'd want to use hook_node_view_alter() in your theme to unset the comment form if the logged in user is same as node author. 

function yourtheme_node_view_alter(&amp;$build) {
    global $user;
    // get the uid of logged in user
    $logged_in_uid = $user-&gt;uid;

    // if content type is 'your_content_type'
    if ($build['#bundle'] == 'your_content_type') {

        //get node author's uid
        $node_author = $build['#node']-&gt;uid;

        // if logged in user is the node author - unset comment form and remove the 'Add comment' links from node display
        if ($node_author == $logged_in_uid) {
            unset($build['comments']['comment_form']);
            unset($build['links']['comment']['#links']['comment-add']);
        }
    }
}


Also, you can check out Comment Permissions module. It does not offer the functionality that you need, but it provides more granular permissions than core comment module.


  The Comment Permissions module enables control of commenting by user role and by node type. Additional user permissions for selected node types are added to the user access system so you can configure commenting with more control than Drupal core provides.