aboutsummaryrefslogtreecommitdiff
path: root/src/client/dispatch.rs
diff options
context:
space:
mode:
authorAdelyn <[email protected]>2018-08-26 15:25:33 -0600
committerzeyla <[email protected]>2018-08-26 14:25:33 -0700
commit27ccf2c9c8ce785b54595eaabcebf86db07bf5bc (patch)
tree6a19d241626a082ecf06c0cf626463f0ea2df7bd /src/client/dispatch.rs
parentMove low-level http functions to a raw module (diff)
downloadserenity-27ccf2c9c8ce785b54595eaabcebf86db07bf5bc.tar.xz
serenity-27ccf2c9c8ce785b54595eaabcebf86db07bf5bc.zip
Old message on update (#368)
Diffstat (limited to 'src/client/dispatch.rs')
-rw-r--r--src/client/dispatch.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/client/dispatch.rs b/src/client/dispatch.rs
index 3e3bcfa..e201852 100644
--- a/src/client/dispatch.rs
+++ b/src/client/dispatch.rs
@@ -497,13 +497,20 @@ fn handle_event<H: EventHandler + Send + Sync + 'static>(
});
},
DispatchEvent::Model(Event::MessageUpdate(mut event)) => {
- update!(event);
+ let _before = update!(event);
let context = context(data, runner_tx, shard_id);
let event_handler = Arc::clone(event_handler);
threadpool.execute(move || {
- event_handler.message_update(context, event);
+ feature_cache! {{
+ let after = CACHE.read().message(event.channel_id, event.id);
+ if let Some(after) = after {
+ event_handler.message_update(context, _before, after);
+ }
+ } else {
+ event_handler.message_update(context, event);
+ }}
});
},
DispatchEvent::Model(Event::PresencesReplace(mut event)) => {