use bevy_ecs::prelude::*;
use serenity::all::*;
use std::collections::HashMap;
#[derive(Event)]
pub struct BReadyEvent {
pub ctx: Context,
pub data_about_bot: Ready,
}
#[derive(Event)]
pub struct BCommandPermissionsUpdate {
pub ctx: Context,
pub permission: CommandPermissions,
}
#[derive(Event)]
pub struct BAutoModerationRuleCreate {
pub ctx: Context,
pub rule: Rule,
}
#[derive(Event)]
pub struct BAutoModerationRuleUpdate {
pub ctx: Context,
pub rule: Rule,
}
#[derive(Event)]
pub struct BAutoModerationRuleDelete {
pub ctx: Context,
pub rule: Rule,
}
#[derive(Event)]
pub struct BAutoModerationActionExecution {
pub ctx: Context,
pub execution: ActionExecution,
}
#[cfg(feature = "bot_cache")]
#[cfg_attr(docsrs, doc(cfg(feature = "bot_cache")))]
#[derive(Event)]
pub struct BCacheRead {
pub ctx: Context,
pub guilds: Vec<GuildId>,
}
#[cfg(feature = "bot_cache")]
#[cfg_attr(docsrs, doc(cfg(feature = "bot_cache")))]
#[derive(Event)]
pub struct BShardsReady {
pub ctx: Context,
pub total_shards: u32,
}
#[derive(Event)]
pub struct BChannelCreate {
pub ctx: Context,
pub channel: GuildChannel,
}
#[derive(Event)]
pub struct BCategoryCreate {
pub ctx: Context,
pub category: GuildChannel,
}
#[derive(Event)]
pub struct BCategoryDelete {
pub ctx: Context,
pub category: GuildChannel,
}
#[derive(Event)]
pub struct BChannelDelete {
pub ctx: Context,
pub channel: GuildChannel,
pub messages: Option<Vec<Message>>,
}
#[derive(Event)]
pub struct BChannelPinUpdate {
pub ctx: Context,
pub pin: ChannelPinsUpdateEvent,
}
#[derive(Event)]
pub struct BChannelUpdate {
pub ctx: Context,
pub old: Option<GuildChannel>,
pub new: GuildChannel,
}
#[derive(Event)]
pub struct BGuildAuditLogEntryCreate {
pub ctx: Context,
pub entry: AuditLogEntry,
pub guild_id: GuildId,
}
#[derive(Event)]
pub struct BGuildBanAddition {
pub ctx: Context,
pub guild_id: GuildId,
pub banned_user: User,
}
#[derive(Event)]
pub struct BGuildBanRemoval {
pub ctx: Context,
pub guild_id: GuildId,
pub unbanned_user: User,
}
#[derive(Event)]
pub struct BGuildCreate {
pub ctx: Context,
pub guild: Guild,
pub is_new: Option<bool>,
}
#[derive(Event)]
pub struct BGuildDelete {
pub ctx: Context,
pub incomplete: UnavailableGuild,
pub full: Option<Guild>,
}
#[derive(Event)]
pub struct BGuildEmojisUpdate {
pub ctx: Context,
pub guild_id: GuildId,
pub current_state: HashMap<EmojiId, Emoji>,
}
#[derive(Event)]
pub struct BGuildIntegrationsUpdate {
pub ctx: Context,
pub guild_id: GuildId,
}
#[derive(Event)]
pub struct BGuildMemberAddition {
pub ctx: Context,
pub new_member: Member,
}
#[derive(Event)]
pub struct BGuildMemberRemoval {
pub ctx: Context,
pub guild_id: GuildId,
pub user: User,
pub member_data_if_available: Option<Member>,
}
#[derive(Event)]
pub struct BGuildMemberUpdate {
pub ctx: Context,
pub old_if_available: Option<Member>,
pub new: Option<Member>,
pub event: GuildMemberUpdateEvent,
}
#[derive(Event)]
pub struct BGuildMembersChunk {
pub ctx: Context,
pub chunk: GuildMembersChunkEvent,
}
#[derive(Event)]
pub struct BGuildRoleCreate {
pub ctx: Context,
pub new: Role,
}
#[derive(Event)]
pub struct BGuildRoleDelete {
pub ctx: Context,
pub guild_id: GuildId,
pub removed_role_id: RoleId,
pub removed_role_data_if_available: Option<Role>,
}
#[derive(Event)]
pub struct BGuildRoleUpdate {
pub ctx: Context,
pub old_data_if_available: Option<Role>,
pub new: Role,
}
#[derive(Event)]
pub struct BGuildStickersUpdate {
pub ctx: Context,
pub guild_id: GuildId,
pub current_state: HashMap<StickerId, Sticker>,
}
#[derive(Event)]
pub struct BGuildUpdate {
pub ctx: Context,
pub old_data_if_available: Option<Guild>,
pub new_data: PartialGuild,
}
#[derive(Event)]
pub struct BInviteCreate {
pub ctx: Context,
pub data: InviteCreateEvent,
}
#[derive(Event)]
pub struct BInviteDelete {
pub ctx: Context,
pub data: InviteDeleteEvent,
}
#[derive(Event)]
pub struct BMessage {
pub ctx: Context,
pub new_message: Message,
}
#[derive(Event)]
pub struct BMessageDelete {
pub ctx: Context,
pub channel_id: ChannelId,
pub deleted_message_id: MessageId,
pub guild_id: Option<GuildId>,
}
#[derive(Event)]
pub struct BMessageDeleteBulk {
pub ctx: Context,
pub channel_id: ChannelId,
pub multiple_deleted_messages_ids: Vec<MessageId>,
pub guild_id: Option<GuildId>,
}
#[derive(Event)]
pub struct BMessageUpdate {
pub ctx: Context,
pub old_if_available: Option<Message>,
pub new: Option<Message>,
pub event: MessageUpdateEvent,
}
#[derive(Event)]
pub struct BReactionAdd {
pub ctx: Context,
pub add_reaction: Reaction,
}
#[derive(Event)]
pub struct BReactionRemove {
pub ctx: Context,
pub removed_reaction: Reaction,
}
#[derive(Event)]
pub struct BReactionRemoveAll {
pub ctx: Context,
pub channel_id: ChannelId,
pub removed_from_message_id: MessageId,
}
#[derive(Event)]
pub struct BReactionRemoveEmoji {
pub ctx: Context,
pub removed_reactions: Reaction,
}
#[derive(Event)]
pub struct BPresenceUpdate {
pub ctx: Context,
pub new_data: Presence,
}
#[derive(Event)]
pub struct BResume {
pub ctx: Context,
pub event: ResumedEvent,
}
#[derive(Event)]
pub struct BShardStageUpdate {
pub ctx: Context,
pub event: ShardStageUpdateEvent,
}
#[derive(Event)]
pub struct BTypingStart {
pub ctx: Context,
pub event: TypingStartEvent,
}
#[derive(Event)]
pub struct BUserUpdate {
pub ctx: Context,
pub old_data: Option<CurrentUser>,
pub new: CurrentUser,
}
#[derive(Event)]
pub struct BVoiceServerUpdate {
pub ctx: Context,
pub event: VoiceServerUpdateEvent,
}
#[derive(Event)]
pub struct BVoiceStateUpdate {
pub ctx: Context,
pub old: Option<VoiceState>,
pub new: VoiceState,
}
#[derive(Event)]
pub struct BVoiceChannelStatusUpdate {
pub ctx: Context,
pub old: Option<String>,
pub status: Option<String>,
pub id: ChannelId,
pub guild_id: GuildId,
}
#[derive(Event)]
pub struct BWebhookUpdate {
pub ctx: Context,
pub guild_id: GuildId,
pub belongs_to_channel_id: ChannelId,
}
#[derive(Event)]
pub struct BInteractionCreate {
pub ctx: Context,
pub interaction: Interaction,
}
#[derive(Event)]
pub struct BIntegrationCreate {
pub ctx: Context,
pub integration: Integration,
}
#[derive(Event)]
pub struct BIntegrationUpdate {
pub ctx: Context,
pub integration: Integration,
}
#[derive(Event)]
pub struct BStageInstanceCreate {
pub ctx: Context,
pub stage_instance: StageInstance,
}
#[derive(Event)]
pub struct BStageInstanceUpdate {
pub ctx: Context,
pub stage_instance: StageInstance,
}
#[derive(Event)]
pub struct BStageInstanceDelete {
pub ctx: Context,
pub stage_instance: StageInstance,
}
#[derive(Event)]
pub struct BThreadCreate {
pub ctx: Context,
pub thread: GuildChannel,
}
#[derive(Event)]
pub struct BThreadUpdate {
pub ctx: Context,
pub old: Option<GuildChannel>,
pub new: GuildChannel,
}
#[derive(Event)]
pub struct BThreadDelete {
pub ctx: Context,
pub thread: PartialGuildChannel,
pub full_thread_data: Option<GuildChannel>,
}
#[derive(Event)]
pub struct BThreadListSync {
pub ctx: Context,
pub thread_list_sync: ThreadListSyncEvent,
}
#[derive(Event)]
pub struct BThreadMemberUpdate {
pub ctx: Context,
pub thread_member: ThreadMember,
}
#[derive(Event)]
pub struct BThreadMembersUpdate {
pub ctx: Context,
pub thread_members_update: ThreadMembersUpdateEvent,
}
#[derive(Event)]
pub struct BGuildScheduledEventCreate {
pub ctx: Context,
pub event: ScheduledEvent,
}
#[derive(Event)]
pub struct BGuildScheduledEventUpdate {
pub ctx: Context,
pub event: ScheduledEvent,
}
#[derive(Event)]
pub struct BGuildScheduledEventDelete {
pub ctx: Context,
pub event: ScheduledEvent,
}
#[derive(Event)]
pub struct BGuildScheduledEventUserAdd {
pub ctx: Context,
pub subscribed: GuildScheduledEventUserAddEvent,
}
#[derive(Event)]
pub struct BGuildScheduledEventUserRemove {
pub ctx: Context,
pub unsubscribed: GuildScheduledEventUserRemoveEvent,
}
#[derive(Event)]
pub struct BEntitlementCreate {
pub ctx: Context,
pub entitlement: Entitlement,
}
#[derive(Event)]
pub struct BEntitlementUpdate {
pub ctx: Context,
pub entitlement: Entitlement,
}
#[derive(Event)]
pub struct BEntitlementDelete {
pub ctx: Context,
pub entitlement: Entitlement,
}
#[derive(Event)]
pub struct BPollVoteAdd {
pub ctx: Context,
pub event: MessagePollVoteAddEvent,
}
#[derive(Event)]
pub struct BPollVoteRemove {
pub ctx: Context,
pub event: MessagePollVoteRemoveEvent,
}
#[derive(Event)]
pub struct BRateLimit {
pub data: RatelimitInfo,
}