From cae27540dba42917bacf1a235d4e4799cd099d02 Mon Sep 17 00:00:00 2001 From: iximeow Date: Mon, 16 Oct 2017 23:24:52 -0700 Subject: render quoted tweets double-post bug if you are the author of the quoting tweet because you see the event AND your tweet in your feed --- src/tw/events.rs | 8 +++++++- src/tw/mod.rs | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src/tw') 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, 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()); -- cgit v1.1