code: def trigger_bot(
      arrow_token, committers_file, event_name, event_payload
  ):
      from .bot import CommentBot, PullRequestWorkflowBot, actions
      from ruamel.yaml import YAML
  
      event_payload = json.loads(event_payload.read())
      if "comment" in event_name:
          bot = CommentBot(
              name="github-actions", handler=actions, token=arrow_token
          )
          bot.handle(event_name, event_payload)
      else:
          committers = None
          if committers_file:
              committers = [
                  committer["alias"]
                  for committer in YAML().load(committers_file)
              ]
          bot = PullRequestWorkflowBot(
              event_name,
              event_payload,
              token=arrow_token,
              committers=committers,
          )
          bot.handle()
  
imports: from collections import namedtuple
  from io import StringIO
  import click
  import json
  import logging
  import os
  import pathlib
  import sys
  from .benchmark.codec import JsonEncoder
  from .benchmark.compare import RunnerComparator, DEFAULT_THRESHOLD
  from .benchmark.runner import CppBenchmarkRunner, JavaBenchmarkRunner
  from .compat import _import_pandas
  from .lang.cpp import CppCMakeDefinition, CppConfiguration
  from .utils.cli import ArrowBool, validate_arrow_sources, add_optional_command
  from .utils.lint import linter, python_numpydoc, LintValidationException
  from .utils.logger import logger, ctx
  from .utils.source import ArrowSources
  from .utils.tmpdir import tmpdir
label_desc: Use image node_id 20 for calling a global function with example usage: trigger_bot(arrow_token, committers_file, event_name, event_payload) without return types