Skip to main content

SlackToolkit

A class representing a toolkit for Slack operations. This class provides methods for Slack operations such as creating a new channel, joining an existing channel, leaving a channel.

init

Initializes a new instance of the SlackToolkit class. Parameters:
  • timeout (Optional[float]): The timeout value for API requests in seconds. If None, no timeout is applied. (default: :obj:None)

_login_slack

Authenticate using the Slack API. Parameters:
  • slack_token (str, optional): The Slack API token. If not provided, it attempts to retrieve the token from the environment variable SLACK_BOT_TOKEN or SLACK_USER_TOKEN.
  • ssl (SSLContext, optional): SSL context for secure connections. Defaults to None.
Returns: WebClient: A WebClient object for interacting with Slack API.

create_slack_channel

Creates a new slack channel, either public or private. Parameters:
  • name (str): Name of the public or private channel to create.
  • is_private (bool, optional): Whether to create a private channel instead of a public one. Defaults to True.
Returns: str: JSON string containing information about Slack channel created.

join_slack_channel

Joins an existing Slack channel. When use this function you must call get_slack_channel_information function first to get the channel id. Parameters:
  • channel_id (str): The ID of the Slack channel to join.
Returns: str: A string containing the API response from Slack.

leave_slack_channel

Leaves an existing Slack channel. When use this function you must call get_slack_channel_information function first to get the channel id. Parameters:
  • channel_id (str): The ID of the Slack channel to leave.
Returns: str: A string containing the API response from Slack.

get_slack_channel_information

Returns: str: A JSON string representing a list of channels. Each channel object in the list contains ‘id’, ‘name’, ‘created’, and ‘num_members’. Returns an error message string on failure.

get_slack_channel_message

Retrieve messages from a Slack channel. When use this function you must call get_slack_channel_information function first to get the channel id. Parameters:
  • channel_id (str): The ID of the Slack channel to retrieve messages from.
Returns: str: A JSON string representing a list of messages. Each message object contains ‘user’, ‘text’, and ‘ts’ (timestamp).

send_slack_message

Send a message to a Slack channel. When use this function you must call get_slack_channel_information function first to get the channel id. If use user, you must use get_slack_user_list function first to get the user id. Parameters:
  • message (str): The message to send.
  • channel_id (str): The ID of the channel to send the message to.
  • file_path (Optional[str]): The local path of a file to upload with the message.
  • user (Optional[str]): The ID of a user to send an ephemeral message to (visible only to that user).
Returns: str: A confirmation message indicating success or an error message.

delete_slack_message

Delete a message from a Slack channel. When use this function you must call get_slack_channel_information function first to get the channel id. Parameters:
  • time_stamp (str): The ‘ts’ value of the message to be deleted. You can get this from the get_slack_channel_message function.
  • channel_id (str): The ID of the channel where the message is. Use get_slack_channel_information to find the channel_id.
Returns: str: A string containing the API response from Slack.

get_slack_user_list

Returns: str: A JSON string representing a list of users. Each user object contains ‘id’, ‘name’.

get_slack_user_info

Retrieve information about a specific user in the Slack workspace. normally, you don’t need to use this method, when you need to get a user’s detailed information, use this method. Use get_slack_user_list function first to get the user id. Parameters:
  • user_id (str): The ID of the user to retrieve information about.
Returns: str: A JSON string representing the user’s information.

get_tools

Returns: List[FunctionTool]: A list of FunctionTool objects representing the functions in the toolkit.