pub(crate) struct Handler;
Trait Implementations§
source§impl EventHandler for Handler
impl EventHandler for Handler
source§fn ready<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
ready: Ready
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ready<'life0, 'async_trait>( &'life0 self, ctx: Context, ready: Ready ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Dispatched upon startup. Read more
source§fn resume<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_resumed: ResumedEvent
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn resume<'life0, 'async_trait>( &'life0 self, _ctx: Context, _resumed: ResumedEvent ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Dispatched upon reconnection.
source§fn message<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
msg: Message
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn message<'life0, 'async_trait>( &'life0 self, ctx: Context, msg: Message ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Dispatched when a message is created. Read more
source§fn interaction_create<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
interaction: Interaction
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn interaction_create<'life0, 'async_trait>( &'life0 self, ctx: Context, interaction: Interaction ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Dispatched when an interaction is created (e.g a slash command was used or a button was clicked). Read more
source§fn command_permissions_update<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
permission: CommandPermissions
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn command_permissions_update<'life0, 'async_trait>( &'life0 self, ctx: Context, permission: CommandPermissions ) -> 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. Read more
source§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_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,
Dispatched when an auto moderation rule was created. Read more
source§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_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,
Dispatched when an auto moderation rule was updated. Read more
source§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_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,
Dispatched when an auto moderation rule was deleted. Read more
source§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. Read more
source§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 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,
Dispatched when the cache has received and inserted all data from guilds. Read more
source§fn shards_ready<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
total_shards: u32
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn shards_ready<'life0, 'async_trait>( &'life0 self, ctx: Context, total_shards: u32 ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when every shard has received a Ready event
source§fn channel_create<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
channel: GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn channel_create<'life0, 'async_trait>( &'life0 self, ctx: Context, channel: GuildChannel ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a channel is created. Read more
source§fn category_create<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
category: GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn category_create<'life0, 'async_trait>( &'life0 self, ctx: Context, category: GuildChannel ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a category is created. Read more
source§fn category_delete<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
category: GuildChannel
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn category_delete<'life0, 'async_trait>( &'life0 self, ctx: Context, category: GuildChannel ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a category is deleted. Read more
source§fn channel_delete<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
channel: GuildChannel,
messages: Option<Vec<Message>>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn channel_delete<'life0, 'async_trait>( &'life0 self, ctx: Context, channel: GuildChannel, messages: Option<Vec<Message>> ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a channel is deleted. Read more
source§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. Read more
source§fn channel_update<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
old: Option<GuildChannel>,
new: GuildChannel
) -> 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<GuildChannel>, new: GuildChannel ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a channel is updated. Read more
source§fn guild_audit_log_entry_create<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
entry: AuditLogEntry,
guild_id: GuildId
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn guild_audit_log_entry_create<'life0, 'async_trait>( &'life0 self, ctx: Context, entry: AuditLogEntry, guild_id: GuildId ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a new audit log entry is created. Read more
source§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_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,
Dispatched when a user is banned from a guild. Read more
source§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_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,
Dispatched when a user’s ban is lifted from a guild. Read more
source§fn guild_create<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
guild: Guild,
is_new: Option<bool>
) -> 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: Option<bool> ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a guild is created; or an existing guild’s data is sent to us. Read more
source§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_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,
Dispatched when a guild is deleted. Read more
source§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_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,
Dispatched when the emojis are updated. Read more
source§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_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,
Dispatched when a guild’s integration is added, updated or removed. Read more
source§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_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,
Dispatched when a user joins a guild. Read more
source§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_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,
Dispatched when a user’s membership ends by leaving, getting kicked, or being banned. Read more
source§fn guild_member_update<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
old_if_available: Option<Member>,
new: Option<Member>,
event: GuildMemberUpdateEvent
) -> 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: Option<Member>, event: GuildMemberUpdateEvent ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a member is updated (e.g their nickname is updated). Read more
source§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. Read more
source§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_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,
Dispatched when a role is created. Read more
source§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_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,
Dispatched when a role is deleted. Read more
source§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_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,
Dispatched when a role is updated. Read more
source§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_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,
Dispatched when the stickers are updated. Read more
source§fn guild_update<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
old_data_if_available: Option<Guild>,
new_data: PartialGuild
) -> 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_data: PartialGuild ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when the guild is updated. Read more
source§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. Read more
source§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. Read more
source§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<'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,
Dispatched when a message is deleted. Read more
source§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_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,
Dispatched when multiple messages were deleted at once. Read more
source§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 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,
Dispatched when a message is updated. Read more
source§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_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,
Dispatched when a new reaction is attached to a message. Read more
source§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<'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,
Dispatched when a reaction is detached from a message. Read more
source§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 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,
Dispatched when all reactions of a message are detached from a message. Read more
source§fn reaction_remove_emoji<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
removed_reactions: Reaction
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn reaction_remove_emoji<'life0, 'async_trait>( &'life0 self, ctx: Context, removed_reactions: Reaction ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when all reactions of a message are detached from a message. Read more
source§fn presence_replace<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
presences: Vec<Presence>
) -> 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, presences: Vec<Presence> ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
This event is legacy, and likely no longer sent by discord.
source§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 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,
Dispatched when a user’s presence is updated (e.g off -> on). Read more
source§fn shard_stage_update<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
event: 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, event: 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 Read more
source§fn typing_start<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
event: 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, event: TypingStartEvent ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a user starts typing.
source§fn user_update<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
old_data: Option<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: Option<CurrentUser>, new: CurrentUser ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when the bot’s data is updated. Read more
source§fn voice_server_update<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
event: 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, event: 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). Read more
source§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,
Dispatched when a user joins, leaves or moves to a voice channel. Read more
source§fn voice_channel_status_update<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
old: Option<String>,
status: Option<String>,
id: ChannelId,
guild_id: GuildId
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn voice_channel_status_update<'life0, 'async_trait>( &'life0 self, ctx: Context, old: Option<String>, status: Option<String>, id: ChannelId, guild_id: GuildId ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a voice channel’s status is updated. Read more
source§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 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,
Dispatched when a guild’s webhook is updated. Read more
source§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. Read more
source§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. Read more
source§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. Read more
source§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. Read more
source§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. Read more
source§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. Read more
source§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. Read more
source§fn thread_update<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
old: Option<GuildChannel>,
new: 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, old: Option<GuildChannel>, new: GuildChannel ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a thread is updated. Read more
source§fn thread_delete<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
thread: PartialGuildChannel,
full_thread_data: Option<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, full_thread_data: Option<GuildChannel> ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,
Dispatched when a thread is deleted. Read more
source§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. Read more
source§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. Read moresource§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. Read moresource§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. Read more
source§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. Read more
source§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. Read more
source§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. Read more
source§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. Read more
Auto Trait Implementations§
impl RefUnwindSafe for Handler
impl Send for Handler
impl Sync for Handler
impl Unpin for Handler
impl UnwindSafe for Handler
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request