You should use append paginate_comments_links() into $output
like so:
add_shortcode ( 'show_recent_comments', 'show_recent_comments_handler' );
function show_recent_comments_handler( $atts, $content = null )
{
extract( shortcode_atts( array(
"count" => 20,
"pretty_permalink" => 0
), $atts ));
$output=""; // this holds the output
if ( is_user_logged_in() )
{
global $current_user;
get_currentuserinfo();
$args = array(
'user_id' => $current_user->ID,
'number' => $count, // how many comments to retrieve
'status' => 'approve'
);
$comments = get_comments( $args );
if ( $comments )
{
$output.= "<ul>\n";
foreach ( $comments as $c )
{
$output.= '<li>';
if ( $pretty_permalink ) // uses a lot more queries (not recommended)
$output.= '<a href="'.get_comment_link( $c->comment_ID ).'">';
else
$output.= '<span id="cm-txt">متن دیدگاه : </span><a href="'.get_settings('siteurl').'/?p='.$c->comment_post_ID.'#comment-'.$c->comment_ID.'">';
$output.= wp_trim_words($c->comment_content, 20, '...');
$output.= '</a><p>در پست: ' . get_the_title($c->comment_post_ID);
$output.= "</li>\n";
}
$output.= '</ul>';
$output .= paginate_comments_links(['echo' => false]); // echo false means that it would return the code instead of echoing it
}
}
return $output;
}