def streams(self, config: Mapping[(str, Any)]) -> List[Stream]:
    authenticator = TokenAuthenticator(config['api_token'])
    default_start_date = pendulum.parse(config['start_date'])
    threads_lookback_window = pendulum.Duration(days=config['lookback_window'])
    streams = [Channels(authenticator=authenticator), ChannelMembers(authenticator=authenticator), ChannelMessages(authenticator=authenticator, default_start_date=default_start_date), Threads(authenticator=authenticator, default_start_date=default_start_date, lookback_window=threads_lookback_window), Users(authenticator=authenticator)]
    if config['join_channels']:
        logger = AirbyteLogger()
        logger.info('joining Slack channels')
        join_channels_stream = JoinChannelsStream(authenticator=authenticator)
        for stream_slice in join_channels_stream.stream_slices():
            for message in join_channels_stream.read_records(sync_mode=SyncMode.full_refresh, stream_slice=stream_slice):
                logger.info(message['message'])
    return streams
def streams(self, config: Mapping[(str, Any)]) -> List[Stream]:
    authenticator = TokenAuthenticator(config['api_token'])
    default_start_date = pendulum.parse(config['start_date'])
    threads_lookback_window = pendulum.Duration(days=config['lookback_window'])
    streams = [Channels(authenticator=authenticator), ChannelMembers(authenticator=authenticator), ChannelMessages(authenticator=authenticator, default_start_date=default_start_date), Threads(authenticator=authenticator, default_start_date=default_start_date, lookback_window=threads_lookback_window), Users(authenticator=authenticator)]
    if config['join_channels']:
        logger = AirbyteLogger()
        logger.info('joining Slack channels')
        join_channels_stream = JoinChannelsStream(authenticator=authenticator)
        for stream_slice in join_channels_stream.stream_slices():
            for message in join_channels_stream.read_records(sync_mode=SyncMode.full_refresh, stream_slice=stream_slice):
                logger.info(message['message'])
    return streams