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 Extension
s 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.