Skip to content

Macros and utilities to work with Discord Interactions using twilight.


Notifications You must be signed in to change notification settings


Repository files navigation

Twilight interactions dependency status CI

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 CommandModel macro.
  • Slash command creation: create commands from your structs with the CreateCommand macro. 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:

twilight-interactions = "0.15"

The crate's major version follows the version of the official twilight crates. The current MSRV is 1.67.


The API documentation is available on 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.