Trait serenity::prelude::EventHandler
source · [−]pub trait EventHandler: Send + Sync {
Show 66 methods
fn application_command_permissions_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_permission: CommandPermission
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn auto_moderation_rule_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_rule: Rule
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn auto_moderation_rule_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_rule: Rule
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn auto_moderation_rule_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_rule: Rule
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn auto_moderation_action_execution<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_execution: ActionExecution
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn cache_ready<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guilds: Vec<GuildId>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn channel_create<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_channel: &'life1 GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
{ ... }
fn category_create<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_category: &'life1 ChannelCategory
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
{ ... }
fn category_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_category: &'life1 ChannelCategory
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
{ ... }
fn channel_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_channel: &'life1 GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
{ ... }
fn channel_pins_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_pin: ChannelPinsUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn channel_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old: Option<Channel>,
_new: Channel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_ban_addition<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guild_id: GuildId,
_banned_user: User
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_ban_removal<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guild_id: GuildId,
_unbanned_user: User
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guild: Guild,
_is_new: bool
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_incomplete: UnavailableGuild,
_full: Option<Guild>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_emojis_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guild_id: GuildId,
_current_state: HashMap<EmojiId, Emoji>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_integrations_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guild_id: GuildId
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_member_addition<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_new_member: Member
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_member_removal<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guild_id: GuildId,
_user: User,
_member_data_if_available: Option<Member>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_member_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old_if_available: Option<Member>,
_new: Member
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_members_chunk<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_chunk: GuildMembersChunkEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_role_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_new: Role
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_role_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guild_id: GuildId,
_removed_role_id: RoleId,
_removed_role_data_if_available: Option<Role>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_role_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old_data_if_available: Option<Role>,
_new: Role
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_stickers_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guild_id: GuildId,
_current_state: HashMap<StickerId, Sticker>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_unavailable<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guild_id: GuildId
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old_data_if_available: Option<Guild>,
_new_but_incomplete: PartialGuild
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn invite_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_data: InviteCreateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn invite_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_data: InviteDeleteEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn message<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_new_message: Message
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn message_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_channel_id: ChannelId,
_deleted_message_id: MessageId,
_guild_id: Option<GuildId>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn message_delete_bulk<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_channel_id: ChannelId,
_multiple_deleted_messages_ids: Vec<MessageId>,
_guild_id: Option<GuildId>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn message_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old_if_available: Option<Message>,
_new: Option<Message>,
_event: MessageUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn reaction_add<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_add_reaction: Reaction
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn reaction_remove<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_removed_reaction: Reaction
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn reaction_remove_all<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_channel_id: ChannelId,
_removed_from_message_id: MessageId
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn presence_replace<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: Vec<Presence>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn presence_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_new_data: Presence
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn ready<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_data_about_bot: Ready
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn resume<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: ResumedEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn shard_stage_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: ShardStageUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn typing_start<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: TypingStartEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn unknown<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_name: String,
_raw: Value
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn user_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old_data: CurrentUser,
_new: CurrentUser
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn voice_server_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: VoiceServerUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn voice_state_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old: Option<VoiceState>,
_new: VoiceState
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn webhook_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_guild_id: GuildId,
_belongs_to_channel_id: ChannelId
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn interaction_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_interaction: Interaction
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn integration_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_integration: Integration
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn integration_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_integration: Integration
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn integration_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_integration_id: IntegrationId,
_guild_id: GuildId,
_application_id: Option<ApplicationId>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn stage_instance_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_stage_instance: StageInstance
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn stage_instance_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_stage_instance: StageInstance
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn stage_instance_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_stage_instance: StageInstance
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn thread_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread: GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn thread_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread: GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn thread_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread: PartialGuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn thread_list_sync<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread_list_sync: ThreadListSyncEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn thread_member_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread_member: ThreadMember
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn thread_members_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread_members_update: ThreadMembersUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_scheduled_event_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_event: ScheduledEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_scheduled_event_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_event: ScheduledEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_scheduled_event_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_event: ScheduledEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_scheduled_event_user_add<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_subscribed: GuildScheduledEventUserAddEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
fn guild_scheduled_event_user_remove<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_unsubscribed: GuildScheduledEventUserRemoveEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait,
{ ... }
}
Expand description
The core trait for handling events by serenity.
Provided Methods
fn application_command_permissions_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_permission: CommandPermission
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn application_command_permissions_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_permission: CommandPermission
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when the permissions of an application command was updated.
Provides said permission’s data.
Dispatched when an auto moderation rule was created.
Provides said rule’s data.
Dispatched when an auto moderation rule was updated.
Provides said rule’s data.
Dispatched when an auto moderation rule was deleted.
Provides said rule’s data.
fn auto_moderation_action_execution<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_execution: ActionExecution
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn auto_moderation_action_execution<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_execution: ActionExecution
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when an auto moderation rule was triggered and an action was executed.
Provides said action execution’s data.
cache
only.Dispatched when the cache has received and inserted all data from guilds.
This process happens upon starting your bot and should be fairly quick. However, cache actions performed prior this event may fail as the data could be not inserted yet.
Provides the cached guilds’ ids.
fn channel_create<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_channel: &'life1 GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn channel_create<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_channel: &'life1 GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Dispatched when a channel is created.
Provides said channel’s data.
fn category_create<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_category: &'life1 ChannelCategory
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn category_create<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_category: &'life1 ChannelCategory
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Dispatched when a category is created.
Provides said category’s data.
fn category_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_category: &'life1 ChannelCategory
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn category_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_category: &'life1 ChannelCategory
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Dispatched when a category is deleted.
Provides said category’s data.
fn channel_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_channel: &'life1 GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn channel_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: Context,
_channel: &'life1 GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Dispatched when a channel is deleted.
Provides said channel’s data.
fn channel_pins_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_pin: ChannelPinsUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn channel_pins_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_pin: ChannelPinsUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a pin is added, deleted.
Provides said pin’s data.
cache
only.Dispatched when a channel is updated.
Provides the old channel data, and the new data.
Dispatched when a user is banned from a guild.
Provides the guild’s id and the banned user’s data.
Dispatched when a user’s ban is lifted from a guild.
Provides the guild’s id and the lifted user’s data.
cache
only.Dispatched when a guild is created; or an existing guild’s data is sent to us.
Provides the guild’s data and whether the guild is new.
cache
only.Dispatched when a guild is deleted.
Provides the partial data of the guild sent by discord, and the full data from the cache, if available.
The unavailable
flag in the partial data determines the status of the guild.
If the flag is false, the bot was removed from the guild, either by being
kicked or banned. If the flag is true, the guild went offline.
Dispatched when the emojis are updated.
Provides the guild’s id and the new state of the emojis in the guild.
Dispatched when a guild’s integration is added, updated or removed.
Provides the guild’s id.
Dispatched when a user joins a guild.
Provides the guild’s id and the user’s member data.
Note: This event will not trigger unless the “guild members” privileged intent is enabled on the bot application page.
cache
only.Dispatched when a user’s membership ends by leaving, getting kicked, or being banned.
Provides the guild’s id, the user’s data, and the user’s member data if available.
Note: This event will not trigger unless the “guild members” privileged intent is enabled on the bot application page.
cache
only.Dispatched when a member is updated (e.g their nickname is updated).
Provides the member’s old data (if available) and the new data.
Note: This event will not trigger unless the “guild members” privileged intent is enabled on the bot application page.
fn guild_members_chunk<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_chunk: GuildMembersChunkEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn guild_members_chunk<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_chunk: GuildMembersChunkEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when the data for offline members was requested.
Provides the guild’s id and the data.
Dispatched when a role is created.
Provides the guild’s id and the new role’s data.
cache
only.Dispatched when a role is deleted.
Provides the guild’s id, the role’s id and its data if available.
cache
only.Dispatched when a role is updated.
Provides the guild’s id, the role’s old (if available) and new data.
Dispatched when the stickers are updated.
Provides the guild’s id and the new state of the stickers in the guild.
Dispatched when a guild became unavailable.
Provides the guild’s id.
cache
only.Dispatched when the guild is updated.
Provides the guild’s old full data (if available) and the new, albeit partial data.
fn invite_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_data: InviteCreateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn invite_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_data: InviteCreateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a invite is created.
Provides data about the invite.
fn invite_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_data: InviteDeleteEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn invite_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_data: InviteDeleteEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a invite is deleted.
Provides data about the invite.
Dispatched when a message is created.
Provides the message’s data.
Dispatched when a message is deleted.
Provides the guild’s id, the channel’s id and the message’s id.
Dispatched when multiple messages were deleted at once.
Provides the guild’s id, channel’s id and the deleted messages’ ids.
cache
only.Dispatched when a message is updated.
Provides the old message if available,
the new message as an option in case of cache inconsistencies,
and the raw MessageUpdateEvent
as a fallback.
Dispatched when a new reaction is attached to a message.
Provides the reaction’s data.
Dispatched when a reaction is detached from a message.
Provides the reaction’s data.
Dispatched when all reactions of a message are detached from a message.
Provides the channel’s id and the message’s id.
This event is legacy, and likely no longer sent by discord.
Dispatched when a user’s presence is updated (e.g off -> on).
Provides the presence’s new data.
Note: This event will not trigger unless the “guild presences” privileged intent is enabled on the bot application page.
Dispatched upon startup.
Provides data about the bot and the guilds it’s in.
Dispatched upon reconnection.
fn shard_stage_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: ShardStageUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn shard_stage_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: ShardStageUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a shard’s connection stage is updated
Provides the context of the shard and the event information about the update.
fn typing_start<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: TypingStartEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn typing_start<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: TypingStartEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a user starts typing.
Dispatched when an unknown event was sent from discord.
Provides the event’s name and its unparsed data.
fn user_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old_data: CurrentUser,
_new: CurrentUser
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn user_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old_data: CurrentUser,
_new: CurrentUser
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
cache
only.Dispatched when the bot’s data is updated.
Provides the old and new data.
fn voice_server_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: VoiceServerUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn voice_server_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
__arg2: VoiceServerUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a guild’s voice server was updated (or changed to another one).
Provides the voice server’s data.
fn voice_state_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old: Option<VoiceState>,
_new: VoiceState
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn voice_state_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_old: Option<VoiceState>,
_new: VoiceState
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
cache
only.Dispatched when a user joins, leaves or moves to a voice channel.
Provides the guild’s id (if available) and the old and the new state of the guild’s voice channels.
Dispatched when a guild’s webhook is updated.
Provides the guild’s id and the channel’s id the webhook belongs in.
fn interaction_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_interaction: Interaction
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn interaction_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_interaction: Interaction
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when an interaction is created (e.g a slash command was used or a button was clicked).
Provides the created interaction.
fn integration_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_integration: Integration
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn integration_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_integration: Integration
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a guild integration is created.
Provides the created integration.
fn integration_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_integration: Integration
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn integration_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_integration: Integration
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a guild integration is updated.
Provides the updated integration.
fn integration_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_integration_id: IntegrationId,
_guild_id: GuildId,
_application_id: Option<ApplicationId>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn integration_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_integration_id: IntegrationId,
_guild_id: GuildId,
_application_id: Option<ApplicationId>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a guild integration is deleted.
Provides the integration’s id, the id of the guild it belongs to, and its associated application id
fn stage_instance_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_stage_instance: StageInstance
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn stage_instance_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_stage_instance: StageInstance
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a stage instance is created.
Provides the created stage instance.
fn stage_instance_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_stage_instance: StageInstance
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn stage_instance_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_stage_instance: StageInstance
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a stage instance is updated.
Provides the updated stage instance.
fn stage_instance_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_stage_instance: StageInstance
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn stage_instance_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_stage_instance: StageInstance
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a stage instance is deleted.
Provides the deleted stage instance.
fn thread_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread: GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn thread_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread: GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a thread is created or the current user is added to a private thread.
Provides the thread.
fn thread_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread: GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn thread_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread: GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a thread is updated.
Provides the updated thread.
fn thread_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread: PartialGuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn thread_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread: PartialGuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a thread is deleted.
Provides the partial deleted thread.
fn thread_list_sync<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread_list_sync: ThreadListSyncEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn thread_list_sync<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread_list_sync: ThreadListSyncEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when the current user gains access to a channel
Provides the threads the current user can access, the thread members, the guild Id, and the channel Ids of the parent channels being synced.
fn thread_member_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread_member: ThreadMember
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn thread_member_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread_member: ThreadMember
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when the ThreadMember
for the current user is updated.
Provides the updated thread member.
fn thread_members_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread_members_update: ThreadMembersUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn thread_members_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_thread_members_update: ThreadMembersUpdateEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when anyone is added to or removed from a thread. If the current user does not have the GatewayIntents::GUILDS
,
then this event will only be sent if the current user was added to or removed from the thread.
Provides the added/removed members, the approximate member count of members in the thread, the thread Id and its guild Id.
fn guild_scheduled_event_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_event: ScheduledEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn guild_scheduled_event_create<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_event: ScheduledEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a scheduled event is created.
Provides data about the scheduled event.
fn guild_scheduled_event_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_event: ScheduledEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn guild_scheduled_event_update<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_event: ScheduledEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a scheduled event is updated.
Provides data about the scheduled event.
fn guild_scheduled_event_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_event: ScheduledEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn guild_scheduled_event_delete<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_event: ScheduledEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a scheduled event is deleted.
Provides data about the scheduled event.
fn guild_scheduled_event_user_add<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_subscribed: GuildScheduledEventUserAddEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn guild_scheduled_event_user_add<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_subscribed: GuildScheduledEventUserAddEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a guild member has subscribed to a scheduled event.
Provides data about the subscription.
fn guild_scheduled_event_user_remove<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_unsubscribed: GuildScheduledEventUserRemoveEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn guild_scheduled_event_user_remove<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_unsubscribed: GuildScheduledEventUserRemoveEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Dispatched when a guild member has unsubscribed from a scheduled event.
Provides data about the cancelled subscription.