def get_channel_ids(self, channel_patterns: List[str]) -> List[str]:
        """
        Get list of channel IDs based on names and regex patterns.

        Args:
            channel_patterns List[str]: List of channel name patterns (names or regex) to read.

        Returns:
            List[Document]: List of documents.

        """
        if not channel_patterns:
            raise ValueError("No channel patterns provided.")

        channels = self._list_channels()
        logger.info(f"Total channels fetched: {len(channels)}")

        if not channels:
            logger.info("No channels found in Slack.")
            return []

        filtered_channels = self._filter_channels(
            channels=channels, patterns=channel_patterns
        )
        logger.info(f"Channels matching patterns: {len(filtered_channels)}")

        if not filtered_channels:
            logger.info(
                "None of the channel names or pattern matched with Slack Channels."
            )
            return []

        channel_ids = [channel["id"] for channel in filtered_channels]

        return list(set(channel_ids))

        Get list of channel IDs based on names and regex patterns.

        Args:
            channel_patterns List[str]: List of channel name patterns (names or regex) to read.

        Returns:
            List[Document]: List of documents.

        
llama-index-integrations/readers/llama-index-readers-slack/llama_index/readers/slack/base.py