#discord-api #discord #twilight #api-bindings

sparkle-convenience

Twilight的包装库,旨在使其更方便使用

40次发布

0.16.0-rc.32023年8月15日
0.16.0-rc.22023年6月29日
0.16.0-rc.12023年5月27日
0.15.7 2023年3月7日
0.14.11 2022年11月23日

#465 in 异步

Download history 2/week @ 2024-04-23 16/week @ 2024-07-02 102/week @ 2024-07-30

每月102次下载

ISC许可证

71KB
1.5K SLoC

❓ RC信息

这个版本不稳定,但它包括破坏性更改。当Twilight发布下一个版本时,它将作为非RC发布,以便此crate的版本遵循Twilight的版本

✨😌 Sparkle Convenience

Twilight的包装库,旨在方便使用,不依赖于回调,同时尽量遵循Twilight模式,使您的生活更轻松

✨ 特性

  • 使用一个方法启动您的机器人
  • 无需跟踪任何内容即可延迟、响应或更新交互的响应
  • 轻松提取交互数据
  • 发送在超时后删除的定时消息
  • 用少量样板代码处理用户错误,并捕获边缘情况
  • 使用webhooks记录内部错误
  • 更多功能请参阅文档!

😋 便利的体验

let bot = Bot::new(
    "forgot to leak my token".to_owned(),
    Intents::empty(),
    EventTypeFlags::INTERACTION_CREATE,
)
.await?;

let handle = bot.interaction_handle(&interaction);
if interaction.name().ok()? == "pay_respects" {
    handle.defer(DeferVisibility::Ephemeral).await?;
    handle.check_permissions(Permissions::MANAGE_GUILD)?;
    let very_respected_user = interaction.data.ok()?.command().ok()?.target_id.ok()?;

    handle
        .reply(
            Reply::new()
                .ephemeral()
                .content("Paying respects".to_owned()),
        )
        .await?;

    handle
        .reply(
            Reply::new()
                .ephemeral()
                .update_last()
                .content(format!("<@{very_respected_user}> has +1 respect now")),
        )
        .await?;
}

🚚 CARGO功能

  • anyhow:将anyhowcrate拖到error模块中,以提供便利功能

✉️ 联系方式

功能请求?错误?支持?贡献?您想什么,我一直在寻找使用我的工作的任何人的社区反馈!

如果您有疑问,请加入Twilight的Discord服务器

依赖关系

~14–25MB
~368K SLoC