aboutsummaryrefslogtreecommitdiff
path: root/src/client/event_handler.rs
diff options
context:
space:
mode:
authoracdenisSK <[email protected]>2017-06-28 19:38:51 +0200
committeracdenisSK <[email protected]>2017-06-28 19:38:51 +0200
commitea432af97a87b8a3d673a1f40fe06cde4d84e146 (patch)
tree1afbc7d396f83e1eea0550b848764a14832c277a /src/client/event_handler.rs
parentAdd reaction actions (#115) (diff)
downloadserenity-ea432af97a87b8a3d673a1f40fe06cde4d84e146.tar.xz
serenity-ea432af97a87b8a3d673a1f40fe06cde4d84e146.zip
Merge branch "trait-based-event-handling"
Diffstat (limited to 'src/client/event_handler.rs')
-rw-r--r--src/client/event_handler.rs77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/client/event_handler.rs b/src/client/event_handler.rs
new file mode 100644
index 0000000..b233b8a
--- /dev/null
+++ b/src/client/event_handler.rs
@@ -0,0 +1,77 @@
+use serde_json::Value;
+use std::collections::HashMap;
+use std::sync::Arc;
+use super::context::Context;
+use ::model::event::*;
+use ::model::*;
+
+#[cfg(feature="cache")]
+use std::sync::RwLock;
+
+#[allow(type_complexity)]
+pub trait EventHandler {
+ #[cfg(feature="cache")]
+ fn on_cached(&self, Context, Vec<GuildId>) {}
+ fn on_channel_create(&self, Context, Channel) {}
+ fn on_channel_delete(&self, Context, Channel) {}
+ fn on_channel_pins_update(&self, Context, ChannelPinsUpdateEvent) {}
+ fn on_channel_recipient_addition(&self, Context, ChannelId, User) {}
+ fn on_channel_recipient_removal(&self, Context, ChannelId, User) {}
+ #[cfg(feature="cache")]
+ fn on_channel_update(&self, Context, Option<Channel>, Channel) {}
+ #[cfg(not(feature="cache"))]
+ fn on_channel_update(&self, Context, Channel) {}
+ fn on_guild_ban_addition(&self, Context, GuildId, User) {}
+ fn on_guild_ban_removal(&self, Context, GuildId, User) {}
+ fn on_guild_create(&self, Context, Guild) {}
+ #[cfg(feature="cache")]
+ fn on_guild_delete(&self, Context, PartialGuild, Option<Arc<RwLock<Guild>>>) {}
+ #[cfg(not(feature="cache"))]
+ fn on_guild_delete(&self, Context, PartialGuild) {}
+ fn on_guild_emojis_update(&self, Context, GuildId, HashMap<EmojiId, Emoji>) {}
+ fn on_guild_integrations_update(&self, Context, GuildId) {}
+ fn on_guild_member_addition(&self, Context, GuildId, Member) {}
+ #[cfg(feature="cache")]
+ fn on_guild_member_removal(&self, Context, GuildId, User, Option<Member>) {}
+ #[cfg(not(feature="cache"))]
+ fn on_guild_member_removal(&self, Context, GuildId, User) {}
+ #[cfg(feature="cache")]
+ fn on_guild_member_update(&self, Context, Option<Member>, Member) {}
+ #[cfg(not(feature="cache"))]
+ fn on_guild_member_update(&self, Context, GuildMemberUpdateEvent) {}
+ fn on_guild_members_chunk(&self, Context, GuildId, HashMap<UserId, Member>) {}
+ fn on_guild_role_create(&self, Context, GuildId, Role) {}
+ #[cfg(feature="cache")]
+ fn on_guild_role_delete(&self, Context, GuildId, RoleId, Option<Role>) {}
+ #[cfg(not(feature="cache"))]
+ fn on_guild_role_delete(&self, Context, GuildId, RoleId) {}
+ #[cfg(feature="cache")]
+ fn on_guild_role_update(&self, Context, GuildId, Option<Role>, Role) {}
+ #[cfg(not(feature="cache"))]
+ fn on_guild_role_update(&self, Context, GuildId, Role) {}
+ fn on_guild_unavailable(&self, Context, GuildId) {}
+ #[cfg(feature="cache")]
+ fn on_guild_update(&self, Context, Option<Arc<RwLock<Guild>>>, PartialGuild) {}
+ #[cfg(not(feature="cache"))]
+ fn on_guild_update(&self, Context, PartialGuild) {}
+ fn on_message(&self, Context, Message) {}
+ fn on_message_delete(&self, Context, ChannelId, MessageId) {}
+ fn on_message_delete_bulk(&self, Context, ChannelId, Vec<MessageId>) {}
+ fn on_reaction_add(&self, Context, Reaction) {}
+ fn on_reaction_remove(&self, Context, Reaction) {}
+ fn on_reaction_remove_all(&self, Context, ChannelId, MessageId) {}
+ fn on_message_update(&self, Context, MessageUpdateEvent) {}
+ fn on_presence_replace(&self, Context, Vec<Presence>) {}
+ fn on_presence_update(&self, Context, PresenceUpdateEvent) {}
+ fn on_ready(&self, Context, Ready) {}
+ fn on_resume(&self, Context, ResumedEvent) {}
+ fn on_typing_start(&self, Context, TypingStartEvent) {}
+ fn on_unknown(&self, Context, String, Value) {}
+ #[cfg(feature="cache")]
+ fn on_user_update(&self, Context, CurrentUser, CurrentUser) {}
+ #[cfg(not(feature="cache"))]
+ fn on_user_update(&self, Context, CurrentUser) {}
+ fn on_voice_server_update(&self, Context, VoiceServerUpdateEvent) {}
+ fn on_voice_state_update(&self, Context, Option<GuildId>, VoiceState) {}
+ fn on_webhook_update(&self, Context, GuildId, ChannelId) {}
+}