mirror of
https://framagit.org/veretcle/scootaloo.git
synced 2025-07-21 17:34:37 +02:00
feat: add scootaloo_mentions hash from config file to be inserted into mentions
This commit is contained in:
@@ -48,14 +48,18 @@ pub fn get_mastodon_token(masto: &MastodonConfig) -> Mastodon {
|
||||
}
|
||||
|
||||
/// Builds toot text from tweet
|
||||
pub fn build_basic_status(tweet: &Tweet) -> String {
|
||||
pub fn build_basic_status(tweet: &Tweet, mentions: &HashMap<String, String>) -> String {
|
||||
let mut toot = tweet.text.to_owned();
|
||||
|
||||
for decoded_url in decode_urls(&tweet.entities.urls) {
|
||||
toot = toot.replace(&decoded_url.0, &decoded_url.1);
|
||||
}
|
||||
|
||||
for decoded_mention in twitter_mentions(&tweet.entities.user_mentions) {
|
||||
for decoded_mention in twitter_mentions(&tweet.entities.user_mentions)
|
||||
.into_iter()
|
||||
.chain(mentions.to_owned())
|
||||
.collect::<HashMap<String, String>>()
|
||||
{
|
||||
toot = toot.replace(&decoded_mention.0, &decoded_mention.1);
|
||||
}
|
||||
|
||||
@@ -192,7 +196,13 @@ mod tests {
|
||||
range: (80, 95),
|
||||
name: "Nintendo France".to_string(),
|
||||
screen_name: "NintendoFrance".to_string(),
|
||||
}
|
||||
},
|
||||
MentionEntity {
|
||||
id: 999999999,
|
||||
range: (80, 95),
|
||||
name: "Willy Wonka".to_string(),
|
||||
screen_name: "WillyWonka".to_string(),
|
||||
},
|
||||
],
|
||||
media: None,
|
||||
},
|
||||
@@ -213,7 +223,7 @@ mod tests {
|
||||
retweeted: None,
|
||||
retweeted_status: None,
|
||||
source: None,
|
||||
text: "Mother 1 & 2 sur le NES/SNES online !\nDispo maintenant. cc @NintendoFrance https://t.co/zXw0FfX2Nt".to_string(),
|
||||
text: "Mother 1 & 2 sur le NES/SNES online !\nDispo maintenant. cc @NintendoFrance @WillyWonka https://t.co/zXw0FfX2Nt".to_string(),
|
||||
truncated: false,
|
||||
user: None,
|
||||
withheld_copyright: false,
|
||||
@@ -221,8 +231,13 @@ mod tests {
|
||||
withheld_scope: None,
|
||||
};
|
||||
|
||||
let t_out = build_basic_status(&t);
|
||||
let s: HashMap<String, String> = HashMap::from([(
|
||||
"@WillyWonka".to_string(),
|
||||
"@WillyWonka@chocolatefactory.org".to_string(),
|
||||
)]);
|
||||
|
||||
assert_eq!(&t_out, "Mother 1 & 2 sur le NES/SNES online !\nDispo maintenant. cc @NintendoFrance@twitter.com https://www.youtube.com/watch?v=w5TrSaoYmZ8");
|
||||
let t_out = build_basic_status(&t, &s);
|
||||
|
||||
assert_eq!(&t_out, "Mother 1 & 2 sur le NES/SNES online !\nDispo maintenant. cc @NintendoFrance@twitter.com @WillyWonka@chocolatefactory.org https://www.youtube.com/watch?v=w5TrSaoYmZ8");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user