code: def handle(self, event, payload):
      try:
          command = self.parse_command(payload)
      except EventError as e:
          logger.error(e)
          # see the possible reasons in the validate method
          return
  
      if event == "issue_comment":
          return self.handle_issue_comment(command, payload)
      elif event == "pull_request_review_comment":
          return self.handle_review_comment(command, payload)
      else:
          raise ValueError("Unexpected event type {}".format(event))
  
imports: import enum
  import os
  import shlex
  from pathlib import Path
  from functools import lru_cache, partial
  import tempfile
  import click
  import github
  from .utils.git import git
  from .utils.logger import logger
  from .crossbow import Repo, Queue, Config, Target, Job, CommentReport
label_desc: Use image node_id 3 for calling the CommentBot obj's underlying member method code with example usage: obj.handle(event, payload) and returns: self, self