class_docstr: A class for handling connections and interactions with Slack API.
  Agrs:
      bot_token(str): The bot token for the Slack app.
docstr: Initializes the connection by checking all the params are provided by the user.
code: def __init__(self, name=None, **kwargs):
      """
      Initializes the connection by checking all the params are provided by the user.
      """
      super().__init__(name)
  
      args = kwargs.get("connection_data", {})
      self.connection_args = {}
      handler_config = Config().get("slack_handler", {})
      for k in ["token", "app_token"]:
          if k in args:
              self.connection_args[k] = args[k]
          elif f"SLACK_{k.upper()}" in os.environ:
              self.connection_args[k] = os.environ[f"SLACK_{k.upper()}"]
          elif k in handler_config:
              self.connection_args[k] = handler_config[k]
      self.api = None
      self.is_connected = False
  
      channels = SlackChannelsTable(self)
      self._register_table("channels", channels)
  
      self._socket_mode_client = None
  
imports: import os
  from datetime import datetime, timezone
  import ast
  from typing import List
  import pandas
  from slack_sdk import WebClient
  from slack_sdk.errors import SlackApiError
  from slack_sdk.web.slack_response import SlackResponse
  from slack_sdk.socket_mode import SocketModeClient
  from slack_sdk.socket_mode.request import SocketModeRequest
  from slack_sdk.socket_mode.response import SocketModeResponse
  from mindsdb.interfaces.chatbot.types import ChatBotMessage
  from mindsdb.utilities import log
  from mindsdb.utilities.config import Config
  from mindsdb_sql.parser import ast
  from mindsdb_sql.parser.ast import ASTNode, Update, Delete
  from mindsdb_sql.planner.utils import query_traversal
  from mindsdb.integrations.libs.api_handler import APIChatHandler, APITable, FuncParser
  from mindsdb.integrations.utilities.sql_utils import extract_comparison_conditions
  from mindsdb.integrations.libs.response import HandlerStatusResponse, HandlerResponse, RESPONSE_TYPE
label_desc: Use image node_id 1 to create a new SlackHandler object from inherited base classes: APIChatHandler with example: obj = SlackHandler(name)