#![doc(
html_logo_url = "https://raw.githubusercontent.com/serenity-rs/songbird/current/songbird.png",
html_favicon_url = "https://raw.githubusercontent.com/serenity-rs/songbird/current/songbird-ico.png"
)]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#![deny(missing_docs)]
#![deny(rustdoc::broken_intra_doc_links)]
#![warn(clippy::pedantic, rust_2018_idioms)]
#![allow(
// Allowed as they are too pedantic
clippy::module_name_repetitions,
clippy::wildcard_imports,
clippy::too_many_lines,
clippy::cast_lossless,
clippy::cast_sign_loss,
clippy::cast_possible_wrap,
clippy::cast_precision_loss,
clippy::cast_possible_truncation,
// TODO: would require significant rewriting of all existing docs
clippy::missing_errors_doc,
clippy::missing_panics_doc,
clippy::doc_link_with_quotes,
clippy::doc_markdown,
)]
mod config;
pub mod constants;
#[cfg(feature = "driver")]
pub mod driver;
pub mod error;
#[cfg(feature = "driver")]
pub mod events;
mod float_duration;
#[cfg(feature = "gateway")]
mod handler;
pub mod id;
pub(crate) mod info;
#[cfg(feature = "driver")]
pub mod input;
#[cfg(feature = "gateway")]
pub mod join;
#[cfg(feature = "gateway")]
mod manager;
#[cfg(feature = "serenity")]
pub mod serenity;
#[cfg(feature = "gateway")]
pub mod shards;
#[cfg(any(test, feature = "internals"))]
pub mod test_utils;
#[cfg(feature = "driver")]
pub mod tracks;
#[cfg(feature = "driver")]
mod ws;
#[cfg(all(feature = "driver", feature = "receive"))]
pub use discortp as packet;
#[cfg(feature = "driver")]
pub use serenity_voice_model as model;
pub(crate) use serde_json as json;
#[cfg(feature = "driver")]
pub use crate::{
driver::Driver,
events::{CoreEvent, Event, EventContext, EventHandler, TrackEvent},
};
#[cfg(feature = "gateway")]
pub use crate::{handler::*, manager::*};
#[cfg(feature = "serenity")]
pub use crate::serenity::*;
pub use config::Config;
pub use float_duration::FloatDuration;
pub use info::ConnectionInfo;