Documentation Index
Fetch the complete documentation index at: https://docs.camel-ai.org/llms.txt
Use this file to discover all available pages before exploring further.
class SlackToolkit(BaseToolkit):
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
def __init__(self, timeout: Optional[float] = None):
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
def _login_slack(
self,
slack_token: Optional[str] = None,
ssl: Optional[SSLContext] = None
):
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
def create_slack_channel(self, name: str, is_private: Optional[bool] = True):
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
def join_slack_channel(self, channel_id: str):
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
def leave_slack_channel(self, channel_id: str):
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.
def get_slack_channel_information(self):
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
def get_slack_channel_message(self, channel_id: str):
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
def send_slack_message(
self,
message: str,
channel_id: str,
file_path: Optional[str] = None,
user: Optional[str] = None
):
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
def delete_slack_message(self, time_stamp: str, channel_id: str):
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
def get_slack_user_list(self):
Returns:
str: A JSON string representing a list of users. Each user
object contains ‘id’, ‘name’.
get_slack_user_info
def get_slack_user_info(self, user_id: str):
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.
Returns:
List[FunctionTool]: A list of FunctionTool objects
representing the functions in the toolkit.