1#![doc = include_str!("../README.md")]
2
3mod parse_impl;
4
5pub mod argument;
6pub mod builder;
7pub mod command;
8pub mod context;
9pub mod error;
10pub mod framework;
11pub mod group;
12pub mod hook;
13pub mod iter;
14pub mod modal;
15pub mod parse;
16pub mod range;
17pub mod wait;
18
19#[doc(hidden)]
21pub mod extract;
22
23pub use zephyrus_macros as macros;
24
25type BoxFuture<'a, T> = std::pin::Pin<Box<dyn std::future::Future<Output = T> + Send + 'a>>;
26
27pub mod prelude {
29 pub use crate::{
30 builder::{FrameworkBuilder, WrappedClient},
31 context::{AutocompleteContext, Focused, SlashContext},
32 error::*,
33 framework::{DefaultCommandResult, Framework},
34 modal::*,
35 parse::{Parse, ParseError},
36 range::Range,
37 };
38 pub use async_trait::async_trait;
39 pub use zephyrus_macros::*;
40}
41
42#[doc(hidden)]
43pub mod twilight_exports {
44 pub use twilight_http::{
45 client::{Client, InteractionClient},
46 request::application::interaction::UpdateResponse,
47 response::DeserializeBodyError
48 };
49 pub use twilight_model::{
50 application::{
51 command::{Command, CommandOption, CommandOptionChoice, CommandOptionChoiceValue, CommandOptionType, CommandType},
52 interaction::{
53 application_command::{CommandData, CommandDataOption, CommandOptionValue, CommandInteractionDataResolved},
54 modal::ModalInteractionData,
55 message_component::MessageComponentInteractionData,
56 Interaction, InteractionData, InteractionType,
57 },
58 },
59 channel::{Message, message::{Component, component::{ActionRow, TextInput, TextInputStyle}}},
60 gateway::payload::incoming::InteractionCreate,
61 guild::Permissions,
62 http::interaction::{
63 InteractionResponse, InteractionResponseData, InteractionResponseType,
64 },
65 id::{
66 marker::{
67 ApplicationMarker, AttachmentMarker, ChannelMarker, GenericMarker, GuildMarker,
68 MessageMarker, RoleMarker, UserMarker,
69 },
70 Id,
71 },
72 };
73}