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
:
[dependencies]
twilight-interactions = "0.10.0"
The crate major version follow the version of the official twilight crates.
The MSRV is two version behind the latest stable version (current is 1.57
)
and can be bumped in minor updates.
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.