| Crates.io | discord-ferris-macros |
| lib.rs | discord-ferris-macros |
| version | 0.1.0 |
| created_at | 2025-08-18 21:29:55.366727+00 |
| updated_at | 2025-08-18 21:29:55.366727+00 |
| description | Procedural macros for discord-ferris π¦ (Internal Crate) |
| homepage | |
| repository | https://github.com/andrewdotdev/discord-ferris |
| max_upload_size | |
| id | 1801123 |
| size | 9,290 |
Procedural macros for discord-ferris.
Note: Experimental, APIs may change.
+ #[event_handler] β register on_* Gateway events
+ Short signatures (type inference)
! More convenience attributes (planned)
- Derives / Builders
You donβt need to add this crate directly β discord-ferris re-exports the macros.
[dependencies]
discord-ferris = "0.x"
use discord_ferris::prelude::*;
#[event_handler]
async fn on_ready(ctx, ready) {
log!("OK", "Logged as {}", ready.user.username);
}
#[event_handler]
async fn on_message_create(ctx, mc) {
if mc.is_bot() { return; }
if mc.message.content == "!ping" {
let _ = ctx.reply("PONG!").await;
}
}
on_ and map to Gateway events: on_ready β READY, on_message_create β MESSAGE_CREATE.#[event_handler] async fn on_<event>(ctx[, payload]) β payload is inferred from the name and can be omitted.