Trait serenity::prelude::EventHandler [−][src]
pub trait EventHandler { fn cached(&self, _ctx: Context, _guilds: Vec<GuildId>) { ... } fn channel_create(&self, _ctx: Context, _channel: Arc<RwLock<GuildChannel>>) { ... } fn category_create(
&self,
_ctx: Context,
_category: Arc<RwLock<ChannelCategory>>
) { ... } fn category_delete(
&self,
_ctx: Context,
_category: Arc<RwLock<ChannelCategory>>
) { ... } fn private_channel_create(
&self,
_ctx: Context,
_channel: Arc<RwLock<PrivateChannel>>
) { ... } fn channel_delete(&self, _ctx: Context, _channel: Arc<RwLock<GuildChannel>>) { ... } fn channel_pins_update(&self, _ctx: Context, _pin: ChannelPinsUpdateEvent) { ... } fn channel_recipient_addition(
&self,
_ctx: Context,
_group_id: ChannelId,
_user: User
) { ... } fn channel_recipient_removal(
&self,
_ctx: Context,
_group_id: ChannelId,
_user: User
) { ... } fn channel_update(
&self,
_ctx: Context,
_old: Option<Channel>,
_new: Channel
) { ... } fn guild_ban_addition(
&self,
_ctx: Context,
_guild_id: GuildId,
_banned_user: User
) { ... } fn guild_ban_removal(
&self,
_ctx: Context,
_guild_id: GuildId,
_unbanned_user: User
) { ... } fn guild_create(&self, _ctx: Context, _guild: Guild, _is_new: bool) { ... } fn guild_delete(
&self,
_ctx: Context,
_incomplete: PartialGuild,
_full: Option<Arc<RwLock<Guild>>>
) { ... } fn guild_emojis_update(
&self,
_ctx: Context,
_guild_id: GuildId,
_current_state: HashMap<EmojiId, Emoji>
) { ... } fn guild_integrations_update(&self, _ctx: Context, _guild_id: GuildId) { ... } fn guild_member_addition(
&self,
_ctx: Context,
_guild_id: GuildId,
_new_member: Member
) { ... } fn guild_member_removal(
&self,
_ctx: Context,
_guild: GuildId,
_user: User,
_member_data_if_available: Option<Member>
) { ... } fn guild_member_update(
&self,
_ctx: Context,
_old_if_available: Option<Member>,
_new: Member
) { ... } fn guild_members_chunk(
&self,
_ctx: Context,
_guild_id: GuildId,
_offline_members: HashMap<UserId, Member>
) { ... } fn guild_role_create(&self, _ctx: Context, _guild_id: GuildId, _new: Role) { ... } fn guild_role_delete(
&self,
_ctx: Context,
_guild_id: GuildId,
_removed_role_id: RoleId,
_removed_role_data_if_available: Option<Role>
) { ... } fn guild_role_update(
&self,
_ctx: Context,
_guild_id: GuildId,
_old_data_if_available: Option<Role>,
_new: Role
) { ... } fn guild_unavailable(&self, _ctx: Context, _guild_id: GuildId) { ... } fn guild_update(
&self,
_ctx: Context,
_old_data_if_available: Option<Arc<RwLock<Guild>>>,
_new_but_incomplete: PartialGuild
) { ... } fn message(&self, _ctx: Context, _new_message: Message) { ... } fn message_delete(
&self,
_ctx: Context,
_channel_id: ChannelId,
_deleted_message_id: MessageId
) { ... } fn message_delete_bulk(
&self,
_ctx: Context,
_channel_id: ChannelId,
_multiple_deleted_messages_ids: Vec<MessageId>
) { ... } fn reaction_add(&self, _ctx: Context, _add_reaction: Reaction) { ... } fn reaction_remove(&self, _ctx: Context, _removed_reaction: Reaction) { ... } fn reaction_remove_all(
&self,
_ctx: Context,
_channel_id: ChannelId,
_removed_from_message_id: MessageId
) { ... } fn message_update(&self, _ctx: Context, _new_data: MessageUpdateEvent) { ... } fn presence_replace(&self, _ctx: Context, _: Vec<Presence>) { ... } fn presence_update(&self, _ctx: Context, _new_data: PresenceUpdateEvent) { ... } fn ready(&self, _ctx: Context, _data_about_bot: Ready) { ... } fn resume(&self, _ctx: Context, _: ResumedEvent) { ... } fn shard_stage_update(&self, _ctx: Context, _: ShardStageUpdateEvent) { ... } fn typing_start(&self, _ctx: Context, _: TypingStartEvent) { ... } fn unknown(&self, _ctx: Context, _name: String, _raw: Value) { ... } fn user_update(
&self,
_ctx: Context,
_old_data: CurrentUser,
_new: CurrentUser
) { ... } fn voice_server_update(&self, _ctx: Context, _: VoiceServerUpdateEvent) { ... } fn voice_state_update(
&self,
_ctx: Context,
_: Option<GuildId>,
_: VoiceState
) { ... } fn webhook_update(
&self,
_ctx: Context,
_guild_id: GuildId,
_belongs_to_channel_id: ChannelId
) { ... } }
The core trait for handling events by serenity.
Provided Methods
fn cached(&self, _ctx: Context, _guilds: Vec<GuildId>)
Dispatched when the cache gets full.
Provides the cached guilds' ids.
fn channel_create(&self, _ctx: Context, _channel: Arc<RwLock<GuildChannel>>)
Dispatched when a channel is created.
Provides said channel's data.
fn category_create(
&self,
_ctx: Context,
_category: Arc<RwLock<ChannelCategory>>
)
&self,
_ctx: Context,
_category: Arc<RwLock<ChannelCategory>>
)
Dispatched when a category is created.
Provides said category's data.
fn category_delete(
&self,
_ctx: Context,
_category: Arc<RwLock<ChannelCategory>>
)
&self,
_ctx: Context,
_category: Arc<RwLock<ChannelCategory>>
)
Dispatched when a category is deleted.
Provides said category's data.
fn private_channel_create(
&self,
_ctx: Context,
_channel: Arc<RwLock<PrivateChannel>>
)
&self,
_ctx: Context,
_channel: Arc<RwLock<PrivateChannel>>
)
Dispatched when a private channel is created.
Provides said channel's data.
fn channel_delete(&self, _ctx: Context, _channel: Arc<RwLock<GuildChannel>>)
Dispatched when a channel is deleted.
Provides said channel's data.
fn channel_pins_update(&self, _ctx: Context, _pin: ChannelPinsUpdateEvent)
Dispatched when a pin is added, deleted.
Provides said pin's data.
fn channel_recipient_addition(
&self,
_ctx: Context,
_group_id: ChannelId,
_user: User
)
&self,
_ctx: Context,
_group_id: ChannelId,
_user: User
)
Dispatched when a user is added to a Group
.
Provides the group's id and the user's data.
fn channel_recipient_removal(
&self,
_ctx: Context,
_group_id: ChannelId,
_user: User
)
&self,
_ctx: Context,
_group_id: ChannelId,
_user: User
)
Dispatched when a user is removed to a Group
.
Provides the group's id and the user's data.
fn channel_update(&self, _ctx: Context, _old: Option<Channel>, _new: Channel)
Dispatched when a channel is updated.
Provides the old channel data, and the new data.
fn guild_ban_addition(
&self,
_ctx: Context,
_guild_id: GuildId,
_banned_user: User
)
&self,
_ctx: Context,
_guild_id: GuildId,
_banned_user: User
)
Dispatched when a user is banned from a guild.
Provides the guild's id and the banned user's data.
fn guild_ban_removal(
&self,
_ctx: Context,
_guild_id: GuildId,
_unbanned_user: User
)
&self,
_ctx: Context,
_guild_id: GuildId,
_unbanned_user: User
)
Dispatched when a user's ban is lifted from a guild.
Provides the guild's id and the lifted user's data.
fn guild_create(&self, _ctx: Context, _guild: Guild, _is_new: bool)
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.
fn guild_delete(
&self,
_ctx: Context,
_incomplete: PartialGuild,
_full: Option<Arc<RwLock<Guild>>>
)
&self,
_ctx: Context,
_incomplete: PartialGuild,
_full: Option<Arc<RwLock<Guild>>>
)
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.
fn guild_emojis_update(
&self,
_ctx: Context,
_guild_id: GuildId,
_current_state: HashMap<EmojiId, Emoji>
)
&self,
_ctx: Context,
_guild_id: GuildId,
_current_state: HashMap<EmojiId, Emoji>
)
Dispatched when the emojis are updated.
Provides the guild's id and the new state of the emojis in the guild.
fn guild_integrations_update(&self, _ctx: Context, _guild_id: GuildId)
Dispatched when a guild's integration is added, updated or removed.
Provides the guild's id.
fn guild_member_addition(
&self,
_ctx: Context,
_guild_id: GuildId,
_new_member: Member
)
&self,
_ctx: Context,
_guild_id: GuildId,
_new_member: Member
)
Dispatched when a user joins a guild.
Provides the guild's id and the user's member data.
fn guild_member_removal(
&self,
_ctx: Context,
_guild: GuildId,
_user: User,
_member_data_if_available: Option<Member>
)
&self,
_ctx: Context,
_guild: GuildId,
_user: User,
_member_data_if_available: Option<Member>
)
Dispatched when a user is removed (kicked).
Provides the guild's id, the user's data, and the user's member data if available.
fn guild_member_update(
&self,
_ctx: Context,
_old_if_available: Option<Member>,
_new: Member
)
&self,
_ctx: Context,
_old_if_available: Option<Member>,
_new: Member
)
Dispatched when a member is updated (e.g their nickname is updated)
Provides the member's old data (if available) and the new data.
fn guild_members_chunk(
&self,
_ctx: Context,
_guild_id: GuildId,
_offline_members: HashMap<UserId, Member>
)
&self,
_ctx: Context,
_guild_id: GuildId,
_offline_members: HashMap<UserId, Member>
)
Dispatched when the data for offline members was requested.
Provides the guild's id and the data.
fn guild_role_create(&self, _ctx: Context, _guild_id: GuildId, _new: Role)
Dispatched when a role is created.
Provides the guild's id and the new role's data.
fn guild_role_delete(
&self,
_ctx: Context,
_guild_id: GuildId,
_removed_role_id: RoleId,
_removed_role_data_if_available: Option<Role>
)
&self,
_ctx: Context,
_guild_id: GuildId,
_removed_role_id: RoleId,
_removed_role_data_if_available: Option<Role>
)
Dispatched when a role is deleted.
Provides the guild's id, the role's id and its data if available.
fn guild_role_update(
&self,
_ctx: Context,
_guild_id: GuildId,
_old_data_if_available: Option<Role>,
_new: Role
)
&self,
_ctx: Context,
_guild_id: GuildId,
_old_data_if_available: Option<Role>,
_new: Role
)
Dispatched when a role is updated.
Provides the guild's id, the role's old (if available) and new data.
Dispatched when a guild became unavailable.
Provides the guild's id.
fn guild_update(
&self,
_ctx: Context,
_old_data_if_available: Option<Arc<RwLock<Guild>>>,
_new_but_incomplete: PartialGuild
)
&self,
_ctx: Context,
_old_data_if_available: Option<Arc<RwLock<Guild>>>,
_new_but_incomplete: PartialGuild
)
Dispatched when the guild is updated.
Provides the guild's old full data (if available) and the new, albeit partial data.
fn message(&self, _ctx: Context, _new_message: Message)
Dispatched when a message is created.
Provides the message's data.
fn message_delete(
&self,
_ctx: Context,
_channel_id: ChannelId,
_deleted_message_id: MessageId
)
&self,
_ctx: Context,
_channel_id: ChannelId,
_deleted_message_id: MessageId
)
Dispatched when a message is deleted.
Provides the channel's id and the message's id.
fn message_delete_bulk(
&self,
_ctx: Context,
_channel_id: ChannelId,
_multiple_deleted_messages_ids: Vec<MessageId>
)
&self,
_ctx: Context,
_channel_id: ChannelId,
_multiple_deleted_messages_ids: Vec<MessageId>
)
Dispatched when multiple messages were deleted at once.
Provides the channel's id and the deleted messages' ids.
fn reaction_add(&self, _ctx: Context, _add_reaction: Reaction)
Dispatched when a new reaction is attached to a message.
Provides the reaction's data.
fn reaction_remove(&self, _ctx: Context, _removed_reaction: Reaction)
Dispatched when a reaction is dettached from a message.
Provides the reaction's data.
fn reaction_remove_all(
&self,
_ctx: Context,
_channel_id: ChannelId,
_removed_from_message_id: MessageId
)
&self,
_ctx: Context,
_channel_id: ChannelId,
_removed_from_message_id: MessageId
)
Dispatched when all reactions of a message are dettached from a message.
Provides the channel's id and the message's id.
fn message_update(&self, _ctx: Context, _new_data: MessageUpdateEvent)
Dispatched when a message is updated.
Provides the new data of the message.
fn presence_replace(&self, _ctx: Context, _: Vec<Presence>)
fn presence_update(&self, _ctx: Context, _new_data: PresenceUpdateEvent)
Dispatched when a user's presence is updated (e.g off -> on).
Provides the presence's new data.
fn ready(&self, _ctx: Context, _data_about_bot: Ready)
Dispatched upon startup.
Provides data about the bot and the guilds it's in.
fn resume(&self, _ctx: Context, _: ResumedEvent)
Dispatched upon reconnection.
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(&self, _ctx: Context, _: TypingStartEvent)
Dispatched when a user starts typing.
fn unknown(&self, _ctx: Context, _name: String, _raw: Value)
Dispatched when an unknown event was sent from discord.
Provides the event's name and its unparsed data.
fn user_update(&self, _ctx: Context, _old_data: CurrentUser, _new: CurrentUser)
Dispatched when the bot's data is updated.
Provides the old and new data.
fn voice_server_update(&self, _ctx: Context, _: VoiceServerUpdateEvent)
Dispatched when a guild's voice server was updated (or changed to another one).
Provides the voice server's data.
fn voice_state_update(&self, _ctx: Context, _: Option<GuildId>, _: VoiceState)
Dispatched when a user joins, leaves or moves a voice channel.
Provides the guild's id (if available) and the new state of the guild's voice channels.
fn webhook_update(
&self,
_ctx: Context,
_guild_id: GuildId,
_belongs_to_channel_id: ChannelId
)
&self,
_ctx: Context,
_guild_id: GuildId,
_belongs_to_channel_id: ChannelId
)
Dispatched when a guild's webhook is updated.
Provides the guild's id and the channel's id the webhook belongs in.