aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authoracdenisSK <[email protected]>2017-09-09 10:53:44 +0200
committeracdenisSK <[email protected]>2017-09-09 10:56:29 +0200
commit4be6b9d5008ff8bb3d1fdddff5647a6bb307513c (patch)
tree516b811875ae4cb2b98c308aabb69bc6e7a94fd2 /src/client
parentChange order to avoid subtraction overflow error (#160) (diff)
downloadserenity-4be6b9d5008ff8bb3d1fdddff5647a6bb307513c.tar.xz
serenity-4be6b9d5008ff8bb3d1fdddff5647a6bb307513c.zip
Implement categories
Diffstat (limited to 'src/client')
-rw-r--r--src/client/dispatch.rs13
-rw-r--r--src/client/event_handler.rs2
2 files changed, 15 insertions, 0 deletions
diff --git a/src/client/dispatch.rs b/src/client/dispatch.rs
index d5509b5..428c11e 100644
--- a/src/client/dispatch.rs
+++ b/src/client/dispatch.rs
@@ -164,6 +164,12 @@ fn handle_event<H: EventHandler + 'static>(event: Event,
Ok(())
});
},
+ Channel::Category(channel) => {
+ tokio_handle.spawn_fn(move || {
+ h.on_category_create(context, channel);
+ Ok(())
+ });
+ },
}
},
Event::ChannelDelete(event) => {
@@ -181,6 +187,13 @@ fn handle_event<H: EventHandler + 'static>(event: Event,
Ok(())
});
},
+ Channel::Category(channel) => {
+ let h = event_handler.clone();
+ tokio_handle.spawn_fn(move || {
+ h.on_category_delete(context, channel);
+ Ok(())
+ });
+ },
}
},
Event::ChannelPinsUpdate(event) => {
diff --git a/src/client/event_handler.rs b/src/client/event_handler.rs
index 03a2f2e..6e3c78e 100644
--- a/src/client/event_handler.rs
+++ b/src/client/event_handler.rs
@@ -11,6 +11,8 @@ pub trait EventHandler {
#[cfg(feature = "cache")]
fn on_cached(&self, _: Context, _: Vec<GuildId>) {}
fn on_channel_create(&self, _: Context, _: Arc<RwLock<GuildChannel>>) {}
+ fn on_category_create(&self, _: Context, _: Arc<RwLock<ChannelCategory>>) {}
+ fn on_category_delete(&self, _: Context, _: Arc<RwLock<ChannelCategory>>) {}
fn on_private_channel_create(&self, _: Context, _: Arc<RwLock<PrivateChannel>>) {}
fn on_channel_delete(&self, _: Context, _: Arc<RwLock<GuildChannel>>) {}
fn on_channel_pins_update(&self, _: Context, _: ChannelPinsUpdateEvent) {}