All Classes and Interfaces

Class
Description
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The flags that can be on a application.
Information about an application.
 
 
This may be changed if discord changes the format for teams in the returned response.
 
 
 
 
 
 
 
 
 
 
 
 
Utility class for iterating paginated endpoints, handling fetching the next objects automatically, until a given limit is reached or no more entities can be fetched.
 
Fired over the event bus when messages are bulk deleted.
 
 
Fired over the event bus when all reactions are removed from a message.
 
 
 
 
 
 
 
 
 
 
 
Represents a view of a given cache.
An implementation of EventBuffer used for the case of caching all guilds sent in the READY payload, as well as for caching data as it comes over the websocket connection.
A category that contains channels in a guild.
 
 
The base catnip interface.
A horrible thing that allows you to patch JSON objects and other stuff.
 
 
 
An immutable view of CatnipOptions.
 
A catnip shard encapsulates a single websocket connection to Discord's real-time gateway.
 
A Discord channel.
The type of a channel.
 
Represents a channel mention in a message.
 
 
Fired over the event bus when a channel's pins are updated.
 
 
Fired when all guilds are finished chunking.
 
 
 
 
A CacheView that's equivalent to a collection of provided ones.
A NamedCacheView that's equivalent to a collection of provided ones.
How catnip handles gateway compression.
 
 
 
 
 
 
 
 
A customizable entity cache is basically just what it sounds like - a cache whose behaviour is ENTIRELY meant to be customized.
Default CacheView implementation.
 
 
 
 
 
Default NamedCacheView implementation.
 
 
 
Sent when an invite is deleted.
 
 
Fired when a message is deleted.
 
 
 
 
 
See the Discord docs for more information about each kind of event.
Raw string values for the gateway events
 
 
A DM channel.
 
 
All methods of this class (and inner classes) have nullable returns, unless otherwise stated.
 
 
 
 
 
 
 
 
Build a new embed to be used via the REST API.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The emoji in a user's activity, ex.
 
 
Fired over the event bus when a guild's emojis are updated.
 
 
A single entity in catnip.
 
If you're looking to implement your own caching system, you want EntityCacheWorker instead.
If you plan to write your own implementation of this class, be aware that the contracts implied by the JSR-305 are *expected* to be followed, and you *will* break things if you don't follow them.
 
An entity delegator allows for delegating entities to a custom class.
A generic behaviour for de/serializing catnip entities.
Used for buffering events for things like caching.
Marker for statically validating event types on handlers.
 
If you are unsure if you need to implement this interface, you probably want AbstractExtension instead.
An ExtensionManager implementation is exactly what it sounds like: it manages Extensions and takes care of lifecycle hooks, injecting Catnip instances, and so on.
Discord-specific websocket gateway close codes.
Fired when the gateway websocket is closed.
 
 
Fired when connecting to Discord's websocket gateway fails.
 
 
Fired over the event bus when a user is banned in a guild.
 
 
 
 
 
A list of "gateway intents" that tell Discord which events you do and don't want to receive.
 
 
A DM with a group of users.
 
 
Represents a Discord guild.
The content filter level for a guild.
 
The 2FA level required for this guild.
The notification level for a guild.
The Nitro Boost level of a guild.
The verification level for a guild.
A single guild ban.
 
 
A channel in a guild.
 
 
A guild's embed.
 
 
An entity which is guild-scoped in catnip.
 
 
 
 
 
 
 
Used for message components.
An entity that has a description.
 
An entity that has an icon.
 
An entity that has a name.
An entity with a nullable description.
An entity with a potentially-null name.
 
 
 
 
 
Fired when a shard's heartbeat latency is higher than the value configured in CatnipOptions.highLatencyThreshold()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An invite to a guild.
 
 
 
Options for the creation of invites.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
If, for some reason, you want to plug in your own logging framework that ISN'T logback, SLF4J, ..., then you can implement this interface.
 
A member in a guild.
 
Fired when a guild needs its member chunks re-requested, if and only if CatnipOptions.manualChunkRerequesting() is true.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An entity that can be mentioned.
 
A single message in Discord.
 
 
 
 
 
 
 
 
 
The data returned for MESSAGE_BULK_DELETE doesn't actually follow the API documentation.
The data returned for MESSAGE_BULK_DELETE doesn't actually follow the API documentation.
 
A channel that can have messages sent in it.
 
 
 
 
 
 
When a message's embeds are updated, Discord sends a MESSAGE_UPDATE event that only has id/channel_id/guild_id/embeds in the inner payload.
 
 
 
 
 
Options used for creating a new message.
 
 
 
 
 
 
 
 
 
Adapted from https://stackoverflow.com/a/54675316 Modified to fit the code standards of this project, to compact it, to remove unnecessary capabilities (file read straight from disc and InputStream suppliers), and add capabilities necessary to add compatibility.
 
Mutable cache view, which allows modifications to the storage.
Mutable named cache view, which allows modifications to the storage.
A CacheView that provides utilities for finding elements based on their name.
A news channel in a guild is effectively a reskinned text channel, but with two important differences: The channel type is Channel.ChannelType.NEWS. There is no ratelimit.
TODO: Should this just extend TextChannelImpl instead?
 
A no-op implementation of EventBuffer.
Helper class for noop caches.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An entity which is permission-scoped in catnip.
 
 
 
 
 
 
 
An updater for positions of things like roles and channels.
A user's presence.
 
 
 
 
 
 
 
 
Builder for presences, to be set via Catnip.presence(Presence)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ratelimiting for the gateway websockets, aka shards.
Ratelimiting for the REST API.
 
 
 
Fired when a reaction is updated.
 
 
Fired when a shard logs in successfully.
 
 
 
A REST requester.
POJO that represents an outbound request to Discord's REST API.
 
An exception that gets thrown when the REST requester encounters an error message that Discord sends back.
 
 
 
 
 
 
 
 
Fired whenever a REST ratelimit is hit.
 
 
 
 
 
Fired when a shard resumes successfully.
 
 
A role in a guild.
 
 
 
 
 
 
 
 
 
A collection of utility methods to help make using Rx not quite so potato when trying to convert between various things.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A shard condition is an async function that determines whether or not the current shard manager instance can start sharding, ie.
 
 
 
Manages the lifecycle of shards - starting, stopping, resuming, etc.
A subset of entities that have an ID attached.
 
 
 
 
 
 
 
 
 
 
 
A basic task scheduler to replace vert.x's setTimer() and setPeriodic().
Information about a team.
 
 
Information about a team member.
 
 
 
 
 
A channel in a guild that can have text messages sent in it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An entity that has a timestamp.
 
Fired when a user starts typing in a channel.
 
 
An unavailable guild.
 
 
 
 
 
A horrible, ugly, no-good, very-bad hack, but it's necessary.
 
A single Discord user.
A DM with a single user.
 
 
The flags that can be on a user's account.
 
 
 
 
A voice channel in a guild.
 
 
A voice region on Discord.
 
 
Fired when connecting to voice, or when voice servers fail over.
 
 
A user's voice state.
 
 
A webhook on a channel.
 
 
 
Fired over the event bus when a webhook update event is received.