diff options
author | iximeow <me@iximeow.net> | 2017-10-21 14:02:37 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2017-10-21 14:02:37 -0700 |
commit | 70cf5cc0d6e60706019f60dcda6bfa4baa959bf4 (patch) | |
tree | 3c7c87923a26a3d3b8482e6c1214c194670cbd3e /src/tw | |
parent | aa3c4e239f4932de1d89a03bd6c9103957199dbf (diff) |
fix bug with @s not going through in conversations
split included @, meaning no handle started with @, so get_mentions() returned empty vec
Diffstat (limited to 'src/tw')
-rw-r--r-- | src/tw/tweet.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/tw/tweet.rs b/src/tw/tweet.rs index 72802ca..a3fdde3 100644 --- a/src/tw/tweet.rs +++ b/src/tw/tweet.rs @@ -22,17 +22,19 @@ pub struct Tweet { } impl Tweet { - pub fn get_mentions(&self) -> Vec<&str> { + pub fn get_mentions(&self) -> Vec<String> { self.text.split(&[ ',', '.', '/', ';', '\'', '[', ']', '\\', '~', '!', - '@', '#', '$', '%', '^', + '#', '$', '%', '^', '&', '*', '(', ')', '-', '=', '{', '}', '|', ':', '"', '<', '>', '?', '`', ' ' // forgot this initially. awkward. ][..]) - .filter(|x| x.starts_with("@") && x.len() > 1) + .filter(|x| x.starts_with("@") && x.len() > 1 && x.chars().skip(1).all(|c| c != '@')) + // discard @, mentions are just the usernames. + .map(|handle| handle.chars().skip(1).collect()) .collect() } |