serenity-builder

Crates.ioserenity-builder
lib.rsserenity-builder
version0.3.1
created_at2025-11-03 01:43:31.570777+00
updated_at2025-11-07 17:07:33.990198+00
descriptionA utility library to make Serenity's builder easier to use.
homepagehttps://m1sk9.dev
repositoryhttps://github.com/m1sk9/serenity-builder
max_upload_size
id1913775
size103,570
Sho Sakuma (m1sk9)

documentation

https://docs.rs/serenity-builder

README

serenity-builder

CI Release serenity-builder Apache License 2.0

A utility library to make Serenity's builder easier to use.

[dependencies]
serenity-builder = "0.3"

Overview

Use Serenity's builder with typed_builder for intuitive handling.

// serenity
let embed = CreateEmbed::default()
   .title("This is a test title.")
   .description("This is test description!")
   .author(
       serenity::builder::CreateEmbedAuthor::new(MOCK_TEXT)
           .url(MOCK_URL)
           .icon_url(MOCK_URL),
   );

// serenity-builder
let embed = SerenityEmbed::builder()
   .title("This is a test title.")
   .description("This is test description!")
   .author_name("m1sk9")
   .author_url("https://m1sk9.dev/avatar.png")
   .build();

Features

Feature Description Default Feature?
embed Enable embed builder Yes
message Enable message builder Yes

Basic builders (embed, message) are default features. You can use them immediately by adding the crate with cargo add or adding it to your Cargo.toml.

If you only want to enable specific features, install with --no-default-features and --features:

cargo add serenity-builder --no-default-features --features embed

Roadmap

# Step Status
1 Embed Builder
2 Message Builder ⚠️
3 Model Builder
4 Button Builder
5 Invite Builder
6 Thread Builder
7 Channel Builder
8 Sticker Builder
9 Command Builder
10 Webhook Builder
11 ForumTag Builder
12 ActionRow Builder
13 ForumPost Builder
14 Attachments Builder
15 SelectMenu Builder
16 Event Builder

...and more!

License

This project is licensed under the Apache License 2.0.

Commit count: 0

cargo fmt