mod bits;
mod cache;
mod client;
mod error;
mod events;
mod gateway;
mod interaction;
mod message;
mod permissions;
pub mod player;
mod rest;
mod types;
#[cfg(feature = "voice")]
pub mod voice;
pub use async_trait::async_trait;
pub use bits::{id_time, Intents, Permissions};
pub use cache::{Cache, CachedGuild};
pub use client::{Client, ClientBuilder};
pub use error::{BoxError, Error, Result};
pub use events::{Event, EventHandler, HandlerResult, ReconnectInfo};
pub use interaction::Interaction;
pub use message::Message;
pub use permissions::compute_permissions;
pub use player::{
tone, tone_with_volume, AudioInput, AudioPlayer, PlayerEvent, PlayerOptions, Track,
};
pub use reqwest::Method;
pub use rest::{
CallbackType, ChannelEdit, EditOptions, FileInput, InviteOptions, MessagesQuery, NewChannel,
NewRole, ReplyOptions, Rest, SendOptions, DEFAULT_API,
};
pub use types::*;
#[cfg(feature = "voice")]
pub use voice::{JoinVoiceOptions, VoiceConnection, VoiceEvent, VoiceStatus};
pub(crate) fn install_crypto() {
static ONCE: std::sync::Once = std::sync::Once::new();
ONCE.call_once(|| {
let _ = rustls::crypto::aws_lc_rs::default_provider().install_default();
});
}