Skip to main content

Crate serenity

Crate serenity 

Source
Expand description

Serenity is a Rust library for the Discord API.

View the examples on how to make and structure a bot.

Serenity supports bot user authentication via the use of Client::builder.

Once logged in, you can add an event handler to your client to dispatch Events. This will allow you to recieve and handle events as you see fit. For example, an Event::MessageCreate event will be dispatched to you when a message is sent. Every event will give you access to a Context, giving information about the event. See the client’s module-level documentation.

The Shard is transparently handled by the library, removing unnecessary complexity. Sharded connections are automatically handled for you. See the gateway’s documentation for more information.

A Cache is also provided for you. This will be updated automatically for you as data is received from the Discord API via events. When calling a method on a Context, the cache will first be searched for relevant data to avoid unnecessary HTTP requests to the Discord API. For more information, see the cache’s module-level documentation.

Note that, although this documentation will try to be as up-to-date and accurate as possible, Discord hosts official documentation. If you need to be sure that some information piece is sanctioned by Discord, refer to their own documentation.

§Full Examples

Full examples, detailing and explaining usage of the basic functionality of the library, can be found in the examples directory.

§Installation

Add the following to your Cargo.toml file:

[dependencies]
serenity = "0.12"

Re-exports§

pub use crate::gateway::client::Client;gateway
pub use futures;
pub use nonmax;
pub use small_fixed_array;

Modules§

all
Special module that re-exports most public items from this crate.
builderbuilder
A set of builders used to make using methods on certain structs simpler to use.
cachecache
A cache containing data received from Shards.
collectorcollector
constants
A set of constants used by the library.
frameworkframework
The framework is a customizable method of separating commands.
gatewaygateway
Contains the necessary plumping for maintaining a connection with Discord. The primary building blocks are the Client and the Shard.
httphttp
The HTTP module which provides functions for performing requests to endpoints in Discord’s API.
interactions_endpointinteractions_endpoint
Contains tools related to Discord’s Interactions Endpoint URL feature.
model
Mappings of objects received from the API, with optional helper methods for ease of use.
prelude
A set of exports which can be helpful to use.
secrets
utilsutils
A set of utilities to help with common use cases that are not required to fully use the library.

Enums§

Error
A common error enum returned by most of the library’s functionality within a custom Result.

Type Aliases§

Result
The common result type between most library functions.

Attribute Macros§

async_trait