diff options
| author | Zeyla Hellyer <[email protected]> | 2017-06-01 22:37:08 -0700 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-06-01 22:37:08 -0700 |
| commit | 831c1c73410d0dd494a9697a3c4f2551637e3f2a (patch) | |
| tree | d1dcb2c3d4dd2a740ec4098a9eb4fcbcfdb19926 /src/client/dispatch.rs | |
| parent | Fix no-feature compilations (diff) | |
| download | serenity-831c1c73410d0dd494a9697a3c4f2551637e3f2a.tar.xz serenity-831c1c73410d0dd494a9697a3c4f2551637e3f2a.zip | |
Fix client-feature, no-model compiles
Some of the methods used in the client dispatch, namely `Channel::id`
and `Message::transform_content`, are not _required_ for functionality
by the dispatcher. Since these methods are `model` features, they can be
gated behind a `model` feature cfg.
Diffstat (limited to 'src/client/dispatch.rs')
| -rw-r--r-- | src/client/dispatch.rs | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/client/dispatch.rs b/src/client/dispatch.rs index 648cea7..c012fda 100644 --- a/src/client/dispatch.rs +++ b/src/client/dispatch.rs @@ -112,7 +112,10 @@ fn dispatch_message(context: Context, event_store: &Arc<RwLock<EventStore>>) { if let Some(handler) = handler!(on_message, event_store) { thread::spawn(move || { - message.transform_content(); + #[cfg(feature="model")] + { + message.transform_content(); + } (handler)(context, message); }); @@ -128,7 +131,15 @@ fn handle_event(event: Event, Event::ChannelCreate(event) => { if let Some(handler) = handler!(on_channel_create, event_store) { update!(update_with_channel_create, event); - let context = context(Some(event.channel.id()), conn, data); + + let mut channel_id = None; + + #[cfg(feature="model")] + { + channel_id = Some(event.channel.id()); + } + + let context = context(channel_id, conn, data); thread::spawn(move || (handler)(context, event.channel)); } else { @@ -172,7 +183,14 @@ fn handle_event(event: Event, }, Event::ChannelUpdate(event) => { if let Some(handler) = handler!(on_channel_update, event_store) { - let context = context(Some(event.channel.id()), conn, data); + let mut channel_id = None; + + #[cfg(feature="model")] + { + channel_id = Some(event.channel.id()); + } + + let context = context(channel_id, conn, data); feature_cache! {{ let before = CACHE.read().unwrap().channel(event.channel.id()); |