private static LocalDateTime getLatestMessageLocalDateTime(ApiPagedChannelHistory apiPagedChannelHistory) { List<ApiPagedChannelHistory.ApiMessage> apiMessages = apiPagedChannelHistory.apiMessages; ApiPagedChannelHistory.ApiMessage firstMessage = apiMessages.get(0); return convertToLocalDateTime(firstMessage.timeStamp); }
public ChannelHistory convert(List<ApiPagedChannelHistory> apiPagedChannelHistory) { List<ChannelHistory.Message> messages = new ArrayList<>(); for (ApiPagedChannelHistory pagedChannelHistory : apiPagedChannelHistory) { for (ApiPagedChannelHistory.ApiMessage apiMessage : pagedChannelHistory.apiMessages) { try { messages.add(convert(apiMessage)); } catch (ConvertException e) { System.err.println("Skipping with error " + e); continue; } } } LocalDateTime historyFrom = getOldestMessageLocalDateTime(apiPagedChannelHistory.get(apiPagedChannelHistory.size() - 1)); LocalDateTime historyTo = getLatestMessageLocalDateTime(apiPagedChannelHistory.get(0)); return new ChannelHistory(historyFrom, historyTo, messages); }
public static SlackHistoryFetcher from(SlackWebService slackWebService, String slackToken) { HistoryConverter historyConverter = new HistoryConverter(); return new SlackHistoryFetcher(slackWebService, slackToken, CHANNEL_GENERAL, historyConverter); }
public ChannelHistory getChannelHistory(LocalDateTime start, LocalDateTime end) { return historyConverter.convert(getApiChannelHistory(start, end)); }
private static LocalDateTime getOldestMessageLocalDateTime(ApiPagedChannelHistory apiPagedChannelHistory) { List<ApiPagedChannelHistory.ApiMessage> apiMessages = apiPagedChannelHistory.apiMessages; ApiPagedChannelHistory.ApiMessage lastMessage = apiMessages.get(apiMessages.size() - 1); return convertToLocalDateTime(lastMessage.timeStamp); }