code: def parse_command(self, payload):
      mention = "@{}".format(self.name)
      comment = payload["comment"]
  
      if payload["sender"]["login"] == self.name:
          raise EventError("Don't respond to itself")
      elif payload["action"] not in {"created", "edited"}:
          raise EventError("Don't respond to comment deletion")
      elif not comment["body"].lstrip().startswith(mention):
          raise EventError("The bot is not mentioned")
  
      # Parse the comment, removing the bot mentioned (and everything
      # before it)
      command = payload["comment"]["body"].split(mention)[-1]
  
      # then split on newlines and keep only the first line
      # (ignoring all other lines)
      return command.split("\n")[0].strip()
  
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 2 for calling the CommentBot obj's underlying member method code with example usage: obj.parse_command(payload) and returns: command