mod action_policy;
mod application_commands;
mod auth_http;
mod avatar;
mod builtin_commands;
mod capabilities;
mod captcha;
mod channel;
mod client;
mod commands;
mod display_name;
mod events;
mod fingerprint;
mod gateway;
mod guild;
pub mod ids;
mod json;
mod member;
mod message;
mod notification;
pub mod password_auth;
mod permission;
mod presence;
mod profile;
pub mod qr_auth;
mod read;
mod request_lifecycle;
mod rest;
mod rpc;
mod state;
mod upload;
mod user_settings;
mod verification;
mod voice;
pub(crate) use action_policy::ActionDecision;
pub use action_policy::{ActionBlockReason, DiscordAction};
pub use application_commands::{
APPLICATION_COMMAND_CHANNEL_KIND, APPLICATION_COMMAND_MENTIONABLE_KIND,
APPLICATION_COMMAND_ROLE_KIND, APPLICATION_COMMAND_STRING_KIND, APPLICATION_COMMAND_USER_KIND,
ApplicationCommandChoiceInfo, ApplicationCommandIdentity, ApplicationCommandInfo,
ApplicationCommandInteraction, ApplicationCommandInteractionOption,
ApplicationCommandInvocation, ApplicationCommandOptionInfo,
application_command_content_is_complete, application_command_option_scope,
parsed_application_command_option_names,
};
pub(crate) use auth_http::DiscordAuthSession;
pub use builtin_commands::{
BuiltinSlashCommandInfo, BuiltinSlashCommandParse, BuiltinSlashCommandSubmit,
builtin_slash_commands, parse_builtin_slash_command,
};
pub use capabilities::{
BASE_ATTACHMENT_LIMIT_BYTES, GuildBoostTier, PremiumTier, effective_attachment_limit_bytes,
};
pub(crate) use channel::is_thread_kind;
pub use channel::{
ChannelInfo, ChannelRecipientInfo, ForumTagInfo, PermissionOverwriteInfo,
PermissionOverwriteKind, ThreadMetadataInfo,
};
pub use client::DiscordClient;
pub(crate) use client::validate_token_header;
pub use commands::{
AppCommand, AttachmentDownloadId, DownloadAttachmentSource, ForumPostArchiveState,
ForumPostCreate, GlobalUserProfileUpdate, GuildUserProfileUpdate, MediaPlaybackRequestId,
MediaPlaybackSource, MediaPlaybackTarget, MessageHistoryAfterMode, MessageSearchAuthorType,
MessageSearchHas, MessageSearchPage, MessageSearchQuery, MuteDuration, ProfileAvatarUpload,
ReplyReference, UserProfileUpdate,
};
pub use commands::{
MAX_PROFILE_AVATAR_BYTES, MAX_UPLOAD_ATTACHMENT_COUNT, MAX_UPLOAD_PREVIEW_BYTES,
MessageAttachmentUpload, ReactionEmoji,
};
#[cfg(test)]
pub(crate) use events::test_builders;
pub use events::{
AppEvent, GatewayDispatchInfo, GuildMemberListUpdateInfo, GuildMembersChunkInfo,
MessageHistoryLoadTarget, MessageUpdateDispatchInfo, MessageUpdateEventFields,
PresenceEventFields, SequencedAppEvent, ThreadListSyncInfo, ThreadMemberUpdateInfo,
ThreadMembersUpdateInfo, UserGuildSettingsInfo,
};
pub(crate) use fingerprint::load_client_fingerprint_and_http;
pub use guild::{
CustomEmojiInfo, GuildFolder, GuildOnboardingInfo, GuildOnboardingMode, GuildVerificationLevel,
};
pub use ids::{Id, marker};
pub use member::{MemberInfo, MemberOnboardingStatus, RoleInfo};
pub use message::{
AttachmentInfo, AttachmentMediaType, AttachmentUpdate, EmbedFieldInfo, EmbedInfo,
InlinePreviewInfo, MESSAGE_FLAG_SUPPRESS_EMBEDS, MentionInfo, MessageInfo,
MessageInteractionInfo, MessageKind, MessageReferenceInfo, MessageSnapshotInfo, PollAnswerInfo,
PollInfo, ReactionInfo, ReactionUserInfo, ReplyInfo,
};
pub use notification::{
ChannelNotificationOverrideInfo, GuildNotificationSettingsInfo, NotificationLevel,
};
pub(crate) use permission::PermissionDecision;
pub use permission::{DiscordPermission, PermissionDataGap};
pub use presence::{
ActivityAssets, ActivityButton, ActivityEmoji, ActivityInfo, ActivityKind, ActivityParty,
ActivityTimestamps, PresenceStatus,
};
pub use profile::{FriendStatus, MutualGuildInfo, RelationshipInfo, UserProfileInfo};
pub use read::ReadStateInfo;
pub use rest::{ForumPostPage, ReactionUsersPage};
pub use state::{
ChannelRecipientState, ChannelState, ChannelUnreadState, ChannelVisibilityStats,
CurrentVoiceConnectionState, DiscordSnapshot, DiscordState, GuildMemberState, GuildState,
MessageCapabilities, MessageState, RoleState, SnapshotAreas, SnapshotRevision, TypingUserState,
VoiceParticipantState,
};
pub(crate) use upload::read_profile_avatar_image;
pub use user_settings::{UserCustomStatusInfo, UserFriendSourceFlagsInfo, UserSettingsInfo};
pub(crate) use verification::GuildParticipationDecision;
pub use verification::{
GuildParticipationBlock, GuildParticipationDataGap, GuildParticipationRestriction,
};
pub use voice::{MicrophoneSensitivityDb, VoiceVolumePercent};
pub use voice::{
VoiceConnectionStatus, VoiceScope, VoiceServerInfo, VoiceSoundKind, VoiceStateInfo,
};