twilight-interactions is a set of macros and utilities to work with Discord Interactions using twilight.
Note: This crate is not affiliated with the twilight project.
- Slash command parsing: parse interaction data as typed structs using the
CommandModelmacro. - Slash command creation: create commands from your structs with the
CreateCommandmacro. Commands are configured using attributes.
use twilight_interactions::command::{CommandModel, CreateCommand, ResolvedUser};
#[derive(CommandModel, CreateCommand)]
#[command(name = "hello", desc = "Say hello to other members")]
struct HelloCommand {
/// Message to send
message: String,
/// User to send the message to
user: Option<ResolvedUser>
}To install twilight-interactions, add the following to your Cargo.toml:
[dependencies]
twilight-interactions = "0.16"The crate's major version follows the version of the official twilight crates.
The current MSRV is 1.79.
The API documentation is available on docs.rs: twilight-interactions documentation.
Examples are available in the examples directory.
There is no particular contribution guidelines, feel free to open a new PR to improve the code. If you want to introduce a new feature, please create an issue before.
Special thanks to LeSeulArtichaut who worked the first on this project.