docstr: counts conversational comments, checks for #protm tag, counts rxns
docstr_tok: ["counts","conversational","comments",",","checks","for","#","protm","tag",",","counts","rxns"]
code: def calc_conv_comments(self):
      """counts conversational comments, checks for #protm tag, counts rxns"""
      for conv_comment in self.pull_request.get_issue_comments():
          self._users.add(conv_comment.user.login)
          lowercase_body = conv_comment.body.lower()
          if "protm" in lowercase_body:
              self.num_protm += 1
          self.num_conv_comments += 1
          for reaction in conv_comment.get_reactions():
              self._users.add(reaction.user.login)
              self.conv_comment_reactions += 1
          if conv_comment.body is not None:
              self.len_issue_comments += len(conv_comment.body)
  
imports: from __future__ import annotations
  import heapq
  import logging
  import math
  import pickle
  import re
  import textwrap
  from datetime import datetime
  from functools import cached_property
  from typing import TYPE_CHECKING
  import pendulum
  import rich_click
  from github import Github, UnknownObjectException
  from rich.console import Console
label_desc: Use image node_id 4 for calling the PrStat obj's underlying member method code with example usage: obj.calc_conv_comments() without return types