Skip to content

Slack

SlackToolSpec #

Bases: BaseToolSpec

Slack工具规范。

Source code in llama_index/tools/slack/base.py
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
class SlackToolSpec(BaseToolSpec):
    """Slack工具规范。"""

    spec_functions = ["load_data", "send_message", "fetch_channels"]

    def __init__(
        self,
        slack_token: Optional[str] = None,
        ssl: Optional[SSLContext] = None,
        earliest_date: Optional[datetime] = None,
        latest_date: Optional[datetime] = None,
    ) -> None:
        """使用参数进行初始化。"""
        self.reader = SlackReader(
            slack_token=slack_token,
            ssl=ssl,
            earliest_date=earliest_date,
            latest_date=latest_date,
        )

    def load_data(
        self,
        channel_ids: List[str],
        reverse_chronological: bool = True,
    ) -> List[Document]:
        """从输入目录加载数据。"""
        return self.reader.load_data(
            channel_ids=channel_ids,
            reverse_chronological=reverse_chronological,
        )

    def send_message(
        self,
        channel_id: str,
        message: str,
    ) -> None:
        """给定频道ID,向频道发送消息。"""
        slack_client = self.reader.client
        try:
            msg_result = slack_client.chat_postMessage(
                channel=channel_id,
                text=message,
            )
            logger.info(msg_result)
        except Exception as e:
            logger.error(e)
            raise

    def fetch_channels(
        self,
    ) -> List[str]:
        """获取相关频道的列表。"""
        slack_client = self.reader.client
        try:
            msg_result = slack_client.conversations_list()
            logger.info(msg_result)
        except Exception as e:
            logger.error(e)
            raise

        return msg_result["channels"]

load_data #

load_data(
    channel_ids: List[str],
    reverse_chronological: bool = True,
) -> List[Document]

从输入目录加载数据。

Source code in llama_index/tools/slack/base.py
35
36
37
38
39
40
41
42
43
44
def load_data(
    self,
    channel_ids: List[str],
    reverse_chronological: bool = True,
) -> List[Document]:
    """从输入目录加载数据。"""
    return self.reader.load_data(
        channel_ids=channel_ids,
        reverse_chronological=reverse_chronological,
    )

send_message #

send_message(channel_id: str, message: str) -> None

给定频道ID,向频道发送消息。

Source code in llama_index/tools/slack/base.py
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
def send_message(
    self,
    channel_id: str,
    message: str,
) -> None:
    """给定频道ID,向频道发送消息。"""
    slack_client = self.reader.client
    try:
        msg_result = slack_client.chat_postMessage(
            channel=channel_id,
            text=message,
        )
        logger.info(msg_result)
    except Exception as e:
        logger.error(e)
        raise

fetch_channels #

fetch_channels() -> List[str]

获取相关频道的列表。

Source code in llama_index/tools/slack/base.py
63
64
65
66
67
68
69
70
71
72
73
74
75
def fetch_channels(
    self,
) -> List[str]:
    """获取相关频道的列表。"""
    slack_client = self.reader.client
    try:
        msg_result = slack_client.conversations_list()
        logger.info(msg_result)
    except Exception as e:
        logger.error(e)
        raise

    return msg_result["channels"]