Interface ThreadChannelPaginationAction

All Superinterfaces:
Iterable<ThreadChannel>, PaginationAction<ThreadChannel, ThreadChannelPaginationAction>, RestAction<List<ThreadChannel>>

public interface ThreadChannelPaginationAction extends PaginationAction<ThreadChannel, ThreadChannelPaginationAction>
PaginationAction that paginates the thread members endpoint.
Note that this implementation is not considered thread-safe as modifications to the cache are not done with a lock. Calling methods on this class from multiple threads is not recommended.

Must provide not-null IThreadContainer to compile a valid pagination route.

Limits:
Minimum - 1
Maximum - 100

Example

// Clean up all private threads older than 2 weeks
public static void cleanupPrivateThreads(TextChannel channel) {
    // get 2-week offset
    long 2WeekAgoTimestamp = System.currentTimeMillis() - (14 * 24 * 60 * 60 * 1000);
    // get paginator
    ThreadChannelPaginationAction threads = channel.retrieveArchivedPrivateThreadChannels();
    // remove each thread older than 2 weeks
    threads.forEachAsync((thread) ->
        long threadArchiveTimestamp = thread.getTimeArchiveInfoLastModified().toInstant().toEpochMilli();
        if (threadArchiveTimestamp < 2WeeksAgoTimestamp) {
           thread.delete().reason("Cleaning up old private threads").queue();
        }
    );
}
See Also: