diff options
Diffstat (limited to 'src/tw')
-rw-r--r-- | src/tw/events.rs | 8 | ||||
-rw-r--r-- | src/tw/mod.rs | 4 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/tw/events.rs b/src/tw/events.rs index 0541b0a..c26a840 100644 --- a/src/tw/events.rs +++ b/src/tw/events.rs @@ -6,6 +6,7 @@ pub enum Event { Fav_RT { user_id: String, twete_id: String }, Fav { user_id: String, twete_id: String }, Unfav { user_id: String, twete_id: String }, + Quoted { user_id: String, twete_id: String }, Followed { user_id: String }, Unfollowed { user_id: String } } @@ -35,9 +36,14 @@ impl Event { user_id: structure["source"]["id_str"].as_str().unwrap().to_owned(), twete_id: structure["target_object"]["id_str"].as_str().unwrap().to_owned() }), + &"quoted_tweet" => Some(Event::Quoted { + user_id: structure["source"]["id_str"].as_str().unwrap().to_owned(), + twete_id: structure["target_object"]["id_str"].as_str().unwrap().to_owned() + }), +// &"list_member_added" => +// what about removed? // &"blocked" => Blocked { }, // &"unblocked" => Unblocked { }, -// &"quoted_tweet" => ???, e => { println!("unrecognized event: {}", e); None } } } diff --git a/src/tw/mod.rs b/src/tw/mod.rs index 9433e45..710bf59 100644 --- a/src/tw/mod.rs +++ b/src/tw/mod.rs @@ -241,6 +241,10 @@ impl TwitterCache { pub fn cache_api_event(&mut self, json: serde_json::Map<String, serde_json::Value>, mut queryer: &mut ::Queryer) { /* don't really care to hold on to who fav, unfav, ... when, just pick targets out. */ match json.get("event").and_then(|x| x.as_str()) { + Some("quoted_tweet") => { + self.cache_api_tweet(json["target_object"].clone()); + self.cache_api_user(json["source"].clone()); + }, Some("favorite") => { self.cache_api_tweet(json["target_object"].clone()); self.cache_api_user(json["source"].clone()); |