#twilight #discord #slash-command


Macros and utilities to make Discord Interactions easy to use with Twilight

3 releases

0.7.2 Nov 23, 2021
0.7.1 Nov 10, 2021
0.7.0 Oct 28, 2021

#78 in Parser tooling

Download history 19/week @ 2021-10-26 1/week @ 2021-11-02 22/week @ 2021-11-09 8/week @ 2021-11-16 37/week @ 2021-11-23

68 downloads per month
Used in twilight-interactions

ISC license

937 lines

Twilight interactions

Crates.io dependency status docs.rs 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.7"

The crate major version follow the version of the official twilight crates.


The API documentation is available on docs.rs: twilight-interactions documentation.


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.


~18K SLoC